about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools')
-rw-r--r--nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/devour/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/X11/find-cursor/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/X11/grobi/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/X11/hsetroot/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/X11/nx-libs/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix152
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix462
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix12
-rwxr-xr-xnixpkgs/pkgs/tools/X11/opentabletdriver/update.sh64
-rw-r--r--nixpkgs/pkgs/tools/X11/virtualgl/lib.nix22
-rw-r--r--nixpkgs/pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/x11spice/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/X11/x11vnc/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xwallpaper/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/admin/awsweeper/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix162
-rw-r--r--nixpkgs/pkgs/tools/admin/bluemix-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/chamber/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/admin/chkcrontab/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/credhub-cli/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/admin/daemontools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/dehydrated/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/lexicon/default.nix74
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/mycli/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/admin/nomachine-client/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/oxidized/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/procs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix170
-rwxr-xr-xnixpkgs/pkgs/tools/admin/pulumi/update.sh42
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/ssmsh/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/admin/stripe-cli/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/admin/swiftclient/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/trivy/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/admin/vncdo/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/archivers/arc_unpacker/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/archivers/ctrtool/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/archivers/p7zip/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/p7zip/gcc10.patch40
-rw-r--r--nixpkgs/pkgs/tools/archivers/pax/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/archivers/unarj/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/archivers/xarchiver/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/aucdtect/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/audio/audiowaveform/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch21
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/bash-completion-always-print.patch43
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/compatibility-with-breaking-changes-to-the-ast-module.patch55
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch43
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/default.nix179
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/keyfinder-default-bin.patch20
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/mutagen-1.43.patch40
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/plugins/alternatives.nix (renamed from nixpkgs/pkgs/tools/audio/beets/alternatives-plugin.nix)0
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/plugins/check-tests.patch (renamed from nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch)0
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/plugins/check.nix (renamed from nixpkgs/pkgs/tools/audio/beets/check-plugin.nix)0
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/plugins/copyartifacts.nix (renamed from nixpkgs/pkgs/tools/audio/beets/copyartifacts-plugin.nix)0
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/plugins/extrafiles.nix (renamed from nixpkgs/pkgs/tools/audio/beets/extrafiles-plugin.nix)0
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/replaygain-default-bs1770gain.patch17
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch26
-rw-r--r--nixpkgs/pkgs/tools/audio/ezstream/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/kaldi/default.nix88
-rw-r--r--nixpkgs/pkgs/tools/audio/mpd-mpris/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/audio/pasystray/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/audio/picotts/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/playerctl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/tts/default.nix123
-rw-r--r--nixpkgs/pkgs/tools/audio/volctl/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/backup/amazon-glacier-cmd-interface/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/backup/bacula/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/backup/bdsync/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/borg/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/bup/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/dar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/dirvish/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicacy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicacy/deps.nix188
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicity/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch18
-rw-r--r--nixpkgs/pkgs/tools/backup/kopia/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/backup/monolith/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/mydumper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/ori/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/partimage/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/pyznap/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/restic/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/backup/restic/rest-server.nix19
-rw-r--r--nixpkgs/pkgs/tools/backup/stenc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/tarsnap/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/wal-e/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/backup/wal-g/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/zfsbackup/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix1171
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/bluez-alsa/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch25
-rw-r--r--nixpkgs/pkgs/tools/bootloaders/refind/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/compression/brotli/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/compression/bzip2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/flips/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/compression/flips/use-system-libdivsufsort.patch15
-rw-r--r--nixpkgs/pkgs/tools/compression/lz4/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/compression/lzbench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/compression/pbzx/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/pigz/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/compression/xz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/filesystems/apfs-fuse/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcache-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bees/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch63
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/filesystems/convoy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/darling-dmg/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/filesystems/davfs2/0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch42
-rw-r--r--nixpkgs/pkgs/tools/filesystems/davfs2/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/filesystems/dislocker/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/duperemove/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/f3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fatresize/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch74
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix68
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch27
-rw-r--r--nixpkgs/pkgs/tools/filesystems/hfsprogs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/httpfs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/idsk/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ifuse/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/irods/common.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/filesystems/moosefs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/filesystems/netatalk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nixpart/0.4/parted.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/rar2fs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/romdirfs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch640
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sftpman/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfuse/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/zkfuse/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/graphics/asymptote/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/graphics/asymptote/default.upstream4
-rw-r--r--nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix50
-rw-r--r--nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/dpic/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/exifprobe/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/graphics/gifski/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/gmic/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/base.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/imgur-screenshot/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/graphics/jhead/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/kst/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/graphics/ldgallery/compiler/default.nix37
-rwxr-xr-xnixpkgs/pkgs/tools/graphics/ldgallery/compiler/generate.sh19
-rw-r--r--nixpkgs/pkgs/tools/graphics/ldgallery/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/graphics/ldgallery/viewer/default.nix53
-rwxr-xr-xnixpkgs/pkgs/tools/graphics/ldgallery/viewer/generate.sh34
-rw-r--r--nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix17
-rw-r--r--nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix13269
-rw-r--r--nixpkgs/pkgs/tools/graphics/netpbm/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/graphics/optar/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/optipng/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/graphics/oxipng/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/graphics/pfstools/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/graphics/piglit/default.nix77
-rw-r--r--nixpkgs/pkgs/tools/graphics/resvg/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/graphics/vips/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/viu/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix87
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/graphics/yafaray-core/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/hime/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/keyfuzz/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/netevent/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/misc/3mux/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/agedu/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/aptly/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/archi/default.nix61
-rw-r--r--nixpkgs/pkgs/tools/misc/as-tree/cargo-lock.patch13
-rw-r--r--nixpkgs/pkgs/tools/misc/as-tree/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/asciinema-scenario/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/autojump/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/autorandr/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/bandwidth/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/barman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bat/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/betterdiscordctl/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/misc/birdfont/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bmon/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/buildtorrent/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/byobu/default.nix65
-rw-r--r--nixpkgs/pkgs/tools/misc/calamares/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/misc/chafa/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cht.sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/clac/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/clex/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/cloud-utils/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/cod/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/code-minimap/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/codebraid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/colord/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/convbin/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/misc/convfont/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/convimg/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/avoid-false-positive-in-date-debug-test.patch52
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-android-cross.patch51
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch1153
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch45
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch100
-rw-r--r--nixpkgs/pkgs/tools/misc/cp437/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/crudini/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/cutecom/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/dateutils/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/ddate/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/debianutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dijo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/direnv/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/disfetch/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/dmg2img/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/docker-ls/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/dua/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/duf/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/envchain/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/esptool/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/etcher/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ethminer/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/eva/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/execline/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/fbcat/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/fd/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/fend/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/fet-sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ffsend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/findutils/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch45
-rw-r--r--nixpkgs/pkgs/tools/misc/flameshot/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/flashrom/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/fix-luajit-darwin.patch14
-rw-r--r--nixpkgs/pkgs/tools/misc/fortune/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/fselect/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/fsmon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fzf/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/gammy/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/gh-ost/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/misc/gibo/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/gif-for-cli/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/git-town/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/go.rice/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/goaccess/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/goreleaser/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/gotify-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/gparted/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/plugins.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/grex/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/misc/hacksaw/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf4/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/1_8.nix75
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/hdl-dump/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/misc/hebcal/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock8
-rw-r--r--nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/hyperfine/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/ical2org/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/ideviceinstaller/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/idevicerestore/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/ink/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/intermodal/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ipxe/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/jdiskreport/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/jdupes/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/jugglinglab/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/kargo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/kcollectd/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/misc/kepubify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/kermit/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/lazydocker/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/lbdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/less/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/lf/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/lice/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/licensor/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/logstash/6.x.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/logstash/7.x.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/logstash/contrib.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/logtop/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/lsd/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/mbuffer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mcfly/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/microplane/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/misc/microplane/deps.nix228
-rw-r--r--nixpkgs/pkgs/tools/misc/miniserve/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/mmv-go/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/mons/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/mstflint/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/mutagen/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/mysql2pgsql/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/nix-direnv/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/noti/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/nvimpager/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/misc/nyancat/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/onefetch/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/opentsdb/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ostree/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ovh-ttyrec/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/page/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/pandoc-lua-filters/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/pandoc-plantuml-filter/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff17
-rw-r--r--nixpkgs/pkgs/tools/misc/parted/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/partition-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pastebinit/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/patdiff/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pdd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pfsshell/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/pg_flame/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/pgcenter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pgmetrics/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/phraseapp-client/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/picocom/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/misc/pipreqs/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/pistol/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml-server/default.nix58
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/plowshare/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/powerline-go/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/powerline-rs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/pspg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/radeon-profile/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rmlint/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/rmtrash/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/shallot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/shunit2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/silicon/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/skim/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/slurp/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/smenu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/snapper/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/somafm-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/spigot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/misc/staruml/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/statserial/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/swaglyrics/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/misc/sweep-visualizer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/systrayhelper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tagref/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/td/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/thefuck/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/tmuxinator/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/topgrade/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/toybox/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/trash-cli/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/ttygif/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ttyrec/clang-fixes.patch21
-rw-r--r--nixpkgs/pkgs/tools/misc/ttyrec/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/tydra/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/ugtrain/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/up/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/up/gomod.patch23
-rw-r--r--nixpkgs/pkgs/tools/misc/urjtag/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/usbmuxd/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/misc/vimv/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/vivid/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/vix/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/wacomtablet/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/watchexec/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/websocat/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/woeusb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/woof/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/wootility/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/wsl-open/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/xdummy/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/xfstests/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/xsel/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/xvfb-run/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yad/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yle-dl/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/you-get/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/z-lua/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/zalgo/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/zoxide/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/zsh-autoenv/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/6tunnel/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/airfield/node.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/amass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/aria2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/axel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/bandwhich/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/bud/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/bukubrow/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch26
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch13
-rw-r--r--nixpkgs/pkgs/tools/networking/cjdns/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/cksfv/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/clash/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/corerad/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/test-local-relay.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/curl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/curlie/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/davix/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcp/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsperf/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstracer/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dogdns/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/networking/driftnet/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/drill/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/dropbear/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/dsniff/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/easyrsa/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/easyrsa/fix-paths.patch48
-rw-r--r--nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/fastd/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/fdm/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/findomain/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/flannel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/frp/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/gnirehtet/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/gnirehtet/paths.patch48
-rw-r--r--nixpkgs/pkgs/tools/networking/goimapnotify/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/goreplay/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/gping/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcurl/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcurl/deps.nix183
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/hey/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/httpstat/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/networking/i2p/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/igmpproxy/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/networking/inadyn/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/iperf/3.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/kapp/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/networking/kea/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/keepalived/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/linkchecker/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mailutils/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/maxscale/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/mcrcon/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/megatools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/minidlna/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/modem-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mosh/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/mozwire/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/nebula/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/dmenu/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/libnma/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/sstp/default.nix64
-rw-r--r--nixpkgs/pkgs/tools/networking/nfdump/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/nfstrace/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-2/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/nxdomain/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/ocserv/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/olsrd/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/oneshot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/openfortivpn/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/networking/openntpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/ssh-copy-id-fix-eof.patch21
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/default.nix112
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/amule/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/networking/packetdrill/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/networking/packetdrill/nix.patch24
-rw-r--r--nixpkgs/pkgs/tools/networking/pdsh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/persepolis/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/photon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/pmacct/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/privoxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/proxify/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/proxychains/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/qr-filetransfer/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/qr-filetransfer/deps.nix66
-rw-r--r--nixpkgs/pkgs/tools/networking/qrcp/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/networking/quickserve/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/radsecproxy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/rcon/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/saldl/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/shorewall/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/siege/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/smartdns/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/ssh-askpass-fullscreen/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/sshping/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/ssldump/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/sstp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/subfinder/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpreplay/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/telepresence/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/tendermint/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/tgt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tinc/pre.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tox-node/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/trickle/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/tunnelto/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/networking/urlwatch/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix37
-rwxr-xr-xnixpkgs/pkgs/tools/networking/v2ray/update.sh8
-rw-r--r--nixpkgs/pkgs/tools/networking/vegeta/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/vegeta/deps.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/waitron/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/waitron/deps.nix57
-rw-r--r--nixpkgs/pkgs/tools/networking/waitron/staticfiles-directory.patch13
-rw-r--r--nixpkgs/pkgs/tools/networking/wavemon/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/zerotierone/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/nix/cached-nix-shell/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/nix/dnadd/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/nix/nar-serve/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/nix/nix-output-monitor/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/nix/nix-script/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/nix/nixos-generators/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/apk-tools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-about/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix272
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch (renamed from nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.1.patch)80
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-update/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/cde/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/dydisnix/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/package-management/elm-github-install/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/emplace/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/gx/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/gx/go/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/libdnf/darwin.patch35
-rw-r--r--nixpkgs/pkgs/tools/package-management/libdnf/default.nix66
-rw-r--r--nixpkgs/pkgs/tools/package-management/librepo/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/licensee/Gemfile.lock8
-rw-r--r--nixpkgs/pkgs/tools/package-management/licensee/gemset.nix12
-rw-r--r--nixpkgs/pkgs/tools/package-management/microdnf/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/package-management/morph/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/mynewt-newt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-update-source/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-update/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/generic.nix3
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixui/nixui.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/packagekit/qt.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/protontricks/default.nix52
-rw-r--r--nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch254
-rw-r--r--nixpkgs/pkgs/tools/package-management/rpm/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/security/1password-gui/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/security/acsccid/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/aflplusplus/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/aide/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/aws-okta/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/b3sum/cargo-lock.patch (renamed from nixpkgs/pkgs/tools/security/b3sum/add-cargo-lock.patch)162
-rw-r--r--nixpkgs/pkgs/tools/security/b3sum/default.nix10
-rwxr-xr-xnixpkgs/pkgs/tools/security/b3sum/update-cargo-lock.sh19
-rw-r--r--nixpkgs/pkgs/tools/security/bash-supergenpass/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cfssl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/chipsec/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/clamav/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/clevis/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/crackxls/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/creddump/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/dnsx/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/doas/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/doppler/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/ecdsatool/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/ecryptfs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/eid-mw/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/enpass/data.json10
-rw-r--r--nixpkgs/pkgs/tools/security/enpass/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/ffuf/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/fido2luks/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/fpm2/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/gau/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/genpass/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/gnu-pw-mgr/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/22.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/gobuster/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gospider/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/hashdeep/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/hcxdumptool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/hologram/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/honggfuzz/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/httpx/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/ipscan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/jadx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/jd-gui/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/jwt-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/kbs2/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/gui.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/keysmith/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/security/kpcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/lynis/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock257
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix358
-rwxr-xr-xnixpkgs/pkgs/tools/security/metasploit/update.sh17
-rw-r--r--nixpkgs/pkgs/tools/security/minica/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/naabu/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/security/ncrack/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/security/neopg/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/nmap/qt.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/notary/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/nuclei/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/security/onioncircuits/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey-cli/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/security/opensc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/pass/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/0001-Fix-installation-with-Nix.patch41
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/import.nix38
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/update.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/pass/rofi-pass.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pcsc-scm-scl011/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/phrasendrescher/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/rage/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/rbw/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/rustscan/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/security/saml2aws/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/scrypt/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/secp256k1/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/sequoia/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/snallygaster/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/security/snow/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/sonar-scanner-cli/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ssh-audit/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/security/sshguard/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/deps.nix291
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/deps.nix453
-rw-r--r--nixpkgs/pkgs/tools/security/sudo/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/sudolikeaboss/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/super/0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch51
-rw-r--r--nixpkgs/pkgs/tools/security/super/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/teler/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/thc-ipv6/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/vault/vault-bin.nix16
-rw-r--r--nixpkgs/pkgs/tools/security/volatility/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/wad/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/security/zzuf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/bfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/bottom/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/system/bpytop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/clinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/colorls/Gemfile.lock4
-rw-r--r--nixpkgs/pkgs/tools/system/colorls/gemset.nix16
-rw-r--r--nixpkgs/pkgs/tools/system/ctop/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/daemon/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/system/efivar/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/system/facter/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/fio/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/hostctl/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/system/htop/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/incron/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/inxi/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/jump/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/kmon/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/memtester/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/minijail/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/mlc/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/system/monit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/nvtop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/opencl-info/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff22
-rw-r--r--nixpkgs/pkgs/tools/system/pciutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/pcstat/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/rocm-smi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/rofi-systemd/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/s6/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/safe-rm/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/snooze/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/testdisk/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/thinkfan/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/system/throttled/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/tre-command/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/tuptime/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/uefitool/variants.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/ytop/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/system/zenith/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/amber/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/angle-grinder/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/asciigraph/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/text/chars/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/text/chroma/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/text/csvkit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/dos2unix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/fastmod/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/gnugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/groff/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/groff/site.tmac3
-rw-r--r--nixpkgs/pkgs/tools/text/gtranslator/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/highlight/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/jsawk/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/kdiff3/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/languagetool/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/ledger2beancount/default.nix58
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdcat/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/text/miller/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/ocrmypdf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/pbgopy/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/text/platinum-searcher/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/poedit/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/text/recode/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/rgxg/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/text/ripgrep/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/text/rst2html5/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/text/ruplacer/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/sd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/shfmt/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/text/sift/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/snippetpixie/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ucg/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/uwc/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vgrep/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/text/xml/basex/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile1
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock9
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix42
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/typesetting/bibclean/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/typesetting/biber/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/kindlegen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/typesetting/kramdown-asciidoc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/lowdown/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/add-glib-cmake.patch17
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdftk/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdftk/legacy.nix1
-rw-r--r--nixpkgs/pkgs/tools/typesetting/rubber/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/typesetting/scdoc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/sile/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/skribilo/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tectonic/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/typesetting/ted/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/nix/run-latex.sh25
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix194
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix12
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch16
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix5508
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix8583
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/poppler84.patch43
-rw-r--r--nixpkgs/pkgs/tools/typesetting/xmlto/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/video/atomicparsley/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/video/bento4/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/video/rav1e/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch (renamed from nixpkgs/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch)50
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix89
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloudmonkey/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/virtualization/nixos-container/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/virtualization/nixos-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/rootlesskit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/wayland/wlsunset/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/wayland/wtype/default.nix34
903 files changed, 33525 insertions, 13448 deletions
diff --git a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
index c161a7c77378..4f709ee9db08 100644
--- a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
@@ -1,5 +1,5 @@
 { gdk-pixbuf, glib, gobject-introspection, gtk3, lib, libnotify,
-  python3Packages, wrapGAppsHook
+  procps, xset, xautolock, xscreensaver, python3Packages, wrapGAppsHook
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -12,17 +12,25 @@ python3Packages.buildPythonApplication rec {
   };
 
   nativeBuildInputs = [ wrapGAppsHook glib ];
-  buildInputs = [ 
-    gdk-pixbuf gobject-introspection libnotify gtk3 
+  buildInputs = [
+    gdk-pixbuf gobject-introspection libnotify gtk3
     python3Packages.setuptools_scm
   ];
   pythonPath = with python3Packages; [
     dbus-python docopt ewmh pygobject3 pyxdg
-    setproctitle 
+    setproctitle
   ];
 
   doCheck = false; # There are no tests.
 
+  postPatch = ''
+    substituteInPlace caffeine/inhibitors.py \
+      --replace 'os.system("xset' 'os.system("${xset}/bin/xset' \
+      --replace 'os.system("xautolock' 'os.system("${xautolock}/bin/xautolock' \
+      --replace 'os.system("pgrep' 'os.system("${procps}/bin/pgrep' \
+      --replace 'os.system("xscreensaver-command' 'os.system("${xscreensaver}/bin/xscreensaver-command'
+  '';
+
   postInstall = ''
     mkdir -p $out/share
     cp -r share $out/
diff --git a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
index 91e067e7be71..275fe38611de 100644
--- a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.196";
+  version = "1.199";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "0c79rycgpna8910as6blw3z3sajzzakz4qlvr6js2yr8zq2d0ylg";
+    sha256 = "0jvnxmqhfmj4aywskr2bk1q5p5fl8s4k4bch89965vcwi9bplalf";
   };
 
   buildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/tools/X11/devour/default.nix b/nixpkgs/pkgs/tools/X11/devour/default.nix
new file mode 100644
index 000000000000..4f39c0a98904
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/devour/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "devour";
+  version = "12";
+
+  src = fetchFromGitHub {
+    owner = "salman-abedin";
+    repo = "devour";
+    rev = version;
+    sha256 = "1qq5l6d0fn8azg7sj7a4m2jsmhlpswl5793clcxs1p34vy4wb2lp";
+  };
+
+  installPhase = ''
+    install -Dm555 -t $out/bin devour
+  '';
+
+  buildInputs = [ libX11 ];
+
+  meta = with stdenv.lib; {
+    description = "Devour hides your current window when launching an external program";
+    longDescription = "Devour hides your current window before launching an external program and unhides it after quitting";
+    homepage = "https://github.com/salman-abedin/devour";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ mazurel ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
new file mode 100644
index 000000000000..13f274577887
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, libX11, libXdamage, libXrender, libXcomposite, libXext, installShellFiles, git }:
+
+stdenv.mkDerivation rec {
+  pname = "find-cursor";
+  version = "1.6";
+
+  src = fetchFromGitHub {
+    owner = "arp242";
+    repo = "find-cursor";
+    rev = "v${version}";
+    sha256 = "13lpcxklv9ayqapyk9pmwxkinhxah5hkr6n0jc2m5hm68nh220w1";
+  };
+
+  nativeBuildInputs = [ installShellFiles git ];
+  buildInputs = [ libX11 libXdamage libXrender libXcomposite libXext ];
+  preInstall = "mkdir -p $out/share/man/man1";
+  installFlags = "PREFIX=${placeholder "out"}";
+
+  meta = with stdenv.lib; {
+    description = "Simple XLib program to highlight the cursor position";
+    homepage = "https://github.com/arp242/find-cursor";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.yanganto ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/grobi/default.nix b/nixpkgs/pkgs/tools/X11/grobi/default.nix
index 111d064ad887..9d10dd478818 100644
--- a/nixpkgs/pkgs/tools/X11/grobi/default.nix
+++ b/nixpkgs/pkgs/tools/X11/grobi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildGoModule }:
+{ stdenv, fetchFromGitHub, buildGoModule, fetchpatch }:
 
 buildGoModule rec {
   version = "0.6.0";
@@ -13,6 +13,14 @@ buildGoModule rec {
 
   vendorSha256 = "1ibwx5rbxkygfx78j3g364dmbwwa5b34qmzq3sqcbrsnv8rzrwvj";
 
+  patches = [
+    # fix failing test on go 1.15
+    (fetchpatch {
+      url = "https://github.com/fd0/grobi/commit/176988ab087ff92d1408fbc454c77263457f3d7e.patch";
+      sha256 = "0j8y3gns4lm0qxqxzmdn2ll0kq34mmfhf83lvsq13iqhp5bx3y31";
+    })
+  ];
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/fd0/grobi";
     description = "Automatically configure monitors/outputs for Xorg via RANDR";
diff --git a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
index 3bfe98a7a211..0d42687bf0b0 100644
--- a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
@@ -1,36 +1,40 @@
-{ stdenv, fetchurl, autoconf, automake, imlib2, libtool, libX11, pkgconfig, xorgproto }:
+{ stdenv
+, fetchFromGitHub
+, pkg-config
+, imlib2
+, libX11
+, libXinerama
+}:
 
 stdenv.mkDerivation rec {
   pname = "hsetroot";
-  version = "1.0.2";
+  version = "1.0.5";
 
-  # The primary download site seems to no longer exist; use Gentoo's mirror for now.
-  src = fetchurl {
-    url = "http://mirror.datapipe.net/gentoo/distfiles/hsetroot-${version}.tar.gz";
-    sha256 = "d6712d330b31122c077bfc712ec4e213abe1fe71ab24b9150ae2774ca3154fd7";
+  src = fetchFromGitHub {
+    owner = "himdel";
+    repo = "hsetroot";
+    rev = version;
+    sha256 = "1jbk5hlxm48zmjzkaq5946s58rqwg1v1ds2sdyd2ba029hmvr722";
   };
 
-  # See https://bugs.gentoo.org/show_bug.cgi?id=504056
-  underlinkingPatch = fetchurl {
-    url = "http://www.gtlib.gatech.edu/pub/gentoo/gentoo-x86-portage/x11-misc/hsetroot/files/hsetroot-1.0.2-underlinking.patch";
-    name = "hsetroot-1.0.2-underlinking.patch";
-    sha256 = "1px1p3wz7ji725z9nlwb0x0h6lnnvnpz15sblzzq7zrijl3wz65x";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake imlib2 libtool libX11 xorgproto ];
-
-  patches = [ underlinkingPatch ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    imlib2
+    libX11
+    libXinerama
+  ];
 
-  patchFlags = [ "-p0" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  preConfigure = "./autogen.sh";
+  preInstall = ''
+    mkdir -p "$out/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "Allows you to compose wallpapers ('root pixmaps') for X";
-    homepage = "https://thegraveyard.org/hsetroot.html";
+    homepage = "https://github.com/himdel/hsetroot";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.henrytill ];
+    maintainers = with maintainers; [ henrytill shamilton ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/nx-libs/default.nix b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
index ceb2534e07aa..807282fae598 100644
--- a/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, autoconf, automake, fetchFromGitHub, libgcc, libjpeg_turbo,
-  libpng, libtool, libxml2, pkgconfig, which, xorg }:
+{ stdenv, autoconf, automake, fetchFromGitHub, libgcc, libjpeg_turbo
+, libpng, libtool, libxml2, pkgconfig, which, xorg
+, libtirpc
+}:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.24";
+  version = "3.5.99.25";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "0knx4phya90ahjxaflkvnnb7w22vdwjf7r78dhzmbmlccnlvwi7q";
+    sha256 = "01aqdwy0i4nxdyfa24bwnrqjz93q0idihdaqals2yjqpg160nwfc";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig which
@@ -15,7 +17,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libgcc libjpeg_turbo libpng libxml2 xorg.fontutil
     xorg.libXcomposite xorg.libXdamage xorg.libXdmcp xorg.libXext xorg.libXfont2
     xorg.libXinerama xorg.libXpm xorg.libXrandr xorg.libXtst xorg.pixman
-    xorg.xkbcomp xorg.xkeyboardconfig ];
+    xorg.xkbcomp xorg.xkeyboardconfig libtirpc
+  ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
+  NIX_LDFLAGS = [ "-ltirpc" ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
new file mode 100644
index 000000000000..6f8f9e44cc4a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
@@ -0,0 +1,152 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchurl
+, makeWrapper
+, linkFarmFromDrvs
+, dotnet-netcore
+, dotnet-sdk
+, dotnetPackages
+, dpkg
+, gtk3
+, libX11
+, libXrandr
+, libappindicator
+, libevdev
+, libnotify
+, udev
+, makeDesktopItem
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "OpenTabletDriver";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "InfinityGhost";
+    repo = "OpenTabletDriver";
+    rev = "v${version}";
+    sha256 = "048y7gjlk2yw4vh62px1d9w0va6ap1a0cndcpbirlyj9q6b8jxax";
+  };
+
+  debPkg = fetchurl {
+    url = "https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
+    sha256 = "13gg0dhvjy88h9lhcrp30fjiwgb9dzjsgk1k760pi1ki71a5vz2r";
+  };
+
+  nativeBuildInputs = [
+    dotnet-sdk
+    dotnetPackages.Nuget
+    dpkg
+    makeWrapper
+    wrapGAppsHook
+  ];
+
+  nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
+    fetchNuGet = { name, version, sha256 }: fetchurl {
+      name = "nuget-${name}-${version}.nupkg";
+      url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+      inherit sha256;
+    };
+  });
+
+  runtimeDeps = [
+    gtk3
+    libX11
+    libXrandr
+    libappindicator
+    libevdev
+    libnotify
+    udev
+  ];
+
+  configurePhase = ''
+    export HOME=$(mktemp -d)
+    export DOTNET_CLI_TELEMETRY_OPTOUT=1
+    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+
+    nuget sources Add -Name nixos -Source "$PWD/nixos"
+    nuget init "$nugetDeps" "$PWD/nixos"
+
+    # FIXME: https://github.com/NuGet/Home/issues/4413
+    mkdir -p $HOME/.nuget/NuGet
+    cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
+
+    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
+        dotnet restore --source "$PWD/nixos" $project
+    done
+  '';
+
+  buildPhase = ''
+    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
+        dotnet build $project \
+            --no-restore \
+            --configuration Release \
+            --framework net5
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/OpenTabletDriver/
+    cp -r ./OpenTabletDriver/Configurations/ $out/lib/OpenTabletDriver/
+
+    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
+      dotnet publish $project \
+          --no-build \
+          --no-self-contained \
+          --configuration Release \
+          --framework net5 \
+          --output $out/lib
+    done
+
+    # Give a more "*nix" name to the binaries
+    makeWrapper $out/lib/OpenTabletDriver.Console $out/bin/otd \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
+
+    makeWrapper $out/lib/OpenTabletDriver.Daemon $out/bin/otd-daemon \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
+
+    makeWrapper $out/lib/OpenTabletDriver.UX.Gtk $out/bin/otd-gui \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
+
+    mkdir -p $out/share/{applications,pixmaps}
+
+    cp -r $src/OpenTabletDriver.UX/Assets/* $out/share/pixmaps
+
+    cp -r ${makeDesktopItem {
+      desktopName = "OpenTabletDriver";
+      name = "OpenTabletDriver";
+      exec = "otd-gui";
+      icon = "otd";
+      comment = meta.description;
+      type = "Application";
+      categories = "Utility;";
+    }}/share/applications/* $out/share/applications
+
+    # TODO: Ideally this should be build from OpenTabletDriver/OpenTabletDriver-udev instead
+    dpkg-deb --fsys-tarfile ${debPkg} | tar xf - ./usr/lib/udev/rules.d/30-opentabletdriver.rules
+    mkdir -p $out/lib/udev/rules.d
+    cp ./usr/lib/udev/rules.d/* $out/lib/udev/rules.d
+  '';
+
+  dontWrapGApps = true;
+  dontStrip = true;
+
+  meta = with lib; {
+    description = "Open source, cross-platform, user-mode tablet driver";
+    homepage = "https://github.com/InfinityGhost/OpenTabletDriver";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ thiagokokada ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
new file mode 100644
index 000000000000..34d2981cff54
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -0,0 +1,462 @@
+{ fetchNuGet }: [
+  (fetchNuGet {
+    name = "AtkSharp";
+    version = "3.22.25.74";
+    sha256 = "04zjpjrddw5clac0mjpk0q00rbmv45bh1bsqa4s3pc5pb7fm9cd9";
+  })
+  (fetchNuGet {
+    name = "CairoSharp";
+    version = "3.22.25.74";
+    sha256 = "0sx7vmwcrfbkg3g887v051iklcdmdhh43ndp96nk4bccjimmmwl6";
+  })
+  (fetchNuGet {
+    name = "Eto.Forms";
+    version = "2.5.6";
+    sha256 = "035ny8jlanchwq16gcq0xb6ywabjl71c7qbpv26sjwg96na8vz51";
+  })
+  (fetchNuGet {
+    name = "Eto.Platform.Gtk";
+    version = "2.5.6";
+    sha256 = "1ijkjd3lc7x59yk369kxipzgk1zhyr9g6k319wc0n033vij26mwl";
+  })
+  (fetchNuGet {
+    name = "GdkSharp";
+    version = "3.22.25.74";
+    sha256 = "07sdfvqk2jmyjj7fyd0mikhnzsk52zd3g2dhip8kz3006cczqm81";
+  })
+  (fetchNuGet {
+    name = "GioSharp";
+    version = "3.22.25.74";
+    sha256 = "01l4216bm5jxbxypkkq4d2527c6zd68kbywr3h1lr1darc9nf1d1";
+  })
+  (fetchNuGet {
+    name = "GLibSharp";
+    version = "3.22.25.74";
+    sha256 = "0k2p79z4wcswi528v0ykc37rsqfqi6xd6pl0j4csdj9zf19svgx2";
+  })
+  (fetchNuGet {
+    name = "GtkSharp";
+    version = "3.22.25.74";
+    sha256 = "0vazfvkjyzppcynqa1h70s1jmp4vq2j30v5x2scg8n2c5dxaj0k3";
+  })
+  (fetchNuGet {
+    name = "HidSharpCore";
+    version = "1.1.0";
+    sha256 = "122s5j3wrv8hcgnbxrnjqydvcfz7gdm8xq0wlwzrgwdjk44lr45a";
+  })
+  (fetchNuGet {
+    name = "MessagePack.Annotations";
+    version = "2.1.194";
+    sha256 = "1jkhq3hiy4brvzsywl4p4jb9jrnzs3vmgr3s8fxpb1dzafadw8b0";
+  })
+  (fetchNuGet {
+    name = "MessagePack";
+    version = "2.1.194";
+    sha256 = "1v2gyd9sd6hppfhlzngmzzhnpr39b95rwrqq0r9zzp480b6vzaj0";
+  })
+  (fetchNuGet {
+    name = "Microsoft.Bcl.AsyncInterfaces";
+    version = "1.1.1";
+    sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
+  })
+  (fetchNuGet {
+    name = "Microsoft.CSharp";
+    version = "4.4.1";
+    sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.1.0";
+    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.1.1";
+    sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "3.0.0";
+    sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Targets";
+    version = "1.1.0";
+    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+  })
+  (fetchNuGet {
+    name = "Microsoft.VisualStudio.Threading.Analyzers";
+    version = "16.7.56";
+    sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2";
+  })
+  (fetchNuGet {
+    name = "Microsoft.VisualStudio.Threading";
+    version = "16.7.56";
+    sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap";
+  })
+  (fetchNuGet {
+    name = "Microsoft.VisualStudio.Validation";
+    version = "15.5.31";
+    sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw";
+  })
+  (fetchNuGet {
+    name = "Microsoft.Win32.Primitives";
+    version = "4.3.0";
+    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+  })
+  (fetchNuGet {
+    name = "Microsoft.Win32.Registry";
+    version = "4.6.0";
+    sha256 = "0i4y782yrqqyx85pg597m20gm0v126w0j9ddk5z7xb3crx4z9f2s";
+  })
+  (fetchNuGet {
+    name = "Nerdbank.Streams";
+    version = "2.6.77";
+    sha256 = "13dnfwxa8syx7vfjmd5pcrqz31k0q8y3mmh6yz6bmljhjri65q5c";
+  })
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "12.0.2";
+    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+  })
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "12.0.3";
+    sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+  })
+  (fetchNuGet {
+    name = "PangoSharp";
+    version = "3.22.25.74";
+    sha256 = "172i1hjpz4rgqlilir8a57kgmciw9x0shz4zwbhhlr59mndvqbih";
+  })
+  (fetchNuGet {
+    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i";
+  })
+  (fetchNuGet {
+    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r";
+  })
+  (fetchNuGet {
+    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3";
+  })
+  (fetchNuGet {
+    name = "runtime.native.System.Net.Http";
+    version = "4.3.0";
+    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+  })
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+  })
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6";
+  })
+  (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.3.0";
+    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+  })
+  (fetchNuGet {
+    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438";
+  })
+  (fetchNuGet {
+    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj";
+  })
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+  })
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6";
+  })
+  (fetchNuGet {
+    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1";
+  })
+  (fetchNuGet {
+    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi";
+  })
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w";
+  })
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c";
+  })
+  (fetchNuGet {
+    name = "StreamJsonRpc";
+    version = "2.6.121";
+    sha256 = "0xzvpk17w2skndzdg47j7gkrrvw6521db4mv8lc3v8hm97vs9m76";
+  })
+  (fetchNuGet {
+    name = "System.Collections.Concurrent";
+    version = "4.3.0";
+    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+  })
+  (fetchNuGet {
+    name = "System.Collections.Immutable";
+    version = "1.7.1";
+    sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
+  })
+  (fetchNuGet {
+    name = "System.Collections";
+    version = "4.3.0";
+    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+  })
+  (fetchNuGet {
+    name = "System.CommandLine";
+    version = "2.0.0-beta1.20253.1";
+    sha256 = "16saf1fm9q80bb624fkqz0ksrwpnbw9617d7xg3jib7a2wgagm2r";
+  })
+  (fetchNuGet {
+    name = "System.CommandLine";
+    version = "2.0.0-beta1.20303.1";
+    sha256 = "0isnz8ipqlqim06hf56zlaq2vnsy5facvf5nvq6kzm5h1dm3l2vn";
+  })
+  (fetchNuGet {
+    name = "System.ComponentModel.Annotations";
+    version = "4.7.0";
+    sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z";
+  })
+  (fetchNuGet {
+    name = "System.Diagnostics.Debug";
+    version = "4.3.0";
+    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+  })
+  (fetchNuGet {
+    name = "System.Diagnostics.DiagnosticSource";
+    version = "4.3.0";
+    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+  })
+  (fetchNuGet {
+    name = "System.Diagnostics.Tracing";
+    version = "4.3.0";
+    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+  })
+  (fetchNuGet {
+    name = "System.Globalization.Calendars";
+    version = "4.3.0";
+    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+  })
+  (fetchNuGet {
+    name = "System.Globalization.Extensions";
+    version = "4.3.0";
+    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+  })
+  (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.3.0";
+    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+  })
+  (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.3.0";
+    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+  })
+  (fetchNuGet {
+    name = "System.IO.FileSystem";
+    version = "4.3.0";
+    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+  })
+  (fetchNuGet {
+    name = "System.IO.Pipelines";
+    version = "4.7.2";
+    sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9";
+  })
+  (fetchNuGet {
+    name = "System.IO";
+    version = "4.3.0";
+    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+  })
+  (fetchNuGet {
+    name = "System.Linq";
+    version = "4.3.0";
+    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+  })
+  (fetchNuGet {
+    name = "System.Memory";
+    version = "4.5.3";
+    sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+  })
+  (fetchNuGet {
+    name = "System.Memory";
+    version = "4.5.4";
+    sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
+  })
+  (fetchNuGet {
+    name = "System.Net.Http";
+    version = "4.3.4";
+    sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl";
+  })
+  (fetchNuGet {
+    name = "System.Net.Primitives";
+    version = "4.3.0";
+    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+  })
+  (fetchNuGet {
+    name = "System.Net.WebSockets";
+    version = "4.3.0";
+    sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p";
+  })
+  (fetchNuGet {
+    name = "System.Numerics.Vectors";
+    version = "4.5.0";
+    sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit.Lightweight";
+    version = "4.6.0";
+    sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.7.0";
+    sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Primitives";
+    version = "4.3.0";
+    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+  })
+  (fetchNuGet {
+    name = "System.Reflection";
+    version = "4.3.0";
+    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+  })
+  (fetchNuGet {
+    name = "System.Resources.ResourceManager";
+    version = "4.3.0";
+    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.CompilerServices.Unsafe";
+    version = "4.5.2";
+    sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.CompilerServices.Unsafe";
+    version = "4.7.1";
+    sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.Extensions";
+    version = "4.3.0";
+    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.Handles";
+    version = "4.3.0";
+    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices";
+    version = "4.3.0";
+    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.Numerics";
+    version = "4.3.0";
+    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+  })
+  (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.3.0";
+    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+  })
+  (fetchNuGet {
+    name = "System.Security.AccessControl";
+    version = "4.6.0";
+    sha256 = "1wl1dyghi0qhpap1vgfhg2ybdyyhy9vc2a7dpm1xb30vfgmlkjmf";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Algorithms";
+    version = "4.3.0";
+    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Cng";
+    version = "4.3.0";
+    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Csp";
+    version = "4.3.0";
+    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Encoding";
+    version = "4.3.0";
+    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Primitives";
+    version = "4.3.0";
+    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+  })
+  (fetchNuGet {
+    name = "System.Security.Cryptography.X509Certificates";
+    version = "4.3.0";
+    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+  })
+  (fetchNuGet {
+    name = "System.Security.Principal.Windows";
+    version = "4.6.0";
+    sha256 = "1jmfzfz1n8hp63s5lja5xxpzkinbp6g59l3km9h8avjiisdrg5wm";
+  })
+  (fetchNuGet {
+    name = "System.Text.Encoding";
+    version = "4.3.0";
+    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+  })
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Dataflow";
+    version = "4.11.1";
+    sha256 = "09fbfsiay1xcbpvnq2j38b6mb2scvf0s8mpn78bcqsldidg7k2vw";
+  })
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.5.4";
+    sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
+  })
+  (fetchNuGet {
+    name = "System.Threading.Tasks";
+    version = "4.3.0";
+    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+  })
+  (fetchNuGet {
+    name = "System.Threading";
+    version = "4.3.0";
+    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+  })
+  (fetchNuGet {
+    name = "WaylandNET";
+    version = "0.2.0";
+    sha256 = "1qjpvra08vdqdw4j1gamz6451x5sd5r1j86lsvrl8akq4nymfr8k";
+  })
+]
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
new file mode 100644
index 000000000000..526fa4a44320
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
@@ -0,0 +1,12 @@
+{ pkgs ? import ../../../../. {} }:
+
+with pkgs;
+
+mkShell {
+  buildInputs = [
+    common-updater-scripts
+    curl
+    dotnetCorePackages.sdk_5_0
+    jq
+  ];
+}
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
new file mode 100755
index 000000000000..04fae30c05a5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env nix-shell
+#!nix-shell shell.nix -i bash
+
+set -eo pipefail
+
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+deps_file="$(realpath "./deps.nix")"
+
+new_version="$(curl -s "https://api.github.com/repos/InfinityGhost/OpenTabletDriver/releases" | jq -r '.[0].tag_name' | sed 's|[^0-9.]||g')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+if [[ "$new_version" == "$old_version" ]]; then
+  echo "Up to date"
+  [[ "${1}" != "--force" ]] && exit 0
+fi
+
+cd ../../../..
+update-source-version opentabletdriver "$new_version"
+store_src="$(nix-build . -A opentabletdriver.src --no-out-link)"
+src="$(mktemp -d /tmp/opentabletdriver-src.XXX)"
+echo "Temp src dir: $src"
+cp -rT "$store_src" "$src"
+chmod -R +w "$src"
+
+pushd "$src"
+
+# Setup empty nuget package folder to force reinstall.
+mkdir ./nuget_tmp.packages
+cat >./nuget_tmp.config <<EOF
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <packageSources>
+    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
+  </packageSources>
+  <config>
+    <add key="globalPackagesFolder" value="$(realpath ./nuget_tmp.packages)" />
+  </config>
+</configuration>
+EOF
+
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
+    dotnet restore $project --configfile ./nuget_tmp.config
+done
+
+echo "{ fetchNuGet }: [" >"$deps_file"
+while read pkg_spec; do
+  { read pkg_name; read pkg_version; } < <(
+    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
+    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
+  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
+  cat >>"$deps_file" <<EOF
+  (fetchNuGet {
+    name = "$pkg_name";
+    version = "$pkg_version";
+    sha256 = "$pkg_sha256";
+  })
+EOF
+done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
+echo "]" >>"$deps_file"
+
+popd
+rm -r "$src"
diff --git a/nixpkgs/pkgs/tools/X11/virtualgl/lib.nix b/nixpkgs/pkgs/tools/X11/virtualgl/lib.nix
index a2a7e5e6922b..054e061c4ac8 100644
--- a/nixpkgs/pkgs/tools/X11/virtualgl/lib.nix
+++ b/nixpkgs/pkgs/tools/X11/virtualgl/lib.nix
@@ -1,12 +1,16 @@
-{ stdenv, fetchurl, cmake, libGL, libGLU, libX11, libXv, libXtst, libjpeg_turbo, fltk }:
+{ stdenv, fetchurl, cmake
+, libGL, libGLU, libX11, libXv, libXtst, libjpeg_turbo, fltk
+, xorg
+, opencl-headers, opencl-clhpp, ocl-icd
+}:
 
 stdenv.mkDerivation rec {
   pname = "virtualgl-lib";
-  version = "2.6.2";
+  version = "2.6.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/virtualgl/VirtualGL-${version}.tar.gz";
-    sha256 = "0ngqwsm9bml6lis0igq3bn92amh04rccd6jhjibj3418hrbzipvr";
+    sha256 = "1giin3jmcs6y616bb44bpz30frsmj9f8pz2vg7jvb9vcfc9456rr";
   };
 
   cmakeFlags = [ "-DVGL_SYSTEMFLTK=1" "-DTJPEG_LIBRARY=${libjpeg_turbo.out}/lib/libturbojpeg.so" ];
@@ -15,7 +19,17 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libjpeg_turbo libGL libGLU fltk libX11 libXv libXtst ];
+  buildInputs = [ libjpeg_turbo libGL libGLU fltk
+    libX11 libXv libXtst xorg.xcbutilkeysyms
+    opencl-headers opencl-clhpp ocl-icd
+  ];
+
+  fixupPhase = ''
+    substituteInPlace $out/bin/vglrun \
+      --replace "LD_PRELOAD=libvglfaker" "LD_PRELOAD=$out/lib/libvglfaker" \
+      --replace "LD_PRELOAD=libdlfaker" "LD_PRELOAD=$out/lib/libdlfaker" \
+      --replace "LD_PRELOAD=libgefaker" "LD_PRELOAD=$out/lib/libgefaker"
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
index 2aa05935991e..84d1f379e8aa 100644
--- a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.1.0";
+  version = "6.1.3";
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
     rev = version;
-    sha256 = "06z6qbfd9l3acp3wm28rq4vx3m5cxi4lpxgzc2nxvxmiz8rnnmh1";
+    sha256 = "1jv28ygsd6ifjb096w3pm50za6wi62y45ycbizwhv7x56lr6zx1v";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/X11/x11spice/default.nix b/nixpkgs/pkgs/tools/X11/x11spice/default.nix
index 23af2ac44ca6..33bc9110848e 100644
--- a/nixpkgs/pkgs/tools/X11/x11spice/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x11spice/default.nix
@@ -24,10 +24,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lpthread";
 
   meta = with stdenv.lib; {
-    description = ''
-      x11spice will enable a running X11 desktop to be available
-      via a Spice server
-    '';
+    description = "Enable a running X11 desktop to be available via a Spice server";
     homepage = "https://gitlab.freedesktop.org/spice/x11spice";
     platforms = platforms.linux;
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/X11/x11vnc/default.nix b/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
index 2f7b0d7697e5..5ed827b5a546 100644
--- a/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub,
+{ stdenv, fetchFromGitHub, fetchpatch,
   openssl, zlib, libjpeg, xorg, coreutils, libvncserver,
   autoreconfHook, pkgconfig }:
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "1g652mmi79pfq4p5p7spaswa164rpzjhc5rn2phy5pm71lm0vib1";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2020-29074.patch";
+      url = "https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a.patch";
+      sha256 = "0hdhp32g2i5m0ihmaxkxhsn3d5f2qasadvwpgxify4xnzabmyb2d";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   buildInputs =
diff --git a/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix b/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
index ccea6a2233cc..85d87d9e36d6 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-utils/default.nix
@@ -36,17 +36,15 @@ stdenv.mkDerivation rec {
     cp ${mimisrc}/xdg-open $out/bin/xdg-open
   '' + ''
     sed  '2s#.#\
-    cut()   { ${coreutils}/bin/cut  "$@"; }\
     sed()   { ${gnused}/bin/sed     "$@"; }\
     grep()  { ${gnugrep}/bin/grep   "$@"; }\
     egrep() { ${gnugrep}/bin/egrep  "$@"; }\
     file()  { ${file}/bin/file      "$@"; }\
     awk()   { ${gawk}/bin/awk       "$@"; }\
-    sort()  { ${coreutils}/bin/sort "$@"; }\
     xset()  { ${xset}/bin/xset      "$@"; }\
     perl()  { PERL5LIB=${perlPath} ${perlPackages.perl}/bin/perl "$@"; }\
     mimetype() { ${perlPackages.FileMimeInfo}/bin/mimetype "$@"; }\
-    PATH=$PATH:'"$out"'/bin\
+    PATH=$PATH:'$out'/bin:${coreutils}/bin\
     &#' -i "$out"/bin/*
 
     substituteInPlace $out/bin/xdg-open \
@@ -58,7 +56,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/xdg-email \
       --replace "/bin/echo" "${coreutils}/bin/echo"
 
-    sed 's# which # type -P #g' -i "$out"/bin/*
+    sed 's|\bwhich\b|type -P|g' -i "$out"/bin/*
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix b/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix
new file mode 100644
index 000000000000..9485cb62b2bf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, cmake
+, fetchFromGitHub
+, i3
+, jsoncpp
+, libsigcxx
+, libX11
+, libxkbfile
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xkb-switch-i3";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "Zebradil";
+    repo = "xkb-switch-i3";
+    rev = version;
+    sha256 = "15c19hp0n1k3w15qn97j6wp5b8hbk0mq6x3xjfn6dkkjfz1fl6cn";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ i3 jsoncpp libsigcxx libX11 libxkbfile ];
+
+  meta = with stdenv.lib; {
+    description = "Switch your X keyboard layouts from the command line(i3 edition)";
+    homepage = "https://github.com/Zebradil/xkb-switch-i3";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ewok ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/xpra/default.nix b/nixpkgs/pkgs/tools/X11/xpra/default.nix
index 7f46e017c367..3f1bf557ae8e 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpra/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig, writeText
 , xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk
-, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
+, wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which
 , ffmpeg, x264, libvpx, libwebp, x265
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobject-introspection
@@ -97,7 +97,7 @@ in buildPythonApplication rec {
       --set XPRA_INSTALL_PREFIX "$out"
       --set XPRA_COMMAND "$out/bin/xpra"
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which util-linux pulseaudio ]}
     )
   '';
 
diff --git a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
index 759613553fe0..aab4d1180e0e 100644
--- a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
@@ -5,6 +5,7 @@
 , pixman
 , xcbutil
 , xcbutilimage
+, libseccomp
 , libjpeg
 , libpng
 , libXpm
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   preConfigure = "./autogen.sh";
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ pixman xcbutilimage xcbutil libjpeg libpng libXpm ];
+  buildInputs = [ pixman xcbutilimage xcbutil libseccomp libjpeg libpng libXpm ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/stoeckmann/xwallpaper";
diff --git a/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix b/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
index 7b30e5c58155..7bd0c3e6dcd4 100644
--- a/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchgit, gtk2, cmake, pkgconfig, libXdamage }:
+{ stdenv, fetchFromGitHub, gtk2, cmake, pkgconfig, libXdamage }:
 
 stdenv.mkDerivation rec {
   version = "0.4.2";
   pname = "xwinmosaic";
 
-  src = fetchgit {
-    url = "https://github.com/soulthreads/xwinmosaic/";
-    rev = "refs/tags/v0.4.2";
+  src = fetchFromGitHub {
+    owner = "soulthreads";
+    repo = pname;
+    rev = "refs/tags/v${version}";
     sha256 = "16qhrpgn84fz0q3nfvaz5sisc82zk6y7c0sbvbr69zfx5fwbs1rr";
   };
 
diff --git a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
index 30badb175a96..8fb14ed2ead7 100644
--- a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools, dnsutils }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.8.7";
+  version = "2.8.8";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "0bwzrrm07v2lpsja0r0z7nj3jrf814w57mmk8lbdk9dsb3i07x4w";
+    sha256 = "1iqwzqgg26vsg7lwmgmga9y3ap9q8r5xyx799bj8kawnr8n6s4jd";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix b/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix
index d96eadf0eab5..a9a49beda2f3 100644
--- a/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-google-auth/default.nix
@@ -4,6 +4,7 @@
 , beautifulsoup4
 , boto3
 , configparser
+, filelock
 , keyring
 , keyrings-alt
 , lxml
@@ -19,7 +20,7 @@
 
 buildPythonApplication rec {
   pname = "aws-google-auth";
-  version = "0.0.34";
+  version = "0.0.36";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   # https://github.com/cevoaustralia/aws-google-auth/issues/120
@@ -27,13 +28,14 @@ buildPythonApplication rec {
     owner = "cevoaustralia";
     repo = "aws-google-auth";
     rev = version;
-    sha256 = "12c5ssdy870szrizhs4d7dzcpq3hvszjvl8ba60qf1ak5jsr1ay4";
+    sha256 = "099r020v33sij2b3816cjp4fpy35c886l559szfxqx6kgy19y9z7";
   };
 
-  propagatedBuildInputs = [ 
+  propagatedBuildInputs = [
     beautifulsoup4
     boto3
     configparser
+    filelock
     keyring
     keyrings-alt
     lxml
@@ -43,10 +45,10 @@ buildPythonApplication rec {
     tabulate
     tzlocal
   ] ++ lib.optional withU2F python-u2flib-host;
-  
-  checkInputs = [ 
+
+  checkInputs = [
     mock
-    nose 
+    nose
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/tools/admin/awscli/default.nix b/nixpkgs/pkgs/tools/admin/awscli/default.nix
index 6bc329628916..46c5092e1316 100644
--- a/nixpkgs/pkgs/tools/admin/awscli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli/default.nix
@@ -1,4 +1,5 @@
 { lib
+, nixosTests
 , python3
 , groff
 , less
@@ -14,16 +15,24 @@ let
           sha256 = "25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5";
         };
       });
+      # TODO: https://github.com/aws/aws-cli/pull/5712
+      colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
+        version = "0.4.3";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9";
+        };
+      });
     };
   };
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.18.137"; # N.B: if you change this, change botocore to a matching version too
+  version = "1.18.207"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g745lvmi30di3bbpbca2bkqqzk7g6l3ssmbpi8pvgy0wrfhij69";
+    sha256 = "sha256-E6emaaPxIgYk5Zwh3oBHUrbye43/mGjzvVeMx/Re33w=";
   };
 
   postPatch = ''
@@ -47,14 +56,20 @@ in with py.pkgs; buildPythonApplication rec {
   ];
 
   postInstall = ''
-    mkdir -p $out/etc/bash_completion.d
-    echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
+    mkdir -p $out/share/bash-completion/completions
+    echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/awscli
+
     mkdir -p $out/share/zsh/site-functions
     mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
+
     rm $out/bin/aws.cmd
   '';
 
-  passthru.python = py; # for aws_shell
+  passthru = {
+    python = py; # for aws_shell
+
+    tests = { inherit (nixosTests) awscli; };
+  };
 
   meta = with lib; {
     homepage = "https://aws.amazon.com/cli/";
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
index 471034fa51a8..a477beac5a0f 100644
--- a/nixpkgs/pkgs/tools/admin/awscli2/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -8,12 +8,12 @@ let
   py = python3.override {
     packageOverrides = self: super: {
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
-        version = "2.0.0dev52";
+        version = "2.0.0dev75";
         src = fetchFromGitHub {
           owner = "boto";
           repo = "botocore";
-          rev = "f115f16d8130957776f232bbb7505ff6c4f18e8c";
-          hash = "sha256-wi9ezv6uIvCNFYJX6z0zQO7/VREhe1Sn/CakIgDRp1c=";
+          rev = "1a4caa8d1c232e9463febec406a8fedc71cb065c";
+          sha256 = "0z2c9i2ci3f8979si8gcgnsz44ylchjax1f3dhj7pzyb2kcw6zri";
         };
       });
       prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
@@ -29,16 +29,17 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.0.48"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.1.7"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    hash = "sha256-83EKaKv3ZKOD2hzdsJO7/djbzr4V8LpHxqBl9HFhk1U=";
+    sha256 = "0sxdbc8y5yqcvsk2bxkywdh4fsq90vlsmcm45y0sa3rpza64xs3r";
   };
 
   postPatch = ''
+    substituteInPlace setup.py --replace "colorama>=0.2.5,<0.4.4" "colorama>=0.2.5"
     substituteInPlace setup.py --replace "cryptography>=2.8.0,<=2.9.0" "cryptography>=2.8.0"
     substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
     substituteInPlace setup.py --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml>=0.15.0"
@@ -67,10 +68,15 @@ with py.pkgs; buildPythonApplication rec {
   ];
 
   postInstall = ''
-    mkdir -p $out/etc/bash_completion.d
-    echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
+    mkdir -p $out/${python3.sitePackages}/awscli/data
+    ${python3.interpreter} scripts/gen-ac-index --index-location $out/${python3.sitePackages}/awscli/data/ac.index
+
+    mkdir -p $out/share/bash-completion/completions
+    echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/aws
+
     mkdir -p $out/share/zsh/site-functions
     mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
+
     rm $out/bin/aws.cmd
   '';
 
diff --git a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
index 2417854fcad9..f148bd088f4b 100644
--- a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
@@ -1,29 +1,25 @@
-{ lib, buildGoModule, fetchurl, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "awsweeper";
-  version = "0.7.0";
-
-  # Requires go generate to be run with mockgen, but doesn't check in the results.
-  patches = fetchurl {
-    url = "https://raw.githubusercontent.com/c00w/patches/master/awskeeper.patch";
-    sha256 = "0dz553ffxc37m2iwygrbhxf7pm91hxdriic8a1gjf8q3nyn13npl";
-  };
+  version = "0.10.2";
 
   src = fetchFromGitHub {
-    owner = "cloudetc";
+    owner = "jckuester";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ybrrpnp6rh7rcwihww43cvhfhzzyy51rdk1hwy9ljpkg37k4y28";
+    sha256 = "1ln4s04n1qd1wv88ahhvvvphlxf6c9krqz9lmbcx3n67sb8xngm5";
   };
 
-  vendorSha256 = "0hnpb1xp135z2qpn1b6xad59739hffhs8dfpr3n5drmrvajpn4xp";
+  vendorSha256 = "0zlhb84fmrnwq71d0h83p28aqlfclcydndl0z2j9nx2skjlxax2i";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/jckuester/awsweeper/internal.version=${version} -X github.com/jckuester/awsweeper/internal.commit=${src.rev} -X github.com/jckuester/awsweeper/internal.date=unknown" ];
 
   doCheck = false;
 
   meta = with lib; {
     description = "A tool to clean out your AWS account";
-    homepage = "https://github.com/cloudetc/awsweeper/";
+    homepage = "https://github.com/jckuester/awsweeper";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
index 3743cad11a30..4026effd6f67 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, lib, python, fetchFromGitHub, installShellFiles }:
+{ stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.11.1";
+  version = "2.17.0";
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "11jmgc73b0w725rq89j6hk6gh67nfdbzp3rmywmrnah683d6xbpx";
+    sha256 = "2QLPtZYZZ+W5xZH2hxFnjox31v3My3zocouqLWGWSYI=";
   };
 
   # put packages that needs to be overriden in the py package scope
-  py = import ./python-packages.nix { inherit stdenv python lib src version; };
+  py = import ./python-packages.nix {
+    inherit stdenv lib src version;
+    python = python3;
+  };
 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";
 
@@ -23,6 +25,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     substituteInPlace setup.py \
       --replace "javaproperties==0.5.1" "javaproperties" \
       --replace "pytz==2019.1" "pytz" \
+      --replace "antlr4-python3-runtime~=4.7.2" "antlr4-python3-runtime~=4.7" \
       --replace "mock~=4.0" "mock"
 
     # remove namespace hacks
@@ -36,6 +39,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
   nativeBuildInputs = [ installShellFiles ];
 
   propagatedBuildInputs = with py.pkgs; [
+    azure-appconfiguration
     azure-batch
     azure-cli-core
     azure-cli-telemetry
@@ -44,6 +48,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-functions-devops-build
     azure-graphrbac
     azure-keyvault
+    azure-keyvault-administration
     azure-loganalytics
     azure-mgmt-advisor
     azure-mgmt-apimanagement
@@ -62,6 +67,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-containerregistry
     azure-mgmt-containerservice
     azure-mgmt-cosmosdb
+    azure-mgmt-databoxedge
     azure-mgmt-datalake-analytics
     azure-mgmt-datalake-store
     azure-mgmt-datamigration
@@ -111,6 +117,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-multiapi-storage
     azure-storage-blob
     azure-synapse-accesscontrol
+    azure-synapse-artifacts
     azure-synapse-spark
     colorama
     cryptography
@@ -162,9 +169,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
   # 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
+    HOME=$TMPDIR $out/bin/az --help > /dev/null
   '';
 
   # ensure these namespaces are able to be accessed
diff --git a/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
index 8d17c9ff2017..ab417af8d445 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -6,7 +6,8 @@ let
     prePatch = (attrs.prePatch or "") + ''
       rm -f azure_bdist_wheel.py tox.ini
       substituteInPlace setup.py \
-        --replace "wheel==0.30.0" "wheel"
+        --replace "wheel==0.30.0" "wheel" \
+        --replace "cryptography>=2.3.1,<3.0.0" "cryptography"
       sed -i "/azure-namespace-package/c\ " setup.cfg
     '';
 
@@ -83,14 +84,20 @@ let
         ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
         ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
 
+        postPatch = ''
+          substituteInPlace setup.py \
+            --replace "azure-mgmt-core==1.2.1" "azure-mgmt-core~=1.2"
+        '';
+
         doCheck = stdenv.isLinux;
-        # ignore test that does network call
+        # ignore tests 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
+            --ignore=azure/cli/core/tests/test_generic_update.py \
+            -k 'not metadata_url'
         '';
 
         pythonImportsCheck = [
@@ -118,20 +125,23 @@ let
         '';
       };
 
-      azure-batch = overrideAzureMgmtPackage super.azure-batch "9.0.0" "zip"
-        "112d73gxjqng348mcvi36ska6pxyg8qc3qswvhf5x4a0lr86zjj7";
+      azure-batch = overrideAzureMgmtPackage super.azure-batch "10.0.0" "zip"
+        "83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32d0";
 
-      azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "0.1.0" "zip"
-        "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax";
+      azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "0.2.0" "zip"
+        "0whx3s8ri9939r3pdvjf8iqcslas1xy6cnccidmp10r5ng0023vr";
 
       azure-mgmt-batch = overrideAzureMgmtPackage super.azure-mgmt-batch "9.0.0" "zip"
         "1zn3yqwvm2f3sy8v0xvj4yb7m8kxxm1wpcaccxp91b0zzbn7wh83";
 
+      azure-mgmt-billing = overrideAzureMgmtPackage super.azure-mgmt-billing "1.0.0" "zip"
+        "8b55064546c8e94839d9f8c98e9ea4b021004b3804e192bf39fa65b603536ad0";
+
       azure-mgmt-policyinsights = overrideAzureMgmtPackage super.azure-mgmt-policyinsights "0.5.0" "zip"
         "1wxh7mgrknnhqyafdd7sbwx8plx0zga2af21vs6yhxy48lw9w8pd";
 
-      azure-mgmt-rdbms = overrideAzureMgmtPackage super.azure-mgmt-rdbms "2.2.0" "zip"
-        "1iz1pf28ajrzbq8nab1jbjbgfbv0g6ni036xayy6xylvga4l8czr";
+      azure-mgmt-rdbms = overrideAzureMgmtPackage super.azure-mgmt-rdbms "3.1.0rc1" "zip"
+        "0jg242pjbxvcqskgrmw0q17mhafkip1d8p40hls0w0wn77cnic65";
 
       azure-mgmt-recoveryservices = overrideAzureMgmtPackage super.azure-mgmt-recoveryservices "0.4.0" "zip"
         "0v0ycyjnnx09jqf958hj2q6zfpsn80bxxm98jf59y8rj09v99rz1";
@@ -139,17 +149,17 @@ let
       azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.6.0" "zip"
         "13s2k4jl8570bj6jkqzm0w29z29rl7h5i7czd3kr6vqar5wj9xjd";
 
-      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "10.2.0" "zip"
-        "ddfe4c0c55f0e3fd1f66dd82c1d4a3d872ce124639b9a77fcd172daf464438a5";
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "10.3.0" "zip"
+        "1bb95rlwfikfl3pgyga0v5lfgr1xyaybm1nq2498rncfcvdpkjhz";
 
-      azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "0.5.0" "zip"
-        "1nh626jg459p9f96glv74dph3vmpybm5cs8rrj1s65kn3m8jf591";
+      azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "0.6.0" "zip"
+        "0pvc8f3g12q7als0pgy26kqi2i9grykwrjyiv2vijci9wxn22vpy";
 
-      azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "6.2.0" "zip"
-        "1khk9jdfx7706xsqpwrnfsplv6p6wracvpyk9ki8zhc7p83kal4k";
+      azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "6.3.0" "zip"
+        "059lhbxqx1r1717s8xz5ahpxwphq5fgy0h7k6b63cahm818rs0hx";
 
-      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "13.0.0" "zip"
-        "17ik8lfd74ki57rml2piswcanzbladsqy0s2m9jmvwpdrfpincvz";
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "18.0.0" "zip"
+        "34815c91193640ad8ff0c4dad7f2d997548c853d2e8b10250329ed516e55879e";
 
       azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
         "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
@@ -157,14 +167,14 @@ let
       azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "1.4.0" "zip"
         "1qw6228bia5pimcijr755npli2l33jyfka1s2bzgl1w4h3prsji7";
 
-      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "9.0.1" "zip"
-        "11nqjpi9qypb0xvfy63l98q5m5jfv5iqx15mliksm96vkdkmji3y";
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "9.4.0" "zip"
+        "1jfs2v0bblpn8lg98zgll6f7k7247r6vwrr0p1898xvhdh8881nr";
 
       azure-mgmt-core = overrideAzureMgmtPackage super.azure-mgmt-core "1.2.0" "zip"
         "8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998";
 
-      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.15.0" "zip"
-        "03ysr8kx0gavjrxsi9wqrgxpg3g17nvii7z68qfm0k2mv6ryj3z7";
+      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "1.0.0" "zip"
+        "08xp04mkl5ajwyr0l62c8bfb4n8p9s9fp6szynb2bdp6m2p3g2z0";
 
       azure-mgmt-deploymentmanager = overrideAzureMgmtPackage super.azure-mgmt-deploymentmanager "0.2.0" "zip"
         "0c6pyr36n9snx879vas5r6l25db6nlp2z96xn759mz4kg4i45qs6";
@@ -187,8 +197,8 @@ let
       azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
         "1397ksrd61jv7400mgn8sqngp6ahir55fyq9n5k69wk88169qm2r";
 
-      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.12.0" "zip"
-        "7d773119bc02e3d6f9d7cffb7effc17e85676d5c5b1f656d05abc4489e472c76";
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.14.0" "zip"
+        "0f8m7j8sdm1rfrwizz3qfk4lyb2x02af3v66as5yqjriipk1bnbg";
 
       azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip"
         "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p";
@@ -196,8 +206,8 @@ let
       azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "0.7.0" "zip"
         "18n2lqvrhq40gdqhlzzg8mc03571i02c7qq7jv771lc58rqpzysh";
 
-      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "11.0.0" "zip"
-        "1g39rl4p88bzhqbn1gi2nn8jyx77idxvpaw8xqz1gjv0qqqwdpvz";
+      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "17.0.0" "zip"
+        "3694f2675e152afccb1588a6cc7bb4b4795d442a4e5d7082cdf1f4e32a779199";
 
       azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "2.1.0" "zip"
         "1py0hch0wghzfxazdrrs7p0kln2zn9jh3fmkzwd2z8qggj38q6gm";
@@ -205,8 +215,8 @@ let
       azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
         "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
 
-      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.47.0" "zip"
-        "1s6c477q2kpyiqkisw6l70ydyjkv3ay6zjjj4jl4ipv05a7356kq";
+      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.48.0" "zip"
+        "1v41k9rsflbm9g06mhi6jsygv9542da53qwjpjkp532jawxrw3ys";
 
       azure-mgmt-redhatopenshift = overrideAzureMgmtPackage super.azure-mgmt-redhatopenshift "0.1.0" "zip"
         "1g65lbia1i1jw6qkyjz2ldyl3p90rbr78l8kfryg70sj7z3gnnjn";
@@ -217,20 +227,23 @@ let
       azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
         "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
 
-      azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.4.1" "zip"
-        "08gf401d40bd1kn9wmpxcjxqdh84cd9hxm8rdjd0918483sqs71r";
+      azure-mgmt-search = overrideAzureMgmtPackage super.azure-mgmt-search "2.0.0" "zip"
+        "14v8ja8har2xrb00v98610pqvakcdvnzw8hkd6wbr1np3f3dxi8f";
+
+      azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.6.0" "zip"
+        "9f37d0151d730801222af111f0830905634795dbfd59ad1b89c35197421e74d3";
 
       azure-mgmt-signalr = overrideAzureMgmtPackage super.azure-mgmt-signalr "0.4.0" "zip"
         "09n12ligh301z4xwixl50n8f1rgd2k6lpsxqzr6n6jvgkpdds0v5";
 
-      azure-mgmt-sql = overrideAzureMgmtPackage super.azure-mgmt-sql "0.19.0" "zip"
-        "1iiqc0kh5hygcvr3x1653cpjnf5na3j11v137xa9xy65r7a4jik9";
+      azure-mgmt-sql = overrideAzureMgmtPackage super.azure-mgmt-sql "0.21.0" "zip"
+        "0023q32z4vn94l5aqf7h6ld4ai12a703y7glnl02lls25qfs9xvv";
 
       azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "0.5.0" "zip"
         "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm";
 
-      azure-mgmt-synapse = overrideAzureMgmtPackage super.azure-mgmt-synapse "0.3.0" "zip"
-        "0sa12s5af9xl1wnblilswxc6ydr2anm9an000iz3ks54pydby2vy";
+      azure-mgmt-synapse = overrideAzureMgmtPackage super.azure-mgmt-synapse "0.5.0" "zip"
+        "0dr8xml9zlsnag761zx7ifvdkhsv4syzxpmdn4gbf9c5qcq65dsf";
 
       azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip"
         "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77";
@@ -238,17 +251,17 @@ let
       azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
         "1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
 
-      azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "4.0.0" "zip"
-        "1qisnwn0gqfsa3h5x0fdbsgdjwn92hdbg71gdijrja0kryb328k5";
+      azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "4.1.0" "zip"
+        "186g70slb259ybrr69zr2ibbmqgplnpncwxzg0nxp6rd7pml7d85";
 
-      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "7.0.0b2" "zip"
-        "10kpfzgsyh648a9z194vysgfl5887qwwamyd1r32zfqi9fr4js5l";
+      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "8.0.0" "zip"
+        "2c974c6114d8d27152642c82a975812790a5e86ccf609bf370a476d9ea0d2e7d";
 
-      azure-mgmt-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "5.0.0" "zip"
-        "0y1bq6lirwx4n8zydi49jx72xfc7dppzhy82x22sx98id8lxgcwm";
+      azure-mgmt-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "5.2.0" "zip"
+        "10b8y1b5qlyr666x7yimnwis9386ciphrxdnmmyzk90qg6h0niry";
 
-      azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc14" "zip"
-        "0w9hnxvk5pcsa21g3xrr089rfwgldghrbj8akzvh0gchqlzfjg6j";
+      azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc16" "zip"
+        "eT5gH0K4q2Qr1lEpuqjxQhOUrA6bEsAktj+PKsfMXTo=";
 
       azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.11.0" "zip"
         "05jhn66d4sl1qi6w34rqd8wl500jndismiwhdmzzmprdvn1zxqf6";
@@ -259,20 +272,23 @@ let
       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-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.61.0" "zip"
+        "0xfvx2dvfj3fbz4ngn860ipi4v6gxqajyjc8x92r8knhmniyxk7m";
+
+      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "16.0.0" "zip"
+        "2f9d714d9722b1ef4bac6563676612e6e795c4e90f6f3cd323616fdadb0a99e5";
 
-      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "11.1.0" "zip"
-        "073zybsxk70vg02bflbrx97pwzsxl0xyi48fpxp8dh3d3dy5h8zg";
+      azure-mgmt-servicebus = overrideAzureMgmtPackage super.azure-mgmt-servicebus "0.6.0" "zip"
+        "1c88pj8diijciizw4c6g1g6liz54cp3xmlm4xnmz97hizfw202gj";
 
-      azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.4.0" "zip"
-        "1x18grkjf2p2r1ihlwv607sna9yjvsr2jwnkjc55askrgrwx5jx2";
+      azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.5.0" "zip"
+        "0x6wxb9zrvcayg3yw0nm99p10vvgc0x3zwk9amzs5m682r2z4wap";
 
-      azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "1.7.0" "zip"
-        "004q3d2kj1i1cx3sad1544n3pkindfm255sw19gdlhbw61wn5l5a";
+      azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "2.0.0" "zip"
+        "fd47029f2423e45ec4d311f651dc972043b98e960f186f5c6508c6fdf6eb2fe8";
 
-      azure-multiapi-storage = overrideAzureMgmtPackage super.azure-multiapi-storage "0.4.1" "zip"
-        "0h7bzaqwyl3j9xqzjbnwxp59kmg6shxk76pml9kvvqbwsq9w6fx3";
+      azure-multiapi-storage = overrideAzureMgmtPackage super.azure-multiapi-storage "0.5.2" "tar.gz"
+        "09y075mc7kig4dlb0xdvdvl9xbr931bi7kv60xaqnf31pf4pb7gf";
 
       azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec {
         version = "0.60.0";
@@ -303,6 +319,16 @@ let
         };
       });
 
+      azure-synapse-artifacts = super.azure-synapse-artifacts.overrideAttrs(oldAttrs: rec {
+        version = "0.3.0";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "0p43zmw96fh3wp75phf3fcqdfb36adqvxfc945yfda6fi555nw1a";
+          extension = "zip";
+        };
+      });
+
       azure-synapse-accesscontrol = super.azure-synapse-accesscontrol.overrideAttrs(oldAttrs: rec {
         version = "0.2.0";
         src = super.fetchPypi {
@@ -339,6 +365,16 @@ let
         pythonImportsCheck = [ ];
       });
 
+      azure-keyvault-administration = super.azure-keyvault-administration.overridePythonAttrs(oldAttrs: rec {
+        version = "4.0.0b1";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          extension = "zip";
+          sha256 = "1kmf2x3jdmfm9c7ldvajzckkm79gxxvl1l2968lizjwiyjbbsih5";
+        };
+      });
+
       # part of azure.mgmt.datalake namespace
       azure-mgmt-datalake-analytics = super.azure-mgmt-datalake-analytics.overrideAttrs(oldAttrs: rec {
         version = "0.2.1";
@@ -357,19 +393,6 @@ let
         '';
       });
 
-      cryptography = super.cryptography.overridePythonAttrs(oldAttrs: rec {
-        version = "2.9.2";
-
-        src = super.fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          sha256 = "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0";
-        };
-
-        # prevent cycle with cryptography-vectors
-        doCheck = false;
-      });
-
       knack = super.knack.overridePythonAttrs(oldAttrs: rec {
         version = "0.7.2";
 
@@ -400,6 +423,17 @@ let
         };
       });
 
+      sshtunnel = super.sshtunnel.overridePythonAttrs(oldAttrs: rec {
+        name = "sshtunnel-${version}";
+        version = "0.1.5";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "0jcjppp6mdfsqrbfc3ddfxg1ybgvkjv7ri7azwv3j778m36zs4y8";
+        };
+      });
+
       websocket_client = super.websocket_client.overridePythonAttrs(oldAttrs: rec {
         version = "0.56.0";
 
diff --git a/nixpkgs/pkgs/tools/admin/bluemix-cli/default.nix b/nixpkgs/pkgs/tools/admin/bluemix-cli/default.nix
index f97a6e5df891..b0a5af35def5 100644
--- a/nixpkgs/pkgs/tools/admin/bluemix-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/bluemix-cli/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     install -m755 -D -t $out/bin/cfcli bin/cfcli/cf
     ln -sv $out/bin/ibmcloud $out/bin/bx
     ln -sv $out/bin/ibmcloud $out/bin/bluemix
-    install -D -t "$out/etc/bash_completion.d" bx/bash_autocomplete
+    install -D -t "$out/share/bash-completion/completions" bx/bash_autocomplete
     install -D -t "$out/share/zsh/site-functions" bx/zsh_autocomplete
   '';
 
diff --git a/nixpkgs/pkgs/tools/admin/chamber/default.nix b/nixpkgs/pkgs/tools/admin/chamber/default.nix
index fb21bda41505..c2126181f36a 100644
--- a/nixpkgs/pkgs/tools/admin/chamber/default.nix
+++ b/nixpkgs/pkgs/tools/admin/chamber/default.nix
@@ -1,15 +1,23 @@
-{ buildGoModule, lib, fetchFromGitHub }:
+{ buildGoModule, lib, fetchFromGitHub, fetchpatch }:
+
 buildGoModule rec {
   pname = "chamber";
-  version = "2.8.2";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7L9RaE4LvHRR6MUimze5QpbnfasWJdY4arfS/Usy2q0=";
+    sha256 = "eOMY9P/fCYvnl6KGNb6wohykLA0Sj9Ti0L18gx5dqUk=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/segmentio/chamber/commit/3aeb416cdf4c232552b653262e37047fc13b1f02.patch";
+      sha256 = "cyxNF9ZP4oG+1sfX9yWZCyntpAvwYUh5BzTirZQGejc=";
+    })
+  ];
+
   vendorSha256 = null;
 
   # set the version. see: chamber's Makefile
@@ -20,7 +28,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description =
-      "Chamber is a tool for managing secrets by storing them in AWS SSM Parameter Store.";
+      "A tool for managing secrets by storing them in AWS SSM Parameter Store";
     homepage = "https://github.com/segmentio/chamber";
     license = licenses.mit;
     maintainers = with maintainers; [ kalekseev ];
diff --git a/nixpkgs/pkgs/tools/admin/chkcrontab/default.nix b/nixpkgs/pkgs/tools/admin/chkcrontab/default.nix
index 0740b0c1be60..73076b65c587 100644
--- a/nixpkgs/pkgs/tools/admin/chkcrontab/default.nix
+++ b/nixpkgs/pkgs/tools/admin/chkcrontab/default.nix
@@ -14,7 +14,7 @@ buildPythonApplication rec {
   meta = with stdenv.lib; {
     description = "A tool to detect crontab errors";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     homepage = "https://github.com/lyda/chkcrontab";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index 565196280ce0..cbe6e3eed1f3 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "2.1.4";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bvwh3ghxb3ynq8a07ka9i0rzaqg1aikxvqxmpjkwjvhwk63lwqd";
+    sha256 = "10kgg2i5yzdfhylrdkmh8rsc4cgdnhcgfa8fa4dm8m3licjciwam";
   };
 
-  vendorSha256 = "0x31n50vd8660z816as6kms5dkv87b0mhblccpkvd9cbvcv2n37a";
+  vendorSha256 = "1l3b86f5xmyc6lskvb4ab30adcgzb69ayccc0wcz2f28sda3i80r";
 
   doCheck = false;
 
@@ -25,6 +25,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Vulnerability Static Analysis for Containers";
     homepage = "https://github.com/quay/clair";
+    changelog = "https://github.com/quay/clair/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
new file mode 100644
index 000000000000..f3cc5141618b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "credhub-cli";
+  version = "2.9.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudfoundry-incubator";
+    repo = "credhub-cli";
+    rev = version;
+    sha256 = "1j0i0b79ph2i52cj0qln8wvp6gwhl73akkn026h27vvmlw9sndc2";
+  };
+
+  # these tests require network access that we're not going to give them
+  postPatch = ''
+    rm commands/api_test.go
+    rm commands/socks5_test.go
+  '';
+  __darwinAllowLocalNetworking = true;
+
+  vendorSha256 = null;
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X code.cloudfoundry.org/credhub-cli/version.Version=${version}"
+  ];
+
+  postInstall = ''
+    ln -s $out/bin/credhub-cli $out/bin/credhub
+  '';
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Provides a command line interface to interact with CredHub servers";
+    homepage = "https://github.com/cloudfoundry-incubator/credhub-cli";
+    maintainers = with maintainers; [ ris ];
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/daemontools/default.nix b/nixpkgs/pkgs/tools/admin/daemontools/default.nix
index 660563d9757c..2bfdb9b69de6 100644
--- a/nixpkgs/pkgs/tools/admin/daemontools/default.nix
+++ b/nixpkgs/pkgs/tools/admin/daemontools/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     license = stdenv.lib.licenses.publicDomain;
     homepage = "https://cr.yp.to/daemontools.html";
-    description = "A collection of tools for managing UNIX services.";
+    description = "A collection of tools for managing UNIX services";
 
     maintainers = with stdenv.lib.maintainers; [ kevincox ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/nixpkgs/pkgs/tools/admin/dehydrated/default.nix b/nixpkgs/pkgs/tools/admin/dehydrated/default.nix
index 6cc69c2290d4..e6b909a0a5bd 100644
--- a/nixpkgs/pkgs/tools/admin/dehydrated/default.nix
+++ b/nixpkgs/pkgs/tools/admin/dehydrated/default.nix
@@ -1,13 +1,13 @@
 { stdenv, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub, installShellFiles }:
 stdenv.mkDerivation rec {
   pname = "dehydrated";
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "lukas2511";
     repo = "dehydrated";
     rev = "v${version}";
-    sha256 = "14k7ykry16zp09i0bqb5pqaclvnjcb6p3x8knm9v5q0bdvlplkjv";
+    sha256 = "09jhmkjvnj98zbf92qwdr5rr7pc6v63xzyk2fbi177r7szb2yg09";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 74cc3f3f1711..6f38b14f44be 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.27.0";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "1yclffhr76jd5rzqi37bpdj524lmywmgcfr9r0ahacfkp1hxdn3v";
+    sha256 = "1n2mvnis6r5vpb60jlb3c84sllsbvy93gzsds54igsp6l3zngq19";
   };
 
-  vendorSha256 = "133g2d7l1szmpxjdg28yjm3pw6galwq8948rvalnh932kxngkxys";
+  vendorSha256 = "0ggxilp44mm81b8hrxyb7642vy2q1109yz619z97mgvk0drhkhc0";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index 41fc026092db..c2e6a4479aea 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.17.0";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "01bll978dis8pqvgrbigzgszkx3kjm6acrw44z6j7algw3an352r";
+    sha256 = "1hxr5w8cd6f967cvhgqd3pvl8dlx2hb0pvjslzzbrs65djf8zh3k";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
index 5a51ace3b986..b2148fafe282 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,18 +21,18 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1l2r9pgyzih7xgrr2ygm0mcl97kyp1wfvybwhbn1i0kbb72nagk1";
+      sha256 = "1miqvh2b3mxrrr63q8f5i944mp3rz6685ckmnk5fml2wyc273jiv";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1qbkdfa7dzysp7crv9ph476hbabl3qiszs067f20dadqssqs1v4r";
+      sha256 = "15kfsxn6j37rsw97ixj7ixkzcby0pkgc5xj7cpqdq975ym58sgv7";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "306.0.0";
+  version = "321.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
@@ -74,8 +74,8 @@ in stdenv.mkDerivation rec {
     disable_update_check = true" >> $out/google-cloud-sdk/properties
 
     # setup bash completion
-    mkdir -p $out/etc/bash_completion.d
-    mv $out/google-cloud-sdk/completion.bash.inc $out/etc/bash_completion.d/gcloud.inc
+    mkdir -p $out/share/bash-completion/completions
+    mv $out/google-cloud-sdk/completion.bash.inc $out/share/bash-completion/completions/gcloud.inc
 
     # This directory contains compiled mac binaries. We used crcmod from
     # nixpkgs instead.
@@ -99,7 +99,7 @@ in stdenv.mkDerivation rec {
     # This package contains vendored dependencies. All have free licenses.
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
-    maintainers = with maintainers; [ pradyuman stephenmw zimbatm ];
+    maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index 18ec4ba4636e..e270e7a4c43f 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.0.1";
+  version = "4.1.3";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1s3sh4n12g7ylkpmxqjcpdw3gqhdjbh9r09h2rsrm30xr4qaqpng";
+    sha256 = "05fy6826n449adlglwi8s31km4yhd8hbd9yml8k204cb81w00zyk";
   };
 
   vendorSha256 = "0p2pibid2d761whfk7zgq230lyqi2f0wmfvxqkjzrd1sba40r9bp";
diff --git a/nixpkgs/pkgs/tools/admin/lexicon/default.nix b/nixpkgs/pkgs/tools/admin/lexicon/default.nix
index 3af266c81753..6c105cf9b335 100644
--- a/nixpkgs/pkgs/tools/admin/lexicon/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lexicon/default.nix
@@ -1,29 +1,81 @@
 { lib
-, python3Packages
+, python3
 , fetchFromGitHub
 }:
 
-python3Packages.buildPythonApplication rec {
-  pname = "lexicon";
-  version = "3.3.27";
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      # until https://github.com/ags-slc/localzone/issues/1 gets resolved
+      dnspython = super.dnspython.overridePythonAttrs(oldAttrs: rec {
+        pname = "dnspython";
+        version = "1.16.0";
+        # since name is defined from the previous derivation, need to override
+        # name explicity for correct version to show in drvName
+        name = "${pname}-${version}";
 
-  propagatedBuildInputs = with python3Packages; [ requests tldextract future cryptography pyyaml boto3 zeep xmltodict beautifulsoup4 dnspython pynamecheap softlayer transip localzone ];
+        src = super.fetchPypi {
+          inherit pname version;
+          extension = "zip";
+          sha256 = "00cfamn97w2vhq3id87f10mjna8ag5yz5dw0cy5s0sa3ipiyii9n";
+        };
+      });
 
-  checkInputs = with python3Packages; [ pytest pytestcov pytest_xdist vcrpy mock ];
+      localzone = super.localzone.overridePythonAttrs(oldAttrs: rec {
+        meta = oldAttrs.meta // { broken = false; };
+      });
+    };
+  };
+in
+  with py.pkgs;
 
-  checkPhase = ''
-    pytest --ignore=lexicon/tests/providers/test_auto.py
-  '';
+buildPythonApplication rec {
+  pname = "lexicon";
+  version = "3.5.2";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "AnalogJ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i6grrpdwh7axhnsabb0pfjhpd3prc9ji1afivi7q3c0krgvncmc";
+    sha256 = "1jsc2ybbf3mbvgzkgliria494dpj23mgqnw2lh43cnd9rgsjvzn3";
   };
 
+  nativeBuildInputs = [
+    poetry
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    boto3
+    cryptography
+    dnspython
+    future
+    localzone
+    pynamecheap
+    pyyaml
+    requests
+    softlayer
+    tldextract
+    transip
+    xmltodict
+    zeep
+  ];
+
+  checkInputs = [
+    mock
+    pytest
+    pytestcov
+    pytest_xdist
+    vcrpy
+  ];
+
+  checkPhase = ''
+    pytest --ignore=lexicon/tests/providers/test_auto.py
+  '';
+
   meta = with lib; {
-    description = "Manipulate DNS records on various DNS providers in a standardized way.";
+    description = "Manipulate DNS records on various DNS providers in a standardized way";
     homepage = "https://github.com/AnalogJ/lexicon";
     maintainers = with maintainers; [ flyfloh ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 3d62e39c6ed3..0a079c5107f9 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.6";
+  version = "4.9";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://github.com/lxc/lxd/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "011fsyafmpis6j0aq7vwd56m2mcb9v3rn4f246ms5nx6zgmga0ip";
+    sha256 = "0sq3avgsrdzkbsil0xsri60xxi0bzf4l6w43w23lbhacrby1spj4";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/admin/mycli/default.nix b/nixpkgs/pkgs/tools/admin/mycli/default.nix
index 4745d065be93..01b82dde4d51 100644
--- a/nixpkgs/pkgs/tools/admin/mycli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/mycli/default.nix
@@ -1,6 +1,7 @@
 { lib
 , python3
 , glibcLocales
+, fetchpatch
 }:
 
 with python3.pkgs;
@@ -28,7 +29,21 @@ buildPythonApplication rec {
       --ignore=mycli/packages/paramiko_stub/__init__.py
   '';
 
-  meta = {
+  patches = [
+    # TODO: remove with next release (v1.22.3 or v1.23)
+    (fetchpatch {
+      url = "https://github.com/dbcli/mycli/commit/17f093d7b70ab2d9f3c6eababa041bf76f029aac.patch";
+      sha256 = "sha256-VwfbtzUtElV+ErH+NJb+3pRtSaF0yVK8gEWCvlzZNHI=";
+      excludes = [ "changelog.md" "mycli/AUTHORS" ];
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "sqlparse>=0.3.0,<0.4.0" "sqlparse"
+  '';
+
+  meta = with lib; {
     inherit version;
     description = "Command-line interface for MySQL";
     longDescription = ''
@@ -36,7 +51,7 @@ buildPythonApplication rec {
       syntax highlighting.
     '';
     homepage = "http://mycli.net";
-    license = lib.licenses.bsd3;
-    maintainers = [ lib.maintainers.jojosch ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jojosch ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix b/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
index 4657c64d3307..50083535a2da 100644
--- a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
+++ b/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
@@ -1,10 +1,10 @@
 { stdenv, file, fetchurl, makeWrapper,
   autoPatchelfHook, jsoncpp, libpulseaudio }:
 let
-  versionMajor = "6.11";
-  versionMinor = "2";
-  versionBuild_x86_64 = "1";
-  versionBuild_i686 = "1";
+  versionMajor = "6.12";
+  versionMinor = "3";
+  versionBuild_x86_64 = "7";
+  versionBuild_i686 = "8";
 in
   stdenv.mkDerivation rec {
     pname = "nomachine-client";
@@ -17,7 +17,7 @@ in
             "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"
             "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"
           ];
-          sha256 = "1b6r9bwkr8mhaljma19ikxpkmlx8iy5r1vf5hlv27bja2zz1r8xr";
+          sha256 = "1dqsqwxbd77g6gc0hvjmmg4flm3vwwv5y98m8d9wxyybp37vkmgd";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
@@ -25,7 +25,7 @@ in
             "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"
             "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"
           ];
-          sha256 = "0dl138ry9n1qh651zh0zvp88qhgxrs2kvvnq329jw0py5v70b9pm";
+          sha256 = "1q14hxjy66s5cpq19rshscsm679csb6p16c5p2agh5zd64cr4am6";
         }
       else
         throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/tools/admin/oxidized/default.nix b/nixpkgs/pkgs/tools/admin/oxidized/default.nix
index 01129c5afb10..022b304a8459 100644
--- a/nixpkgs/pkgs/tools/admin/oxidized/default.nix
+++ b/nixpkgs/pkgs/tools/admin/oxidized/default.nix
@@ -11,7 +11,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "oxidized";
 
   meta = with lib; {
-    description = "Oxidized is a network device configuration backup tool. It's a RANCID replacement!";
+    description = "A network device configuration backup tool. It's a RANCID replacement!";
     homepage    = "https://github.com/ytti/oxidized";
     license     = licenses.asl20;
     maintainers = with maintainers; [ willibutz nicknovitski ];
diff --git a/nixpkgs/pkgs/tools/admin/procs/default.nix b/nixpkgs/pkgs/tools/admin/procs/default.nix
index 54bdf238e3f2..2c11b6f4523b 100644
--- a/nixpkgs/pkgs/tools/admin/procs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/procs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.10.4";
+  version = "0.10.10";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1a28kkxcrdfmrq2mmsfkdxfp3msklwga5nbfhjb7a7s64xh8jmjv";
+    sha256 = "12p95nybsisqpji01qgkp5wfg7fwk814xdsz338q9wac8nvqw9w3";
   };
 
-  cargoSha256 = "1xlxjr0pkwlzm7f5xlrsf76in28r9jj41n6gn44vxqbh4x161gs1";
+  cargoSha256 = "13wfz0ig9dsl0h085rzlrx0dg9la957c50xyzjfxq1ybw2qr266b";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     description = "A modern replacement for ps written in Rust";
     homepage = "https://github.com/dalance/procs";
     license = licenses.mit;
-    maintainers = with maintainers; [ dalance filalex77 ];
+    maintainers = with maintainers; [ dalance Br1ght0ne ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
index 7d2523b4073d..1bcee96c9fff 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -1,178 +1,178 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "2.10.2";
+  version = "2.15.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.10.2-linux-x64.tar.gz";
-        sha256 = "0pxm90vmha265zc4b1ip2f3iryslkwxznn4kb8l3ma6gibz1zav3";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.15.0-linux-x64.tar.gz";
+        sha256 = "0yvzqqcfmgblig5jwdc07phyhnfjzvjd1qm0vgfi9ll9y88l33lc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.1.0-linux-amd64.tar.gz";
-        sha256 = "1l4kszzw1w862sfd4jnz66lwnp02p4kl1fwvj5ab81qfwzwg0cfx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.3.0-linux-amd64.tar.gz";
+        sha256 = "1rpmzra42kx2jnhdbnqg120lbnpw86y00vkqbqc3qyagi260f01g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "1gzjdafx5zsqrb5r3amskak51ajcpqbbfw45939jdsdll8vclw7g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.19.0-linux-amd64.tar.gz";
+        sha256 = "0y0j1aflrfas9sfr4g7jbn2cnhlz9hpz5il6qykz0m01v6sv604w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.6.0-linux-amd64.tar.gz";
-        sha256 = "0myvx2glqnx29l4wd5vx4gm773zrcmwcjvs2b1yv63fl10md9sv7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.8.0-linux-amd64.tar.gz";
+        sha256 = "174b6r2vhbf9svknidd05sccjzihp97wcd8jwy6dll83d8f8v2xn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.5.0-linux-amd64.tar.gz";
-        sha256 = "12cajd8jiqy11s880vsv20gqfm44g160x7fxm93agjl7wng32ad6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.6.2-linux-amd64.tar.gz";
+        sha256 = "0xq36wh57w7b7l5skx173lj3chl4rfgbfdivsvyjlnfahh2fmfr4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.8.0-linux-amd64.tar.gz";
-        sha256 = "0k429fh477f84kmnhyl5s9p0yym7d6sdq7hy7wqx6psxp4rf5h9x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.11.0-linux-amd64.tar.gz";
+        sha256 = "0p2i0k0js3js35jcphf64rzxs7zg9wq25yfzd9q6b2kp2vyqbvjs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v2.8.0-linux-amd64.tar.gz";
-        sha256 = "045z7qj23bq71nxfjk1vvnfbjcnqfkcbxbpjz72q0hw4xn7dq6jz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.1.1-linux-amd64.tar.gz";
+        sha256 = "1hzf4668sljy2g6s9xz6lvn8cbjy8bb2flhdmc4ln69xxcsslj9z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.3.0-linux-amd64.tar.gz";
-        sha256 = "16d0jd3429pr4vlrzrv32w2fa53j7gyqq5lc78gw9j4v3mc3scvz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.4.1-linux-amd64.tar.gz";
+        sha256 = "0fr8ac7864ph02hhl3f08xjyk626c4zbcf8nr7xhmh2ifz6sj9sl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v3.25.0-linux-amd64.tar.gz";
-        sha256 = "0gz4kpddaf9p25lfnp70p6197wrfgsiys7s4vdy75z8dyd4sbiv0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.4.0-linux-amd64.tar.gz";
+        sha256 = "0zx9yy97n0wk87ylgq67nphagfp1gas5z99mcfmlh9rf4mj8fhpz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.0.0-linux-amd64.tar.gz";
-        sha256 = "0n2532gfb5i53raya07rn8wcp15rc07jfg8wsm2lfzj7a4mp2p6c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.3.0-linux-amd64.tar.gz";
+        sha256 = "02c0nmnk27q9ssv7wv8s30ysxnkqbq7sd004gia4wxf97fhlhl5x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v2.6.0-linux-amd64.tar.gz";
-        sha256 = "16l1a30rkg9l6yh68qv61dgm3h3gdgpsdacvnfg1ra0fvvfs9477";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "01rpv9m6mj8yqz302g15x4yp37pp4ghdc686n4l7xz08xdb209xi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.2.0-linux-amd64.tar.gz";
-        sha256 = "1m2w8gsksr36pprxr6v3v4y3n7x5ycbcdfywv67yxmbi4lxyy3ar";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.4.0-linux-amd64.tar.gz";
+        sha256 = "1w4cjgccm29ncqb7jfsf9ajlvq0q8h5mnz4v5lxwyx21n80kq34p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.6.1-linux-amd64.tar.gz";
-        sha256 = "01vnbgck1ffj4jg8ghmkjp63xq3r9q3459vy03xpzm14l1i6agwv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.3-linux-amd64.tar.gz";
+        sha256 = "0imqwx4v6qsk10anxvnaxpxg87mm34x0qcq30c435mcfrly728sp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.2.0-linux-amd64.tar.gz";
-        sha256 = "1g05kqymbkrxf48iskn9w12kxy880allhqm9a7p4g7mx0174yfhm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.1-linux-amd64.tar.gz";
+        sha256 = "0zrza0i73ld16szbbsz3h9p9z09ws2pf380kzb1358g70ayvzga3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.2.1-linux-amd64.tar.gz";
-        sha256 = "1fa5i283nisa6cq02fcrsgwkw7bwnh2j3agjbqyvv2xiss34i7hw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.3.2-linux-amd64.tar.gz";
+        sha256 = "12gs049074vn5s0njza0r48bk5z8d7bfc50j2mbbylkdrlrl87ci";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.6.0-linux-amd64.tar.gz";
-        sha256 = "0ihiag248c30dz4z2b559689zqwp52p0m7pv7jqpk86xwvimbsn1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.9.0-linux-amd64.tar.gz";
+        sha256 = "1vqzl72q939i381vy6dkn75xv09vjs2mg2prbmx63j3hylgb9m6r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0jwvdsb26bhsqcbrsw9ss54xgpccl830hhbwnbz8ql8yndd35srg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
+        sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.4.0-linux-amd64.tar.gz";
-        sha256 = "1wr4p312xwqi0icn153iv2j88rp37wkf8hc5y4pmdr61vd0kpw7w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.5.2-linux-amd64.tar.gz";
+        sha256 = "1xxhc5sy3z391dgzzb4s6wzad2n2j3f5g158wffcj8jss2ylbh1x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v2.3.1-linux-amd64.tar.gz";
-        sha256 = "0xq3as94i9ah9dv1cabgdqjg68yg7laksfzpf81s6kcv742cnnqi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v2.4.2-linux-amd64.tar.gz";
+        sha256 = "02xq4mph35fnziz6fb230cvd828yfs030nmi3a4hwh4w1xbr24iw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v2.4.0-linux-amd64.tar.gz";
-        sha256 = "1av7fj1jlhhqplqq60d6hzzidlhsvr41z9p1x3mvz5frwijxr1ab";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0avlf8gyh52zc11a87izy2v8iy4zvbfv6zrm8zg1i5ar43xqg3pm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.10.0-linux-amd64.tar.gz";
-        sha256 = "1bgw5xw6f01whxlm5358xn6v9wqz9mxg3dvb5vi7rfs9wwxykr4g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.2-linux-amd64.tar.gz";
+        sha256 = "1wb953vm990c4dsb757msmz7ws844alad3g68sfy029cgmnf8q5i";
       }
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.10.2-darwin-x64.tar.gz";
-        sha256 = "1fzqylx7pmrpvsxrmhlx56v9i9zkid96zrj9hsc26qhx5w7k600w";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.15.0-darwin-x64.tar.gz";
+        sha256 = "08hyk06qwm1aibpyqb07h83gc6nfp0cwf6hikf8mc18b2mrwr27r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.1.0-darwin-amd64.tar.gz";
-        sha256 = "05dxpdwdg8cd1a6d3xh8dkns5wkvpr0v11bb4zdzv38x6wxnqx0z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.3.0-darwin-amd64.tar.gz";
+        sha256 = "0ih9l3pkqxfslc11qcgwshxqxbcwy5wfpjczahny6mkgqwmxixnx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "1jbnx1wpzh2k127ixh9j0ghlqhj3sc1s17cp3ax3q9gq3cadcl5i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.19.0-darwin-amd64.tar.gz";
+        sha256 = "0yqm66av2yb9qndpkxxisjml66dyg3zhzkb9fr6kywx8xar4gfdp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.6.0-darwin-amd64.tar.gz";
-        sha256 = "0lpf3cqi3kss7hmr8a3y6gmwjl854vmva4f9p9q7147rxr8aw5f9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.8.0-darwin-amd64.tar.gz";
+        sha256 = "02is7mfbzhv8bkyn4vk1x9b6m1v9c21chihpry6cjdhpq46bfssf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.5.0-darwin-amd64.tar.gz";
-        sha256 = "0qwjrhmspibjr17kgswfcgbdhmkicqrjd1md6azingdr5wp7cwwm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.6.2-darwin-amd64.tar.gz";
+        sha256 = "09z1kn5gbgda0d4sfyd17qv1p9ldvxn8jbd049s46gvalmqbfwpd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.8.0-darwin-amd64.tar.gz";
-        sha256 = "0rwgbpif7l3ayh363cz0k2dir36a87x0bszspq3nm3xbwmd190f0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.11.0-darwin-amd64.tar.gz";
+        sha256 = "1r0r6hpchkiq6bg3z6bqnqqz8s96pijsp6rn1dby9f2kaqmar23c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v2.8.0-darwin-amd64.tar.gz";
-        sha256 = "0943r8x70gxxkfn0rhcx2b9zya44k28j5s8z2m8jn2i1fvqvahq5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.1.1-darwin-amd64.tar.gz";
+        sha256 = "1nrj3lh2asw6169pddjp83q6ll3w5fjp854bdrx99zajpv7gd0gm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.3.0-darwin-amd64.tar.gz";
-        sha256 = "1nvqjc1zrxfn2r1wdh2sdr2vimar5836bhscqsiaw4i6mjdsggfy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.4.1-darwin-amd64.tar.gz";
+        sha256 = "0y76cy3h0n004lfch37gf9vi8glxnxixwmf1zby3izxd34pyri17";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v3.25.0-darwin-amd64.tar.gz";
-        sha256 = "05x0qlv3xkkvs71ixzmc21ck85w9f4a4dxrwmgkq6c0nhy3npbnj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.4.0-darwin-amd64.tar.gz";
+        sha256 = "09zc0sg2h07c97bqbh3ma4pgs232nbd0q5l43992nqa4mn5b8w14";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.0.0-darwin-amd64.tar.gz";
-        sha256 = "1m80l75r2w46m7191igjan4ipfkhc9ld1xlybncd628qlcf2jpqz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.3.0-darwin-amd64.tar.gz";
+        sha256 = "08crawyaa26llqc3hj2grba0546ny8zwj8dfg6i46ad3kx1nmycq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v2.6.0-darwin-amd64.tar.gz";
-        sha256 = "0dan0qqvaxfh90db14s7adjjy670lz15bbm6a8fjfyj4fdhsbwyn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "12ny0kmly1blj8hd8dlzqbg1pbfh37259x3k2kxx2zcqvcw9y4z9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.2.0-darwin-amd64.tar.gz";
-        sha256 = "1gznv5d10pxbkyl4hbd4c9skkgkypfs1xg0jjmszkwxcjzvhc4l3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.4.0-darwin-amd64.tar.gz";
+        sha256 = "0svbnv3axy397w2hi3g1mghcahq88aj4jsnipn3lyxrm29n4wna7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.6.1-darwin-amd64.tar.gz";
-        sha256 = "08w8by7h9nlgvyap2in6yy21dk46fxvl93h4ghaw7xxjjs2l3dfi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.3-darwin-amd64.tar.gz";
+        sha256 = "1viwi0ji1qqy4ysl4a9dhv8sfpg8sp3w4i9ndvxs2m7zq0hbndbs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.2.0-darwin-amd64.tar.gz";
-        sha256 = "0qjszd30r3094p5m7v5gynx2kxh9xf9878mxdc2wnswpkpw3v5pb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.1-darwin-amd64.tar.gz";
+        sha256 = "1382c66vfkzr4hinqi45g7w9s7zv8yhj4in5wnd20s3cg5890mr1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.2.1-darwin-amd64.tar.gz";
-        sha256 = "1a19lmxi8r8h4yfll0k97kvq0lgkzwvrwf52ny4zl67bc9g4jr5p";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.3.2-darwin-amd64.tar.gz";
+        sha256 = "1fb6p0nafs3s0kablwyq8v5kf5bs0fi9hkgwkz8hl0ydijzpasl4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.6.0-darwin-amd64.tar.gz";
-        sha256 = "11vfjkmhrq7q4j6h5d2sdzan3ziyhl5qhc0fhfnsz2pxss549zab";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.9.0-darwin-amd64.tar.gz";
+        sha256 = "0dhxhsjb3vbc1bq4pgidadiyfr3gasj0h344prcjzcaxymb3609f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "1ny1m6pb44k77gqf97km3gkb7dwhilkmqi2zy4hdl20js1ijsh7p";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
+        sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.4.0-darwin-amd64.tar.gz";
-        sha256 = "1vm2pfj93wi6q7kcrqwy9190mx0jn2p96algcd5gms48a4m8bgpb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.5.2-darwin-amd64.tar.gz";
+        sha256 = "0mf7a33ldvfx3yiprprh0cdb4bcnjcp7dhl0bifwyi644v94ffm1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v2.3.1-darwin-amd64.tar.gz";
-        sha256 = "0mnmlvyppfndq1rwy4k40j0syy590v2lg75kg0rnf16qlpffskn9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v2.4.2-darwin-amd64.tar.gz";
+        sha256 = "0f77ja9cvhcl86654a3gmb399c7ybigznmxxd8f6f2m7x44pih4q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v2.4.0-darwin-amd64.tar.gz";
-        sha256 = "0q9qbqalask628cbi3347pjbnm3304c8qhx7h8icqxxh59mjnhr7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "18i81mdws02kfil8zcrnjl3i4gjxqix9n04flz67mqw730mhr3ss";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.10.0-darwin-amd64.tar.gz";
-        sha256 = "1gxiqq6hk77s1n3q3p92p0yykpihw2k8lv01dra015fjha6pyl19";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.2-darwin-amd64.tar.gz";
+        sha256 = "1mw70j1iky98k09739mq1b7lsarvlqp2kcm26555520z78ifiibh";
       }
     ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
index 5e0c721959c3..80acc33322d0 100755
--- a/nixpkgs/pkgs/tools/admin/pulumi/update.sh
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -3,31 +3,31 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="2.10.2"
+VERSION="2.15.0"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
-    "auth0=1.1.0"
-    "aws=3.4.0"
-    "cloudflare=2.6.0"
-    "consul=2.5.0"
-    "datadog=2.8.0"
-    "digitalocean=2.8.0"
-    "docker=2.3.0"
-    "gcp=3.25.0"
-    "github=2.0.0"
-    "gitlab=2.6.0"
-    "hcloud=0.2.0"
-    "kubernetes=2.6.1"
-    "mailgun=2.2.0"
-    "mysql=2.2.1"
-    "openstack=2.6.0"
-    "packet=3.1.0"
-    "postgresql=2.4.0"
-    "random=2.3.1"
-    "vault=2.4.0"
-    "vsphere=2.10.0"
+    "auth0=1.3.0"
+    "aws=3.19.0"
+    "cloudflare=2.8.0"
+    "consul=2.6.2"
+    "datadog=2.11.0"
+    "digitalocean=3.1.1"
+    "docker=2.4.1"
+    "gcp=4.4.0"
+    "github=2.3.0"
+    "gitlab=3.3.0"
+    "hcloud=0.4.0"
+    "kubernetes=2.7.3"
+    "mailgun=2.3.1"
+    "mysql=2.3.2"
+    "openstack=2.9.0"
+    "packet=3.2.2"
+    "postgresql=2.5.2"
+    "random=2.4.2"
+    "vault=3.1.0"
+    "vsphere=2.11.2"
     );
 
 function genMainSrc() {
diff --git a/nixpkgs/pkgs/tools/admin/salt/default.nix b/nixpkgs/pkgs/tools/admin/salt/default.nix
index 83b69b12fea1..ad0cae6ecde6 100644
--- a/nixpkgs/pkgs/tools/admin/salt/default.nix
+++ b/nixpkgs/pkgs/tools/admin/salt/default.nix
@@ -7,11 +7,11 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3001.1";
+  version = "3002.2";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1g2sdcibir0zhldmngv1iyzlhh2adq9dqjc73grap3df5zcv9sz9";
+    sha256 = "vW0pYhzo4JlBJ3fNOWrzVHSqESuwmZtdqAQ4fYcpAHU=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -40,8 +40,9 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://saltstack.com/";
+    changelog = "https://docs.saltstack.com/en/latest/topics/releases/${version}.html";
     description = "Portable, distributed, remote execution and configuration management system";
-    maintainers = with maintainers; [ aneeshusa ];
+    maintainers = with maintainers; [ Flakebi ];
     license = licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
new file mode 100644
index 000000000000..1d4275c65cbd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ssmsh";
+  version = "1.4.4";
+
+  src = fetchFromGitHub {
+    owner = "bwhaley";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mgx4q21f6rxih79l0hwgzwafxviz5a33dpvc5k0z172sfw0dmj1";
+  };
+
+  vendorSha256 = "147f02bl3sf073dy2ximbavdcbphdn7djgisla1cyyy4ng6dhf7f";
+
+  doCheck = true;
+
+  buildFlagsArray = [ "-ldflags=-w -s -X main.Version=${version}" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/bwhaley/ssmsh";
+    description = "An interactive shell for AWS Parameter Store";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dbirks ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
new file mode 100644
index 000000000000..f675e7518f58
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "stripe-cli";
+  version = "1.5.5";
+
+  src = fetchFromGitHub {
+    owner = "stripe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0r0szzw3xl9cn5vcqgn6sc4wbk2j17r1rhg14qgix835lzp9wpdv";
+  };
+
+  vendorSha256 = "05cyn9cgmijj6dl075slwm5qc6fj6m5sm414wqm50xz2fjs0400r";
+
+  subPackages = [
+    "cmd/stripe"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://stripe.com/docs/stripe-cli";
+    description = "A command-line tool for Stripe";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ RaghavSood ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/swiftclient/default.nix b/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
index 91860d2df08e..512a7f620923 100644
--- a/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
+++ b/nixpkgs/pkgs/tools/admin/swiftclient/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "python-swiftclient";
-  version = "3.9.0";
+  version = "3.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xx3v5kk8jp352rydy3jxndy1b9kl2zmkj1gi14fjxjc5r4rf82g";
+    sha256 = "3972f8b1986e60ea786ad01697e6882f331209ae947ef8b795531940f1e0732b";
   };
 
   propagatedBuildInputs = [ requests six pbr setuptools ];
diff --git a/nixpkgs/pkgs/tools/admin/trivy/default.nix b/nixpkgs/pkgs/tools/admin/trivy/default.nix
new file mode 100644
index 000000000000..0a4bf934d805
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/trivy/default.nix
@@ -0,0 +1,39 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "trivy";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "aquasecurity";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11fd32qb69g23lxrynsnfy8a783sl60rzknvq4shdg41p2ikigdk";
+  };
+
+  vendorSha256 = "09birwc8x90l2y0znf4fwny3phnmq0cz0l2z3xzwg0j3msrdl2np";
+
+  subPackages = [ "cmd/trivy" ];
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X main.version=v${version}"
+  ];
+
+  meta = with lib; {
+    description = "A simple and comprehensive vulnerability scanner for containers, suitable for CI";
+    longDescription = ''
+      Trivy is a simple and comprehensive vulnerability scanner for containers
+      and other artifacts. A software vulnerability is a glitch, flaw, or
+      weakness present in the software or in an Operating System. Trivy detects
+      vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and
+      application dependencies (Bundler, Composer, npm, yarn, etc.).
+    '';
+    homepage = src.meta.homepage;
+    changelog = "${src.meta.homepage}/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/vncdo/default.nix b/nixpkgs/pkgs/tools/admin/vncdo/default.nix
deleted file mode 100644
index 5ca633a944b2..000000000000
--- a/nixpkgs/pkgs/tools/admin/vncdo/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchFromGitHub
-, python2Packages
-}:
-python2Packages.buildPythonPackage {
-  pname = "vncdo";
-  version = "0.11.2";
-
-  src = fetchFromGitHub {
-    owner = "sibson";
-    repo = "vncdotool";
-    rev = "5c03a82dcb5a3bd9e8f741f8a8d0c1ce082f2834";
-    sha256 = "0k03b09ipsz8vp362x7sx7z68mxgqw9qzvkii2f8j9vx2y79rjsh";
-  };
-
-  propagatedBuildInputs = with python2Packages; [
-    pillow
-    twisted
-    pexpect
-    nose
-    ptyprocess
-  ];
-
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/sibson/vncdotool";
-    description = "A command line VNC client and python library";
-    license = licenses.mit;
-    maintainers = with maintainers; [ elitak ];
-    platforms = with platforms; linux ++ darwin;
-  };
-
-}
diff --git a/nixpkgs/pkgs/tools/archivers/arc_unpacker/default.nix b/nixpkgs/pkgs/tools/archivers/arc_unpacker/default.nix
new file mode 100644
index 000000000000..76eb9a7fccbc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/arc_unpacker/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libjpeg, zlib
+, openssl, libwebp, catch }:
+
+stdenv.mkDerivation rec {
+  pname = "arc_unpacker-unstable";
+  version = "2019-01-28";
+
+  src = fetchFromGitHub {
+    owner = "vn-tools";
+    repo = "arc_unpacker";
+    # Since the latest release (0.11) doesn't build, we've opened an upstream
+    # issue in https://github.com/vn-tools/arc_unpacker/issues/187 to ask if a
+    # a new release is upcoming
+    rev = "b9843a13e2b67a618020fc12918aa8d7697ddfd5";
+    sha256 = "0wpl30569cip3im40p3n22s11x0172a3axnzwmax62aqlf8kdy14";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper catch ];
+  buildInputs = [ boost libpng libjpeg zlib openssl libwebp ];
+
+  postPatch = ''
+    cp ${catch}/include/catch/catch.hpp tests/test_support/catch.h
+  '';
+
+  checkPhase = ''
+    pushd ..
+    ./build/run_tests
+    popd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/doc/arc_unpacker $out/libexec/arc_unpacker
+    cp arc_unpacker $out/libexec/arc_unpacker/arc_unpacker
+    cp ../GAMELIST.{htm,js} $out/share/doc/arc_unpacker
+    cp -r ../etc $out/libexec/arc_unpacker
+    makeWrapper $out/libexec/arc_unpacker/arc_unpacker $out/bin/arc_unpacker
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "A tool to extract files from visual novel archives";
+    homepage = "https://github.com/vn-tools/arc_unpacker";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ midchildan ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/archivers/ctrtool/default.nix b/nixpkgs/pkgs/tools/archivers/ctrtool/default.nix
index 97abeadffc09..4b8eb4dfab2e 100644
--- a/nixpkgs/pkgs/tools/archivers/ctrtool/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/ctrtool/default.nix
@@ -2,22 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "ctrtool";
-  version = "0.16";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner  = "jakcron";
     repo   = "Project_CTR";
-    rev    = "v${version}";
-    sha256 = "1n3j3fd1bqd39v5bdl9mhq4qdrcl1k4ib1yzl3qfckaz3y8bkrap";
+    rev    = "ctrtool-v${version}";
+    sha256 = "07aayck82w5xcp3si35d7ghybmrbqw91fqqvmbpjrjcixc6m42z7";
   };
 
   sourceRoot = "source/ctrtool";
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++"];
   enableParallelBuilding = true;
 
   installPhase = "
     mkdir $out/bin -p
-    cp ctrtool $out/bin/ctrtool
+    cp ctrtool${stdenv.hostPlatform.extensions.executable} $out/bin/
   ";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix b/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
index 31341e417875..721accd93f03 100644
--- a/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , zlib, bzip2, lzma, lzo, lz4, zstd, xz
-, libgcrypt, e2fsprogs, utillinux, libgpgerror }:
+, libgcrypt, e2fsprogs, util-linux, libgpgerror }:
 
 let
   version = "0.8.5";
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
 
   buildInputs = [
     zlib bzip2 lzma lzo lz4 zstd xz
-    libgcrypt e2fsprogs utillinux libgpgerror
+    libgcrypt e2fsprogs util-linux libgpgerror
   ];
 
   meta = with stdenv.lib; {
@@ -36,7 +36,7 @@ in stdenv.mkDerivation {
       checksummed in the archive in order to protect the data. If the archive is
       corrupt, you just loose the current file, not the whole archive.
     '';
-    homepage = "http://www.fsarchiver.org/";
+    homepage = "https://www.fsarchiver.org/";
     license = licenses.lgpl2;
     maintainers = [ maintainers.etu ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/archivers/p7zip/default.nix b/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
index a155c1717eb4..610e89c2fc3b 100644
--- a/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
   }
   ;
 
+  patches = [
+    ./gcc10.patch
+  ];
+
   # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
   postPatch = ''
     sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits
diff --git a/nixpkgs/pkgs/tools/archivers/p7zip/gcc10.patch b/nixpkgs/pkgs/tools/archivers/p7zip/gcc10.patch
new file mode 100644
index 000000000000..9361249af937
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/p7zip/gcc10.patch
@@ -0,0 +1,40 @@
+From 1b7d2c73f01b2d2b6a3d2d16840e96e92afdcd61 Mon Sep 17 00:00:00 2001
+From: jinfeihan57 <jinfeihan57@gmail.com>
+Date: Tue, 9 Jun 2020 16:48:25 +0800
+Subject: [PATCH] gix gcc10 compiler error
+
+---
+ CPP/Windows/ErrorMsg.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp
+index 99684ae..90a7e20 100644
+--- a/CPP/Windows/ErrorMsg.cpp
++++ b/CPP/Windows/ErrorMsg.cpp
+@@ -13,7 +13,7 @@ UString MyFormatMessage(DWORD errorCode)
+   const char * txt = 0;
+   AString msg;
+ 
+-  switch(errorCode) {
++  switch(HRESULT(errorCode)) {
+     case ERROR_NO_MORE_FILES   : txt = "No more files"; break ;
+     case E_NOTIMPL             : txt = "E_NOTIMPL"; break ;
+     case E_NOINTERFACE         : txt = "E_NOINTERFACE"; break ;
+@@ -22,7 +22,7 @@ UString MyFormatMessage(DWORD errorCode)
+     case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
+     case E_OUTOFMEMORY         : txt = "E_OUTOFMEMORY"; break ;
+     case E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
+-    case ERROR_DIRECTORY          : txt = "Error Directory"; break ;
++    case ERROR_DIRECTORY       : txt = "Error Directory"; break ;
+     default:
+       txt = strerror(errorCode);
+   }
+@@ -43,7 +43,7 @@ bool MyFormatMessage(DWORD messageID, CSysString &message)
+   const char * txt = 0;
+   AString msg;
+ 
+-  switch(messageID) {
++  switch(HRESULT(messageID)) {
+     case ERROR_NO_MORE_FILES   : txt = "No more files"; break ;
+     case E_NOTIMPL             : txt = "E_NOTIMPL"; break ;
+     case E_NOINTERFACE         : txt = "E_NOINTERFACE"; break ;
diff --git a/nixpkgs/pkgs/tools/archivers/pax/default.nix b/nixpkgs/pkgs/tools/archivers/pax/default.nix
new file mode 100644
index 000000000000..aa457b976d0d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/pax/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "pax";
+  version = "20201030";
+
+  src = fetchurl {
+    url = "http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${version}.tgz";
+    sha256 = "1p18nxijh323f4i1s2pg7pcr0557xljl5avv8ll5s9nfr34r5j0w";
+  };
+
+  buildPhase = ''
+    sh Build.sh -r -tpax
+  '';
+
+  installPhase = ''
+    install -Dm555 pax $out/bin/pax
+    ln -s $out/bin/pax $out/bin/paxcpio
+    ln -s $out/bin/pax $out/bin/paxtar
+    install -Dm444 mans/pax{,cpio,tar}.1 -t $out/share/man/man1/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "POSIX standard archive tool from MirBSD";
+    homepage = "https://www.mirbsd.org/pax.htm";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ gebner ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/archivers/unarj/default.nix b/nixpkgs/pkgs/tools/archivers/unarj/default.nix
deleted file mode 100644
index 61e60996e759..000000000000
--- a/nixpkgs/pkgs/tools/archivers/unarj/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation rec {
-  pname = "unarj";
-  version = "2.65";
-
-  src = fetchurl {
-    sha256 = "0r027z7a0azrd5k885xvwhrxicpd0ah57jzmaqlypxha2qjw7p6p";
-    url = "https://src.fedoraproject.org/repo/pkgs/unarj/${pname}-${version}.tar.gz/c6fe45db1741f97155c7def322aa74aa/${pname}-${version}.tar.gz";
-  };
-
-  preInstall = ''
-    mkdir -p $out/bin
-    sed -i -e s,/usr/local/bin,$out/bin, Makefile
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Unarchiver of ARJ files";
-    license = licenses.free;
-    # Vulnerable to CVE-2015-0557 & possibly CVE-2015-0556, CVE-2015-2782:
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix b/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
index fd53cd9b54bb..022c05a4c6fe 100644
--- a/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/xarchiver/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt }:
+{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt, makeWrapper,
+  coreutils, zip, unzip, p7zip, unrar, gnutar, bzip2, gzip, lhasa, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   version = "0.5.4.14";
@@ -11,9 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper wrapGAppsHook ];
   buildInputs = [ gtk3 intltool libxslt ];
 
+  postFixup = ''
+    wrapProgram $out/bin/xarchiver \
+    --prefix PATH : ${stdenv.lib.makeBinPath [ zip unzip p7zip unrar gnutar bzip2 gzip lhasa coreutils ]}
+  '';
+
   meta = {
     description = "GTK frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
     homepage = "https://github.com/ib/xarchiver";
diff --git a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
index 099ccc6f4cb8..139d684fb671 100644
--- a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.9";
+  version = "8.14.11";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0h4qzj9k5ng09nbkfipvr82piq68c576akjwmhsqn05rvgirmhx7";
+    sha256 = "0lzzr2nkfg27gljcrdxkmli1wp08vap3vgxq1zgkv7f43rbm0qnw";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
index 4ab394516a84..e33ff98587bf 100644
--- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2020.08.09";
+  version = "2020.11.07";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "1j7jkv2fdrhyyjavffb5nrs8p9mfp8zqqravcad1ayv1z2wxr8vl";
+    sha256 = "0zwzgqy1wa7yd2cm6spq11lw21mdn92lx8qzrxpk9kxcl03mv5jd";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/nixpkgs/pkgs/tools/audio/aucdtect/default.nix b/nixpkgs/pkgs/tools/audio/aucdtect/default.nix
deleted file mode 100644
index ad9d5fb86905..000000000000
--- a/nixpkgs/pkgs/tools/audio/aucdtect/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, lib, rpmextract }:
-
-with lib;
-
-stdenv.mkDerivation rec {
-  pname = "aucdtect";
-  version = "0.8-2";
-
-  src = fetchurl {
-    url = "http://www.true-audio.com/ftp/${pname}-${version}.i586.rpm";
-    sha256 = "1lp5f0rq5b5n5il0c64m00gcfskarvgqslpryms9443d200y6mmd";
-  };
-
-  unpackCmd = "${rpmextract}/bin/rpmextract $src";
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 local/bin/auCDtect $out/bin/aucdtect
-
-    runHook postInstall
-  '';
-
-  dontStrip = true;
-
-  meta = with stdenv.lib; {
-    description = "Verify authenticity of lossless audio files";
-    homepage = "http://tausoft.org";
-    license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix b/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix
new file mode 100644
index 000000000000..9d674dcfe436
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake, gtest, boost, gd, libsndfile, libmad, libid3tag }:
+
+stdenv.mkDerivation rec {
+  pname = "audiowaveform";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "bbc";
+    repo = "audiowaveform";
+    rev = version;
+    sha256 = "0k2s2f2hgq4pnjzfkgvjwgsflihmzdq7shicfjn0z2mzw4d1bvp2";
+  };
+
+  nativeBuildInputs = [ cmake gtest ];
+
+  buildInputs = [ boost gd libsndfile libmad libid3tag ];
+
+  preConfigure = ''
+    ln -s ${gtest.src}/googletest googletest
+    ln -s ${gtest.src}/googlemock googlemock
+  '';
+
+  # One test is failing, see PR #101947
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "C++ program to generate waveform data and render waveform images from audio files";
+    longDescription = ''
+      audiowaveform is a C++ command-line application that generates waveform data from either MP3, WAV, FLAC, or Ogg Vorbis format audio files.
+      Waveform data can be used to produce a visual rendering of the audio, similar in appearance to audio editing applications.
+    '';
+    homepage = "https://github.com/bbc/audiowaveform";
+    changelog = "https://github.com/bbc/audiowaveform/blob/${version}/ChangeLog";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ edbentley ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch b/nixpkgs/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch
new file mode 100644
index 000000000000..6956183344c4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch
@@ -0,0 +1,21 @@
+diff --git i/beetsplug/badfiles.py w/beetsplug/badfiles.py
+index 36b45de3..5208b696 100644
+--- i/beetsplug/badfiles.py
++++ w/beetsplug/badfiles.py
+@@ -71,14 +71,14 @@ class BadFiles(BeetsPlugin):
+         return status, errors, [line for line in output.split("\n") if line]
+ 
+     def check_mp3val(self, path):
+-        status, errors, output = self.run_command(["mp3val", path])
++        status, errors, output = self.run_command(["@mp3val@/bin/mp3val", path])
+         if status == 0:
+             output = [line for line in output if line.startswith("WARNING:")]
+             errors = len(output)
+         return status, errors, output
+ 
+     def check_flac(self, path):
+-        return self.run_command(["flac", "-wst", path])
++        return self.run_command(["@flac@/bin/flac", "-wst", path])
+ 
+     def check_custom(self, command):
+         def checker(path):
diff --git a/nixpkgs/pkgs/tools/audio/beets/bash-completion-always-print.patch b/nixpkgs/pkgs/tools/audio/beets/bash-completion-always-print.patch
new file mode 100644
index 000000000000..7bc3e57117e3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/bash-completion-always-print.patch
@@ -0,0 +1,43 @@
+diff --git i/beets/ui/commands.py w/beets/ui/commands.py
+index 4d010f4b..0b023585 100755
+--- i/beets/ui/commands.py
++++ w/beets/ui/commands.py
+@@ -1741,20 +1741,6 @@ default_commands.append(config_cmd)
+ def print_completion(*args):
+     for line in completion_script(default_commands + plugins.commands()):
+         print_(line, end=u'')
+-    if not any(map(os.path.isfile, BASH_COMPLETION_PATHS)):
+-        log.warning(u'Warning: Unable to find the bash-completion package. '
+-                    u'Command line completion might not work.')
+-
+-BASH_COMPLETION_PATHS = map(syspath, [
+-    u'/etc/bash_completion',
+-    u'/usr/share/bash-completion/bash_completion',
+-    u'/usr/local/share/bash-completion/bash_completion',
+-    # SmartOS
+-    u'/opt/local/share/bash-completion/bash_completion',
+-    # Homebrew (before bash-completion2)
+-    u'/usr/local/etc/bash_completion',
+-])
+-
+ 
+ def completion_script(commands):
+     """Yield the full completion shell script as strings.
+diff --git i/test/test_ui.py w/test/test_ui.py
+index 5cfed1fd..9d3dc458 100644
+--- i/test/test_ui.py
++++ w/test/test_ui.py
+@@ -1230,12 +1230,7 @@ class CompletionTest(_common.TestCase, TestHelper):
+                                   stdout=subprocess.PIPE, env=env)
+ 
+         # Load bash_completion library.
+-        for path in commands.BASH_COMPLETION_PATHS:
+-            if os.path.exists(util.syspath(path)):
+-                bash_completion = path
+-                break
+-        else:
+-            self.skipTest(u'bash-completion script not found')
++        self.skipTest(u'bash-completion script not found')
+         try:
+             with open(util.syspath(bash_completion), 'rb') as f:
+                 tester.stdin.writelines(f)
diff --git a/nixpkgs/pkgs/tools/audio/beets/compatibility-with-breaking-changes-to-the-ast-module.patch b/nixpkgs/pkgs/tools/audio/beets/compatibility-with-breaking-changes-to-the-ast-module.patch
deleted file mode 100644
index 4865b6f62341..000000000000
--- a/nixpkgs/pkgs/tools/audio/beets/compatibility-with-breaking-changes-to-the-ast-module.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 771ce704ebeac4cd9bd74b3ddde9fb01f3dc7eb4 Mon Sep 17 00:00:00 2001
-From: wisp3rwind <17089248+wisp3rwind@users.noreply.github.com>
-Date: Tue, 9 Jun 2020 19:34:31 +0200
-Subject: [PATCH] compatibility with breaking changes to the ast module
-
-new in 3.10, also backported to 3.8 and 3.9: https://github.com/python/cpython/pull/20649
-In fact, our generation of some Literals has been invalid since Python
-3.4, fix that too.
----
- beets/util/functemplate.py | 29 ++++++++++++++++++++---------
- 1 file changed, 20 insertions(+), 9 deletions(-)
-
-diff --git a/beets/util/functemplate.py b/beets/util/functemplate.py
-index af22b790..266534a9 100644
---- a/beets/util/functemplate.py
-+++ b/beets/util/functemplate.py
-@@ -73,15 +73,26 @@ def ex_literal(val):
-     """An int, float, long, bool, string, or None literal with the given
-     value.
-     """
--    if val is None:
--        return ast.Name('None', ast.Load())
--    elif isinstance(val, six.integer_types):
--        return ast.Num(val)
--    elif isinstance(val, bool):
--        return ast.Name(bytes(val), ast.Load())
--    elif isinstance(val, six.string_types):
--        return ast.Str(val)
--    raise TypeError(u'no literal for {0}'.format(type(val)))
-+    if sys.version_info[:2] < (3, 4):
-+        if val is None:
-+            return ast.Name('None', ast.Load())
-+        elif isinstance(val, six.integer_types):
-+            return ast.Num(val)
-+        elif isinstance(val, bool):
-+            return ast.Name(bytes(val), ast.Load())
-+        elif isinstance(val, six.string_types):
-+            return ast.Str(val)
-+        raise TypeError(u'no literal for {0}'.format(type(val)))
-+    elif sys.version_info[:2] < (3, 6):
-+        if val in [None, True, False]:
-+            return ast.NameConstant(val)
-+        elif isinstance(val, six.integer_types):
-+            return ast.Num(val)
-+        elif isinstance(val, six.string_types):
-+            return ast.Str(val)
-+        raise TypeError(u'no literal for {0}'.format(type(val)))
-+    else:
-+        return ast.Constant(val)
- 
- 
- def ex_varassign(name, expr):
--- 
-2.27.0
-
diff --git a/nixpkgs/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch b/nixpkgs/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch
new file mode 100644
index 000000000000..bcc77179d796
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch
@@ -0,0 +1,43 @@
+diff --git i/beetsplug/convert.py w/beetsplug/convert.py
+index 70363f6e..2962aa4f 100644
+--- i/beetsplug/convert.py
++++ w/beetsplug/convert.py
+@@ -81,7 +81,7 @@ def get_format(fmt=None):
+         command = config['convert']['command'].as_str()
+     elif 'opts' in keys:
+         # Undocumented option for backwards compatibility with < 1.3.1.
+-        command = u'ffmpeg -i $source -y {0} $dest'.format(
++        command = u'@ffmpeg@/bin/ffmpeg -i $source -y {0} $dest'.format(
+             config['convert']['opts'].as_str()
+         )
+     if 'extension' in keys:
+@@ -121,22 +121,22 @@ class ConvertPlugin(BeetsPlugin):
+             u'id3v23': u'inherit',
+             u'formats': {
+                 u'aac': {
+-                    u'command': u'ffmpeg -i $source -y -vn -acodec aac '
++                    u'command': u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec aac '
+                                 u'-aq 1 $dest',
+                     u'extension': u'm4a',
+                 },
+                 u'alac': {
+-                    u'command': u'ffmpeg -i $source -y -vn -acodec alac $dest',
++                    u'command': u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec alac $dest',
+                     u'extension': u'm4a',
+                 },
+-                u'flac': u'ffmpeg -i $source -y -vn -acodec flac $dest',
+-                u'mp3': u'ffmpeg -i $source -y -vn -aq 2 $dest',
++                u'flac': u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec flac $dest',
++                u'mp3': u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -aq 2 $dest',
+                 u'opus':
+-                    u'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
++                    u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
+                 u'ogg':
+-                    u'ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
++                    u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
+                 u'wma':
+-                    u'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
++                    u'@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
+             },
+             u'max_bitrate': 500,
+             u'auto': False,
diff --git a/nixpkgs/pkgs/tools/audio/beets/default.nix b/nixpkgs/pkgs/tools/audio/beets/default.nix
index 56551891a4a5..f72692c845c7 100644
--- a/nixpkgs/pkgs/tools/audio/beets/default.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, writeScript, glibcLocales, diffPlugins
+{ stdenv, lib, fetchFromGitHub, writeScript, glibcLocales, diffPlugins, substituteAll
 , pythonPackages, imagemagick, gobject-introspection, gst_all_1
 , runtimeShell
 , fetchpatch
@@ -6,61 +6,70 @@
 # 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
-, enableConvert        ? true, ffmpeg_3 ? null
-, enableDiscogs        ? true
-, enableEmbyupdate     ? true
-, enableFetchart       ? true
-, enableGmusic         ? true
-, enableKeyfinder      ? true, keyfinder-cli ? null
-, enableKodiupdate     ? true
-, enableLastfm         ? true
-, enableLoadext        ? true
-, enableMpd            ? true
-, enablePlaylist       ? true
-, enableReplaygain     ? true, bs1770gain ? null
-, enableSonosUpdate    ? true
-, enableSubsonicupdate ? true
-, enableThumbnails     ? true
-, enableWeb            ? true
+, enableAbsubmit         ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
+, enableAcousticbrainz   ? true
+, enableAcoustid         ? true
+, enableBadfiles         ? true, flac ? null, mp3val ? null
+, enableBeatport         ? true
+, enableBpsync           ? true
+, enableConvert          ? true, ffmpeg ? null
+, enableDeezer           ? true
+, enableDiscogs          ? true
+, enableEmbyupdate       ? true
+, enableFetchart         ? true
+, enableGmusic           ? true
+, enableKeyfinder        ? true, keyfinder-cli ? null
+, enableKodiupdate       ? true
+, enableLastfm           ? true
+, enableLoadext          ? true
+, enableMpd              ? true
+, enablePlaylist         ? true
+, enableReplaygain       ? true
+, enableSonosUpdate      ? true
+, enableSubsonicplaylist ? true
+, enableSubsonicupdate   ? true
+, enableThumbnails       ? true
+, enableWeb              ? true
 
 # External plugins
-, enableAlternatives   ? false
-, enableCheck          ? false, liboggz ? null
-, enableCopyArtifacts  ? false
-, enableExtraFiles     ? false
+, enableAlternatives     ? false
+, enableCheck            ? false, liboggz ? null
+, enableCopyArtifacts    ? false
+, enableExtraFiles       ? false
 
 , bashInteractive, bash-completion
 }:
 
-assert enableAbsubmit    -> essentia-extractor            != null;
-assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
+assert enableAbsubmit    -> essentia-extractor               != null;
+assert enableAcoustid    -> pythonPackages.pyacoustid        != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
+assert enableBeatport    -> pythonPackages.requests_oauthlib != null;
+assert enableBpsync      -> enableBeatport;
 assert enableCheck       -> flac != null && mp3val != null && liboggz != null;
-assert enableConvert     -> ffmpeg_3 != null;
-assert enableDiscogs     -> pythonPackages.discogs_client != null;
-assert enableFetchart    -> pythonPackages.responses      != null;
-assert enableGmusic      -> pythonPackages.gmusicapi      != null;
-assert enableKeyfinder   -> keyfinder-cli != null;
-assert enableLastfm      -> pythonPackages.pylast         != null;
-assert enableMpd         -> pythonPackages.mpd2           != null;
-assert enableReplaygain  -> bs1770gain                    != null;
-assert enableSonosUpdate -> pythonPackages.soco           != null;
-assert enableThumbnails  -> pythonPackages.pyxdg          != null;
-assert enableWeb         -> pythonPackages.flask          != null;
-
-with stdenv.lib;
+assert enableConvert     -> ffmpeg                         != null;
+assert enableDiscogs     -> pythonPackages.discogs_client    != null;
+assert enableFetchart    -> pythonPackages.responses         != null;
+assert enableGmusic      -> pythonPackages.gmusicapi         != null;
+assert enableKeyfinder   -> keyfinder-cli                    != null;
+assert enableLastfm      -> pythonPackages.pylast            != null;
+assert enableMpd         -> pythonPackages.mpd2              != null;
+assert enableReplaygain  -> ffmpeg                         != null;
+assert enableSonosUpdate -> pythonPackages.soco              != null;
+assert enableThumbnails  -> pythonPackages.pyxdg             != null;
+assert enableWeb         -> pythonPackages.flask             != null;
+
+with lib;
 
 let
   optionalPlugins = {
     absubmit = enableAbsubmit;
     acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
+    beatport = enableBeatport;
+    bpsync = enableBpsync;
     chroma = enableAcoustid;
     convert = enableConvert;
+    deezer = enableDeezer;
     discogs = enableDiscogs;
     embyupdate = enableEmbyupdate;
     fetchart = enableFetchart;
@@ -75,18 +84,19 @@ let
     playlist = enablePlaylist;
     replaygain = enableReplaygain;
     sonosupdate = enableSonosUpdate;
+    subsonicplaylist = enableSubsonicplaylist;
     subsonicupdate = enableSubsonicupdate;
     thumbnails = enableThumbnails;
     web = enableWeb;
   };
 
   pluginsWithoutDeps = [
-    "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
-    "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
+    "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
+    "export" "filefilter" "fish" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
     "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
-    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
+    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "parentwork" "permissions" "play"
     "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
-    "types" "zero"
+    "types" "unimported" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -102,28 +112,33 @@ let
     enableAlternatives = false;
     enableCopyArtifacts = false;
     enableExtraFiles = false;
-  }).overrideAttrs (stdenv.lib.const {
+  }).overrideAttrs (const {
     doInstallCheck = false;
   });
 
   pluginArgs = externalTestArgs // { inherit pythonPackages; };
 
   plugins = {
-    alternatives = callPackage ./alternatives-plugin.nix pluginArgs;
-    check = callPackage ./check-plugin.nix pluginArgs;
-    copyartifacts = callPackage ./copyartifacts-plugin.nix pluginArgs;
-    extrafiles = callPackage ./extrafiles-plugin.nix pluginArgs;
+    alternatives = callPackage ./plugins/alternatives.nix pluginArgs;
+    check = callPackage ./plugins/check.nix pluginArgs;
+    copyartifacts = callPackage ./plugins/copyartifacts.nix pluginArgs;
+    extrafiles = callPackage ./plugins/extrafiles.nix pluginArgs;
   };
 
 in pythonPackages.buildPythonApplication rec {
   pname = "beets";
-  version = "1.4.9";
+  # While there is a stable version, 1.4.9, it is more than 1000 commits behind
+  # master and lacks many bug fixes and improvements[1]. Also important,
+  # unstable does not require bs1770gain[2].
+  # [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
+  # [2]: https://github.com/NixOS/nixpkgs/pull/90504
+  version = "unstable-2020-12-22";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
-    rev = "v${version}";
-    sha256 = "1qxdqbzvz97zgykzdwn78g2xyxmg0q2jdb12dnjnrwvhmjv67vi8";
+    rev = "53dcb24d10788897f20c341774b474808ec2c0b6";
+    sha256 = "sha256-P++NA13T2TRHW3Se10np8BSe/WRBYAKRte5xKoHKW50=";
   };
 
   propagatedBuildInputs = [
@@ -137,19 +152,25 @@ in pythonPackages.buildPythonApplication rec {
     pythonPackages.unidecode
     pythonPackages.gst-python
     pythonPackages.pygobject3
+    pythonPackages.reflink
+    pythonPackages.confuse
+    pythonPackages.mediafile
     gobject-introspection
   ] ++ optional enableAbsubmit      essentia-extractor
     ++ optional enableAcoustid      pythonPackages.pyacoustid
+    ++ optional enableBeatport      pythonPackages.requests_oauthlib
     ++ optional (enableFetchart
+              || enableDeezer
               || enableEmbyupdate
               || enableKodiupdate
               || enableLoadext
               || enablePlaylist
+              || enableSubsonicplaylist
               || enableSubsonicupdate
               || enableAcousticbrainz)
                                     pythonPackages.requests
     ++ optional enableCheck         plugins.check
-    ++ optional enableConvert       ffmpeg_3
+    ++ optional enableConvert       ffmpeg
     ++ optional enableDiscogs       pythonPackages.discogs_client
     ++ optional enableGmusic        pythonPackages.gmusicapi
     ++ optional enableKeyfinder     keyfinder-cli
@@ -187,41 +208,35 @@ in pythonPackages.buildPythonApplication rec {
   ];
 
   patches = [
-    ./replaygain-default-bs1770gain.patch
+    # Bash completion fix for Nix
+    ./bash-completion-always-print.patch
+    # From some reason upstream assumes the program 'keyfinder-cli' is located
+    # in the path as `KeyFinder`
     ./keyfinder-default-bin.patch
-    ./mutagen-1.43.patch
-    (fetchpatch {
-      # Fixes failing testcases around the werkzeug component; can dropped after 1.4.9
-      url = "https://github.com/beetbox/beets/commit/d43d54e21cde97f57f19486925ab56b419254cc8.patch";
-      sha256 = "13n2gzmcgfi0m2ycl2r1hpczgksplnkc3y6b66vg57rx5y8nnv5c";
+  ]
+    # We need to force ffmpeg as the default, since we do not package
+    # bs1770gain, and set the absolute path there, to avoid impurities.
+    ++ lib.optional enableReplaygain (substituteAll {
+      src = ./replaygain-default-ffmpeg.patch;
+      ffmpeg = getBin ffmpeg;
     })
+    # Put absolute Nix paths in place
+    ++ lib.optional enableConvert (substituteAll {
+      src = ./convert-plugin-ffmpeg-path.patch;
+      ffmpeg = getBin ffmpeg;
+    })
+    ++ lib.optional enableBadfiles (substituteAll {
+      src = ./badfiles-plugin-nix-paths.patch;
+      inherit mp3val flac;
+    })
+  ;
 
-    # Fixes 548 tests due to breaking changes to the ast module
-    # https://github.com/beetbox/beets/pull/3621
-    # Can be dropped after 1.4.9
-    ./compatibility-with-breaking-changes-to-the-ast-module.patch
-  ];
-
+  # Disable failing tests
   postPatch = ''
     sed -i -e '/assertIn.*item.*path/d' test/test_info.py
     echo echo completion tests passed > test/rsrc/test_completion.sh
 
-    sed -i -e '/^BASH_COMPLETION_PATHS *=/,/^])$/ {
-      /^])$/i u"${completion}"
-    }' beets/ui/commands.py
-  '' + optionalString enableBadfiles ''
-    sed -i -e '/self\.run_command(\[/ {
-      s,"flac","${flac.bin}/bin/flac",
-      s,"mp3val","${mp3val}/bin/mp3val",
-    }' beetsplug/badfiles.py
-  '' + optionalString enableConvert ''
-    sed -i -e 's,\(util\.command_output(\)\([^)]\+\)),\1[b"${ffmpeg_3.bin}/bin/ffmpeg" if args[0] == b"ffmpeg" else args[0]] + \2[1:]),' beetsplug/convert.py
-  '' + optionalString enableReplaygain ''
-    sed -i -re '
-      s!^( *cmd *= *b?['\'''"])(bs1770gain['\'''"])!\1${bs1770gain}/bin/\2!
-    ' beetsplug/replaygain.py
-    sed -i -e 's/if has_program.*bs1770gain.*:/if True:/' \
-      test/test_replaygain.py
+    sed -i -e 's/len(mf.images)/0/' test/test_zero.py
   '';
 
   postInstall = ''
@@ -281,7 +296,7 @@ in pythonPackages.buildPythonApplication rec {
     description = "Music tagger and library organizer";
     homepage = "http://beets.io";
     license = licenses.mit;
-    maintainers = with maintainers; [ aszlig domenkozar pjones ];
+    maintainers = with maintainers; [ aszlig domenkozar doronbehar lovesegfault pjones ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/beets/keyfinder-default-bin.patch b/nixpkgs/pkgs/tools/audio/beets/keyfinder-default-bin.patch
index 1ea195a678e8..ec6bc3a5561c 100644
--- a/nixpkgs/pkgs/tools/audio/beets/keyfinder-default-bin.patch
+++ b/nixpkgs/pkgs/tools/audio/beets/keyfinder-default-bin.patch
@@ -1,8 +1,8 @@
 diff --git a/beetsplug/keyfinder.py b/beetsplug/keyfinder.py
-index 34a4abc..59e8539 100644
+index 702003f0..08689cd8 100644
 --- a/beetsplug/keyfinder.py
 +++ b/beetsplug/keyfinder.py
-@@ -30,7 +30,7 @@ class KeyFinderPlugin(BeetsPlugin):
+@@ -31,7 +31,7 @@ class KeyFinderPlugin(BeetsPlugin):
      def __init__(self):
          super(KeyFinderPlugin, self).__init__()
          self.config.add({
@@ -11,18 +11,8 @@ index 34a4abc..59e8539 100644
              u'auto': True,
              u'overwrite': False,
          })
-@@ -59,8 +59,7 @@ class KeyFinderPlugin(BeetsPlugin):
-                 continue
- 
-             try:
--                output = util.command_output([bin, '-f',
--                                              util.syspath(item.path)])
-+                output = util.command_output([bin, util.syspath(item.path)])
-             except (subprocess.CalledProcessError, OSError) as exc:
-                 self._log.error(u'execution failed: {0}', exc)
-                 continue
 diff --git a/test/test_keyfinder.py b/test/test_keyfinder.py
-index 57e2bcd..c1ee916 100644
+index c8735e47..d7d670a4 100644
 --- a/test/test_keyfinder.py
 +++ b/test/test_keyfinder.py
 @@ -44,7 +44,7 @@ class KeyFinderTest(unittest.TestCase, TestHelper):
@@ -31,6 +21,6 @@ index 57e2bcd..c1ee916 100644
          command_output.assert_called_with(
 -            ['KeyFinder', '-f', util.syspath(item.path)])
 +            ['keyfinder-cli', util.syspath(item.path)])
- 
+
      def test_add_key_on_import(self, command_output):
-         command_output.return_value = 'dbm'
+         command_output.return_value = util.CommandOutput(b"dbm", b"")
diff --git a/nixpkgs/pkgs/tools/audio/beets/mutagen-1.43.patch b/nixpkgs/pkgs/tools/audio/beets/mutagen-1.43.patch
deleted file mode 100644
index d0d448c15e9a..000000000000
--- a/nixpkgs/pkgs/tools/audio/beets/mutagen-1.43.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Backport
-https://github.com/beetbox/mediafile/commit/b3343c4ee08d1251ae5e2344401a2f5892b4e868
-https://github.com/beetbox/mediafile/commit/d2fc3b59f77c515b02dfe7ad936f89264375d2b4
-to Beets 1.4.9.
-
-diff --git i/setup.py w/setup.py
-index 79278f8b..b8d60687 100755
---- i/setup.py
-+++ w/setup.py
-@@ -87,7 +87,7 @@ setup(
- 
-     install_requires=[
-         'six>=1.9',
--        'mutagen>=1.33',
-+        'mutagen>=1.43',
-         'unidecode',
-         'musicbrainzngs>=0.4',
-         'pyyaml',
-diff --git i/test/test_mediafile.py w/test/test_mediafile.py
-index 36a2c53a..0ddde44e 100644
---- i/test/test_mediafile.py
-+++ w/test/test_mediafile.py
-@@ -888,7 +888,7 @@ class WavpackTest(ReadWriteTestBase, unittest.TestCase):
-         'bitrate': 109312,
-         'format': u'WavPack',
-         'samplerate': 44100,
--        'bitdepth': 0,
-+        'bitdepth': 16,
-         'channels': 1,
-     }
- 
-@@ -912,7 +912,7 @@ class AIFFTest(ReadWriteTestBase, unittest.TestCase):
-         'bitrate': 705600,
-         'format': u'AIFF',
-         'samplerate': 44100,
--        'bitdepth': 0,
-+        'bitdepth': 16,
-         'channels': 1,
-     }
- 
diff --git a/nixpkgs/pkgs/tools/audio/beets/alternatives-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/plugins/alternatives.nix
index fdad7dd89844..fdad7dd89844 100644
--- a/nixpkgs/pkgs/tools/audio/beets/alternatives-plugin.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/plugins/alternatives.nix
diff --git a/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch b/nixpkgs/pkgs/tools/audio/beets/plugins/check-tests.patch
index 2de97b86c8b4..2de97b86c8b4 100644
--- a/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch
+++ b/nixpkgs/pkgs/tools/audio/beets/plugins/check-tests.patch
diff --git a/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/plugins/check.nix
index 241dcdad4521..241dcdad4521 100644
--- a/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/plugins/check.nix
diff --git a/nixpkgs/pkgs/tools/audio/beets/copyartifacts-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/plugins/copyartifacts.nix
index 9432cb9bd0b9..9432cb9bd0b9 100644
--- a/nixpkgs/pkgs/tools/audio/beets/copyartifacts-plugin.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/plugins/copyartifacts.nix
diff --git a/nixpkgs/pkgs/tools/audio/beets/extrafiles-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/plugins/extrafiles.nix
index 7d0e446ce605..7d0e446ce605 100644
--- a/nixpkgs/pkgs/tools/audio/beets/extrafiles-plugin.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/plugins/extrafiles.nix
diff --git a/nixpkgs/pkgs/tools/audio/beets/replaygain-default-bs1770gain.patch b/nixpkgs/pkgs/tools/audio/beets/replaygain-default-bs1770gain.patch
deleted file mode 100644
index 538f9e933039..000000000000
--- a/nixpkgs/pkgs/tools/audio/beets/replaygain-default-bs1770gain.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/beetsplug/replaygain.py b/beetsplug/replaygain.py
-index 40b3a3a..9b54a5a 100644
---- a/beetsplug/replaygain.py
-+++ b/beetsplug/replaygain.py
-@@ -627,11 +627,10 @@ class ReplayGainPlugin(BeetsPlugin):
-         super(ReplayGainPlugin, self).__init__()
-         self.import_stages = [self.imported]
- 
--        # default backend is 'command' for backward-compatibility.
-         self.config.add({
-             'overwrite': False,
-             'auto': True,
--            'backend': u'command',
-+            'backend': u'bs1770gain',
-             'targetlevel': 89,
-         })
- 
diff --git a/nixpkgs/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch b/nixpkgs/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch
new file mode 100644
index 000000000000..0ceba3c09442
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch
@@ -0,0 +1,26 @@
+diff --git i/beetsplug/replaygain.py w/beetsplug/replaygain.py
+index 9d6fa23c..c5800039 100644
+--- i/beetsplug/replaygain.py
++++ w/beetsplug/replaygain.py
+@@ -391,7 +391,7 @@ class FfmpegBackend(Backend):
+ 
+     def __init__(self, config, log):
+         super(FfmpegBackend, self).__init__(config, log)
+-        self._ffmpeg_path = "ffmpeg"
++        self._ffmpeg_path = "@ffmpeg@/bin/ffmpeg"
+ 
+         # check that ffmpeg is installed
+         try:
+@@ -1228,11 +1228,10 @@ class ReplayGainPlugin(BeetsPlugin):
+     def __init__(self):
+         super(ReplayGainPlugin, self).__init__()
+ 
+-        # default backend is 'command' for backward-compatibility.
+         self.config.add({
+             'overwrite': False,
+             'auto': True,
+-            'backend': u'command',
++            'backend': u'ffmpeg',
+             'threads': cpu_count(),
+             'parallel_on_import': False,
+             'per_disc': False,
diff --git a/nixpkgs/pkgs/tools/audio/ezstream/default.nix b/nixpkgs/pkgs/tools/audio/ezstream/default.nix
index 02a6e9d37f37..499f9842852f 100644
--- a/nixpkgs/pkgs/tools/audio/ezstream/default.nix
+++ b/nixpkgs/pkgs/tools/audio/ezstream/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       from standard input without reencoding and thus requires only
       very little CPU resources.
     '';
-    homepage = "http://icecast.org/ezstream/";
+    homepage = "https://icecast.org/ezstream/";
     license = licenses.gpl2;
     maintainers = [ maintainers.barrucadu ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/tools/audio/kaldi/default.nix b/nixpkgs/pkgs/tools/audio/kaldi/default.nix
new file mode 100644
index 000000000000..fa291a05078e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/kaldi/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, openblas
+, blas
+, lapack
+, openfst
+, icu
+, cmake
+, pkg-config
+, fetchFromGitHub
+, git
+, python3
+}:
+
+assert blas.implementation == "openblas" && lapack.implementation == "openblas";
+let
+  # rev from https://github.com/kaldi-asr/kaldi/blob/master/cmake/third_party/openfst.cmake
+  openfst = fetchFromGitHub {
+    owner = "kkm000";
+    repo = "openfst";
+    rev = "0bca6e76d24647427356dc242b0adbf3b5f1a8d9";
+    sha256 = "1802rr14a03zl1wa5a0x1fa412kcvbgprgkadfj5s6s3agnn11rx";
+  };
+in
+stdenv.mkDerivation {
+  pname = "kaldi";
+  version = "2020-12-26";
+
+  src = fetchFromGitHub {
+    owner = "kaldi-asr";
+    repo = "kaldi";
+    rev = "813b73185a18725e4f6021981d17221d6ee23a19";
+    sha256 = "sha256-lTqXTG5ZTPmhCgt+BVzOwjKEIj+bLGUa+IxJq+XtHUg=";
+  };
+
+  cmakeFlags = [
+    "-DKALDI_BUILD_TEST=off"
+    "-DBUILD_SHARED_LIBS=on"
+  ];
+
+  preConfigure = ''
+    mkdir bin
+    cat > bin/git <<'EOF'
+    #!${stdenv.shell}
+    if [[ "$1" == "--version" ]]; then
+      # cmake checks this
+      ${git}/bin/git --version
+    elif [[ "$1" == "clone" ]]; then
+      # mock this call:
+
+      # https://github.com/kaldi-asr/kaldi/blob/c9d8b9ad3fef89237ba5517617d977b7d70a7ed5/cmake/third_party/openfst.cmake#L5
+      cp -r ${openfst} ''${@: -1}
+      chmod -R +w ''${@: -1}
+    elif [[ "$1" == "rev-list" ]]; then
+      # fix up this call:
+      # https://github.com/kaldi-asr/kaldi/blob/c9d8b9ad3fef89237ba5517617d977b7d70a7ed5/cmake/VersionHelper.cmake#L8
+      echo 0
+    fi
+    true
+    EOF
+    chmod +x bin/git
+    export PATH=$(pwd)/bin:$PATH
+  '';
+
+  buildInputs = [
+    openblas
+    openfst
+    icu
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share/kaldi
+    cp -r ../egs $out/share/kaldi
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Speech Recognition Toolkit";
+    homepage = "https://kaldi-asr.org";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/audio/mpd-mpris/default.nix b/nixpkgs/pkgs/tools/audio/mpd-mpris/default.nix
index 79387d9ad1f9..c66a12dadd3a 100644
--- a/nixpkgs/pkgs/tools/audio/mpd-mpris/default.nix
+++ b/nixpkgs/pkgs/tools/audio/mpd-mpris/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mpd-mpris";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "natsukagami";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1cr5j2z2ynj1hwkjzi5amcg59vmgazsci41v6vpsj119g7psjmzm";
+    sha256 = "1kzjbv04b2garb99l64wdq8yksnm4pbhkgyzh89j5j3gb9k55zal";
   };
 
-  vendorSha256 = "108yjymp64iqx1b2wqjbkmbm2w199wq46g7hrmqhcziv6f4aqljp";
+  vendorSha256 = "1ggrqwd3h602rav1dc3amsf4wxsq8mdq4ijkdsg759sqhpzl6rqs";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/audio/pasystray/default.nix b/nixpkgs/pkgs/tools/audio/pasystray/default.nix
index 8b0580ba98c4..d80f1af4182a 100644
--- a/nixpkgs/pkgs/tools/audio/pasystray/default.nix
+++ b/nixpkgs/pkgs/tools/audio/pasystray/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, wrapGAppsHook
-, gnome3, avahi, gtk3, libappindicator-gtk3, libnotify, libpulseaudio
+{ stdenv, fetchpatch, fetchFromGitHub, pkgconfig, autoreconfHook, wrapGAppsHook
+, gnome3, avahi, gtk3, libayatana-appindicator-gtk3, libnotify, libpulseaudio
 , xlibsWrapper, gsettings-desktop-schemas
 }:
 
@@ -17,12 +17,18 @@ stdenv.mkDerivation rec {
   patches = [
     # https://github.com/christophgysin/pasystray/issues/90#issuecomment-306190701
     ./fix-wayland.patch
+
+    # https://github.com/christophgysin/pasystray/issues/98
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/p/pasystray/0.7.1-1/debian/patches/0001-Build-against-ayatana-appindicator.patch";
+      sha256 = "0hijphrf52n2zfwdnrmxlp3a7iwznnkb79awvpzplz0ia2lqywpw";
+    })
   ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook wrapGAppsHook ];
   buildInputs = [
     gnome3.adwaita-icon-theme
-    avahi gtk3 libappindicator-gtk3 libnotify libpulseaudio xlibsWrapper
+    avahi gtk3 libayatana-appindicator-gtk3 libnotify libpulseaudio xlibsWrapper
     gsettings-desktop-schemas
   ];
 
diff --git a/nixpkgs/pkgs/tools/audio/picotts/default.nix b/nixpkgs/pkgs/tools/audio/picotts/default.nix
index 023bf4577740..5b7ab80d8602 100644
--- a/nixpkgs/pkgs/tools/audio/picotts/default.nix
+++ b/nixpkgs/pkgs/tools/audio/picotts/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   sourceRoot = "source/pico";
   preConfigure = "./autogen.sh";
   meta = {
-    description = "Text to speech voice sinthesizer from SVox.";
+    description = "Text to speech voice sinthesizer from SVox";
     homepage = "https://github.com/naggety/picotts";
     license = stdenv.lib.licenses.asl20;
     maintainers = [ stdenv.lib.maintainers.canndrew ];
diff --git a/nixpkgs/pkgs/tools/audio/playerctl/default.nix b/nixpkgs/pkgs/tools/audio/playerctl/default.nix
index c1cddf12b650..7ef9557b42aa 100644
--- a/nixpkgs/pkgs/tools/audio/playerctl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/playerctl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "playerctl";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "acrisci";
     repo = "playerctl";
     rev = "v${version}";
-    sha256 = "17hi33sw3663qz5v54bqqil31sgkrlxkb2l5bgqk87pac6x2wnbz";
+    sha256 = "00z5c6amlxd3q42l7x8i0ngl627dxglgg5vikbbhjp9ms34xbxdn";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gtk-doc docbook_xsl gobject-introspection ];
diff --git a/nixpkgs/pkgs/tools/audio/tts/default.nix b/nixpkgs/pkgs/tools/audio/tts/default.nix
new file mode 100644
index 000000000000..770e898f2eec
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/tts/default.nix
@@ -0,0 +1,123 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, fetchpatch
+, python3
+}:
+
+#
+# Tested in the following setup:
+#
+# TTS model:
+#   Tacotron2 DDC
+#   https://drive.google.com/drive/folders/1Y_0PcB7W6apQChXtbt6v3fAiNwVf4ER5
+# Vocoder model:
+#   Multi-Band MelGAN
+#   https://drive.google.com/drive/folders/1XeRT0q4zm5gjERJqwmX5w84pMrD00cKD
+#
+# Arrange /tmp/tts like this:
+#   scale_stats.npy
+#   tts
+#   tts/checkpoint_130000.pth.tar
+#   tts/checkpoint_130000_tf.pkl
+#   tts/checkpoint_130000_tf_2.3rc0.tflite
+#   tts/config.json
+#   tts/scale_stats.npy
+#   vocoder
+#   vocoder/checkpoint_1450000.pth.tar
+#   vocoder/checkpoint_2750000_tf.pkl
+#   vocoder/checkpoint_2750000_tf_v2.3rc.tflite
+#   vocoder/config.json
+#   vocoder/scale_stats.npy
+#
+# Start like this:
+#   cd /tmp/tts
+#   tts-server \
+#     --vocoder_config ./tts/vocoder/config.json \
+#     --vocoder_checkpoint ./tts/vocoder/checkpoint_1450000.pth.tar \
+#     --tts_config ./tts/config.json \
+#     --tts_checkpoint ./tts/checkpoint_130000.pth.tar
+#
+# For now, for deployment check the systemd unit in the pull request:
+#   https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
+#
+
+python3Packages.buildPythonApplication rec {
+  pname = "tts";
+  # until https://github.com/mozilla/TTS/issues/424 is resolved
+  # we treat released models as released versions:
+  # https://github.com/mozilla/TTS/wiki/Released-Models
+  version = "unstable-2020-06-17";
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = "TTS";
+    rev = "72a6ac54c8cfaa407fc64b660248c6a788bdd381";
+    sha256 = "1wvs264if9n5xzwi7ryxvwj1j513szp6sfj6n587xk1fphi0921f";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/mozilla/TTS/commit/36fee428b9f3f4ec1914b090a2ec9d785314d9aa.patch";
+      sha256 = "sha256-pP0NxiyrsvQ0A7GEleTdT87XO08o7WxPEpb6Bmj66dc=";
+    })
+  ];
+
+  preBuild = ''
+    # numba jit tries to write to its cache directory
+    export HOME=$TMPDIR
+    sed -i -e 's!tensorflow==.*!tensorflow!' requirements.txt
+    sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt setup.py
+    sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py
+    sed -i -e 's!bokeh==[^"]*!bokeh!' requirements.txt setup.py
+    sed -i -e 's!numba==[^"]*!numba!' requirements.txt setup.py
+    # Not required for building/installation but for their development/ci workflow
+    sed -i -e '/pylint/d' requirements.txt setup.py
+    sed -i -e '/cardboardlint/d' requirements.txt setup.py
+  '';
+
+
+  propagatedBuildInputs = with python3Packages; [
+    matplotlib
+    scipy
+    pytorch
+    flask
+    attrdict
+    bokeh
+    soundfile
+    tqdm
+    librosa
+    unidecode
+    phonemizer
+    tensorboardx
+    fuzzywuzzy
+    tensorflow_2
+    inflect
+    gdown
+    pysbd
+  ];
+
+  postInstall = ''
+    cp -r TTS/server/templates/ $out/${python3.sitePackages}/TTS/server
+  '';
+
+  checkInputs = with python3Packages; [ pytestCheckHook ];
+
+  disabledTests = [
+    # RuntimeError: fft: ATen not compiled with MKL support
+    "test_torch_stft"
+    "test_stft_loss"
+    "test_multiscale_stft_loss"
+    # AssertionErrors that I feel incapable of debugging
+    "test_phoneme_to_sequence"
+    "test_text2phone"
+    "test_parametrized_gan_dataset"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/mozilla/TTS";
+    description = "Deep learning for Text to Speech";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ hexa mic92 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/audio/volctl/default.nix b/nixpkgs/pkgs/tools/audio/volctl/default.nix
index dd58671824db..1965fb083169 100644
--- a/nixpkgs/pkgs/tools/audio/volctl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/volctl/default.nix
@@ -1,43 +1,49 @@
-{ stdenv, fetchFromGitHub, pythonPackages, libpulseaudio, glib, gtk3, gobject-introspection, wrapGAppsHook }:
+{ stdenv, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection, libpulseaudio, glib, gtk3, pango, xorg }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "volctl";
-  version = "0.6.3";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "buzz";
     repo = pname;
-    rev = version;
-    sha256 = "0rppqc5wiqxd83z2mgvhi6gdx7yhy9wnav1dbbi1wvm7lzw6fnil";
+    rev = "v${version}";
+    sha256 = "02scfscf4mdrphzrd7cbwbhpig9bhvaws8qk4zc81z8vvf3mcfv2";
   };
 
+  postPatch = ''
+    substituteInPlace volctl/lib/xwrappers.py \
+      --replace 'libXfixes.so' "${xorg.libXfixes}/lib/libXfixes.so" \
+      --replace 'libXfixes.so.3' "${xorg.libXfixes}/lib/libXfixes.so.3"
+  '';
+
+  preBuild = ''
+    export LD_LIBRARY_PATH=${libpulseaudio}/lib
+  '';
+
   nativeBuildInputs = [
     gobject-introspection
     wrapGAppsHook
   ];
 
-  buildInputs = [
-    glib
-    gtk3
-    libpulseaudio
-  ];
-
-  pythonPath = with pythonPackages; [
+  propagatedBuildInputs = [ pango gtk3 ] ++ (with python3Packages; [
+    click
+    pycairo
     pygobject3
-  ];
+    pyyaml
+  ]);
 
+  # with strictDeps importing "gi.repository.Gtk" fails with "gi.RepositoryError: Typelib file for namespace 'Pango', version '1.0' not found"
   strictDeps = false;
 
-  preBuild = ''
-    export LD_LIBRARY_PATH=${libpulseaudio}/lib
-  '';
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "volctl" ];
 
   preFixup = ''
     glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
-
-    gappsWrapperArgs+=(
-      --prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib"
-    )
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib")
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/backup/amazon-glacier-cmd-interface/default.nix b/nixpkgs/pkgs/tools/backup/amazon-glacier-cmd-interface/default.nix
deleted file mode 100644
index a872060ce212..000000000000
--- a/nixpkgs/pkgs/tools/backup/amazon-glacier-cmd-interface/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchFromGitHub, python2Packages  }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "amazon-glacier-cmd-interface";
-  version  = "2016-09-01";
-
-  src = fetchFromGitHub {
-    owner  = "uskudnik";
-    repo   = "amazon-glacier-cmd-interface";
-    rev    = "9f28132f9872e1aad9e956e5613b976504e930c8";
-    sha256 = "1k5z8kda9v6klr4536pf5qbq9zklxvyysv7nc48gllschl09jywc";
-  };
-
-  # argparse is part of the standardlib
-  prePatch = ''
-    substituteInPlace setup.py --replace "'argparse'," ""
-  '';
-
-  propagatedBuildInputs = with python2Packages; [
-    boto
-    dateutil
-    prettytable
-    pytz
-  ];
-
-  meta = {
-    description = "Command line interface for Amazon Glacier";
-    homepage    = "https://github.com/uskudnik/amazon-glacier-cmd-interface";
-    license     = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.lovek323 ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/tools/backup/bacula/default.nix b/nixpkgs/pkgs/tools/backup/bacula/default.nix
index 8bf253a7b121..823fd000aee3 100644
--- a/nixpkgs/pkgs/tools/backup/bacula/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bacula/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline }:
+{ stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline
+, CoreFoundation, IOKit
+}:
 
 stdenv.mkDerivation rec {
-  name = "bacula-9.6.5";
+  name = "bacula-9.6.6";
 
   src = fetchurl {
     url    = "mirror://sourceforge/bacula/${name}.tar.gz";
-    sha256 = "0yn7qwkzix78bs811vmrn5gbywy7ggnsv72mdjz2lirqc6w3a3si";
+    sha256 = "10c25igfvff09nz5ll8rxc46f659rnwimj1v9cdhr67lwdswk1k2";
   };
 
   buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [
+      CoreFoundation
+      IOKit
+    ]
     # acl relies on attr, which I can't get to build on darwin
     ++ stdenv.lib.optional (!stdenv.isDarwin) acl;
 
diff --git a/nixpkgs/pkgs/tools/backup/bdsync/default.nix b/nixpkgs/pkgs/tools/backup/bdsync/default.nix
index 53704ce39d42..be2e9d0e6f21 100644
--- a/nixpkgs/pkgs/tools/backup/bdsync/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bdsync/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bdsync";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
-    owner = "TargetHolding";
+    owner = "rolffokkens";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11grdyc6fgw93jvj965awsycqw5qbzsdys7n8farqnmya8qv8gac";
+    sha256 = "0kx422cp1bxr62i1mi7dzrpwmys1kdp865rcymdp4knb5rr5864k";
   };
 
   nativeBuildInputs = [ pandoc which ];
diff --git a/nixpkgs/pkgs/tools/backup/borg/default.nix b/nixpkgs/pkgs/tools/backup/borg/default.nix
index 900903675860..f7d9896431ca 100644
--- a/nixpkgs/pkgs/tools/backup/borg/default.nix
+++ b/nixpkgs/pkgs/tools/backup/borg/default.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "borgbackup";
-  version = "1.1.13";
+  version = "1.1.15";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn";
+    sha256 = "1g62sdzcw3zx4ccky125ciwnzx6z9kwyvskvp7ijmqxqk3nrxjs9";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -62,7 +62,7 @@ python3.pkgs.buildPythonApplication rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    description = "A deduplicating backup program (attic fork)";
+    description = "Deduplicating archiver with compression and encryption";
     homepage = "https://www.borgbackup.org";
     license = licenses.bsd3;
     platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
diff --git a/nixpkgs/pkgs/tools/backup/btrbk/default.nix b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
index 0c528bcea1ec..6e450b11aa2b 100644
--- a/nixpkgs/pkgs/tools/backup/btrbk/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
-, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
+, util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
     # Fix SSH filter script
     sed -i '/^export PATH/d' ssh_filter_btrbk.sh
-    substituteInPlace ssh_filter_btrbk.sh --replace logger ${utillinux}/bin/logger
+    substituteInPlace ssh_filter_btrbk.sh --replace logger ${util-linux}/bin/logger
   '';
 
   preFixup = ''
diff --git a/nixpkgs/pkgs/tools/backup/bup/default.nix b/nixpkgs/pkgs/tools/backup/bup/default.nix
index ee6ae0a29342..0765d8a08cd9 100644
--- a/nixpkgs/pkgs/tools/backup/bup/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bup/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper
-, perl, pandoc, python2Packages, git
+, perl, pandoc, python3Packages, git
 , par2cmdline ? null, par2Support ? true
 }:
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     git
-    (python2Packages.python.withPackages
+    (python3Packages.python.withPackages
       (p: with p; [ setuptools tornado ]
         ++ stdenv.lib.optionals (!stdenv.isDarwin) [ pyxattr pylibacl fuse ]))
   ];
diff --git a/nixpkgs/pkgs/tools/backup/dar/default.nix b/nixpkgs/pkgs/tools/backup/dar/default.nix
index 1f379feece49..593e9b34da9f 100644
--- a/nixpkgs/pkgs/tools/backup/dar/default.nix
+++ b/nixpkgs/pkgs/tools/backup/dar/default.nix
@@ -8,12 +8,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.6.10";
+  version = "2.6.13";
   pname = "dar";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
-    sha256 = "1ryj4xxar18hshg38j1ljhplypgmfprwqn72k1jwxi28qravg80n";
+    sha256 = "15yhpzyzw7h7d74xxh104cnbh19639yxx0502xz85fazwpwrzsiz";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/tools/backup/dirvish/default.nix b/nixpkgs/pkgs/tools/backup/dirvish/default.nix
index 9b138d48f213..c762da1a5fcb 100644
--- a/nixpkgs/pkgs/tools/backup/dirvish/default.nix
+++ b/nixpkgs/pkgs/tools/backup/dirvish/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Dirvish is a fast, disk based, rotating network backup system";
+    description = "Fast, disk based, rotating network backup system";
     homepage = "http://dirvish.org/";
     license = stdenv.lib.licenses.osl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/backup/duplicacy/default.nix b/nixpkgs/pkgs/tools/backup/duplicacy/default.nix
index b261289f0bf1..9fecfb70f398 100644
--- a/nixpkgs/pkgs/tools/backup/duplicacy/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicacy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "duplicacy";
-  version = "2.3.0";
+  version = "2.7.2";
 
   goPackagePath = "github.com/gilbertchen/duplicacy";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "gilbertchen";
     repo = "duplicacy";
     rev = "v${version}";
-    sha256 = "12swp3kbwkmwn3g2mp964m60kabmz0ip7kkhvhiqq7k74nxzj312";
+    sha256 = "0j37sqicj7rl982czqsl3ipxw7k8k4smcr63s0yklxwz7ch3353c";
   };
   goDeps = ./deps.nix;
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/backup/duplicacy/deps.nix b/nixpkgs/pkgs/tools/backup/duplicacy/deps.nix
index 12d30b53b6c5..e7bf7e91f89a 100644
--- a/nixpkgs/pkgs/tools/backup/duplicacy/deps.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicacy/deps.nix
@@ -4,27 +4,18 @@
     goPackagePath  = "cloud.google.com/go";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/gocloud";
+      url = "https://github.com/googleapis/google-cloud-go";
       rev =  "2d3a6656c17a60b0815b7e06ab0be04eacb6e613";
       sha256 = "0fi3qj9fvc4bxbrwa1m5sxsb8yhvawiwigaddvmmizjykxbq5csq";
     };
   }
   {
-    goPackagePath  = "github.com/Azure/azure-sdk-for-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-sdk-for-go";
-      rev =  "b7fadebe0e7f5c5720986080a01495bd8d27be37";
-      sha256 = "11zcmd17206byxhgz2a75qascilydlzjbz73l2mrqng3yyr20yk1";
-    };
-  }
-  {
     goPackagePath  = "github.com/Azure/go-autorest";
     fetch = {
       type = "git";
       url = "https://github.com/Azure/go-autorest";
-      rev =  "0ae36a9e544696de46fdadb7b0d5fb38af48c063";
-      sha256 = "0f2qcv24l9bx3jys2m9ycyy77vqlx7dbfa3frxlk19wnrwiv3p6g";
+      rev =  "9bc4033dd347c7f416fca46b2f42a043dc1fbdf6";
+      sha256 = "158xbd8wn1bna1k1ichlirz6a1zvlh3rg7klr9cnp72l2q8jwvcl";
     };
   }
   {
@@ -41,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev =  "a32b1dcd091264b5dee7b386149b6cc3823395c9";
-      sha256 = "1yicb7l6m4hs3mi724hz74wn8305qvx6g73mjqafaaqvh6dyn86m";
+      rev =  "851d5ffb66720c2540cc68020d4d8708950686c8";
+      sha256 = "16qp8ywcf04d2y1ibf3mpglcrxk07x8gak46a2l53lchps2mgcrp";
     };
   }
   {
@@ -59,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dgrijalva/jwt-go";
-      rev =  "dbeaa9332f19a944acb5736b4456cfcc02140e29";
-      sha256 = "0zk6l6kzsjdijfn7c4h0aywdjx5j2hjwi67vy1k6wr46hc8ks2hs";
+      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
     };
   }
   {
@@ -68,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gilbertchen/azure-sdk-for-go";
-      rev =  "bbf89bd4d716c184f158d1e1428c2dbef4a18307";
-      sha256 = "14563izc2y05k8s20fmhanvjydbcq8k5adp4cgw91d9bs52qivx7";
+      rev =  "8fd4663cab7c7c1c46d00449291c92ad23b0d0d9";
+      sha256 = "123fj5jni1pjj8i9adzd4r07n9hnlmfprlcjf5hqb1zjb72xi1p7";
     };
   }
   {
@@ -86,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gilbertchen/go-dropbox";
-      rev =  "90711b603312b1f973f3a5da3793ac4f1e5c2f2a";
-      sha256 = "0y2ydl3mjbkfbqyygrwq7vqig9hjh7cxvzsn2gxc1851haqp4h19";
+      rev =  "2233fa1dd846b3a3e8060b6c1ea12883deb9d288";
+      sha256 = "01fqxad5mm7rs0mp1ipp9aw80ski6sqyqljpf9dgify8dbiffl97";
     };
   }
   {
@@ -145,12 +136,12 @@
     };
   }
   {
-    goPackagePath  = "github.com/go-ini/ini";
+    goPackagePath  = "github.com/golang/groupcache";
     fetch = {
       type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev =  "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a";
-      sha256 = "0mhgxw5q6b0pryhikx3k4wby7g32rwjjljzihi47lwn34kw5y1qn";
+      url = "https://github.com/golang/groupcache";
+      rev =  "8c9f03a8e57eb486e42badaed3fb287da51807ba";
+      sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh";
     };
   }
   {
@@ -158,8 +149,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev =  "1e59b77b52bf8e4b449a57e6f79f21226d571845";
-      sha256 = "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8";
+      rev =  "84668698ea25b64748563aa20726db66a6b8d299";
+      sha256 = "1gkd1942vk9n8kfzdwy1iil6wgvlwjq7a3y5jc49ck4lz9rhmgkq";
     };
   }
   {
@@ -167,8 +158,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gax-go";
-      rev =  "317e0006254c44a0ac427cc52a0e083ff0b9622f";
-      sha256 = "0h92x579vbrv2fka8q2ddy1kq6a63qbqa8zc09ygl6skzn9gw1dh";
+      rev =  "c8a15bac9b9fe955bd9f900272f9a306465d28cf";
+      sha256 = "13x3x7agq0b46wpchbd2sqli5l33z6hvfn1qjbiqvsgpbv7wd140";
     };
   }
   {
@@ -176,8 +167,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/jmespath/go-jmespath";
-      rev =  "0b12d6b5";
-      sha256 = "1vv6hph8j6xgv7gwl9vvhlsaaqsm22sxxqmgmldi4v11783pc1ld";
+      rev =  "c2b33e84";
+      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev =  "750c0591dbbd50ef88371c665ad49e426a4b830b";
+      sha256 = "1yiby4xa12j3kcw5q7dfsbcybhaxjkppvgz6ac2p2lcwha303b1g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/reedsolomon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/reedsolomon";
+      rev =  "7daa20bf74337a939c54f892a2eca9d9b578eb7f";
+      sha256 = "1xk4wqgrl63l95lqnszzbpa06apzxfmpwfnkrn1n8jb0ws7mi01m";
     };
   }
   {
@@ -185,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kr/fs";
-      rev =  "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
-      sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
+      rev =  "1455def202f6e05b95cc7bfc7e8ae67ae5141eba";
+      sha256 = "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q";
     };
   }
   {
@@ -208,12 +217,30 @@
     };
   }
   {
+    goPackagePath  = "github.com/minio/highwayhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/highwayhash";
+      rev =  "86a2a969d04373bf05ca722517d30fb1c9a3e4f9";
+      sha256 = "0kj2hs82sphag0h25xvprvf2fz3zlinmlif89sk9jp8h518aiahf";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mmcloughlin/avo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mmcloughlin/avo";
+      rev =  "443f81d771042b019379ae4bfcd0a591cb47c88a";
+      sha256 = "1zc95crbyi7ylqq3jwv4ya55lyzn9x730szdm307vdss4gqlx8yn";
+    };
+  }
+  {
     goPackagePath  = "github.com/ncw/swift";
     fetch = {
       type = "git";
       url = "https://github.com/ncw/swift";
-      rev =  "ae9f0ea1605b9aa6434ed5c731ca35d83ba67c55";
-      sha256 = "0a0iwynhgxsl3czabl7ajnxpyw6x0dzbiqz6il8aw7kn10ld1rvl";
+      rev =  "3e1a09f21340e4828e7265aa89f4dc1495fa7ccc";
+      sha256 = "19gb8xh400hzlbdp3nx1f85jxzs36zk0py39vmjcg3fnvdjzblm2";
     };
   }
   {
@@ -221,8 +248,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev =  "614d223910a179a466c1767a985424175c39b465";
+      sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
     };
   }
   {
@@ -230,8 +257,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/sftp";
-      rev =  "3edd153f213d8d4191a0ee4577c61cca19436632";
-      sha256 = "0iw6lijdljwh5xw5hsy0b578cr52h6vvm7hbnzlrvciwhh4sfhhp";
+      rev =  "5616182052227b951e76d9c9b79a616c608bd91b";
+      sha256 = "1rjlhlkr505a0wvync1ycfn9njfc6bib6bw44qnnm50hlfs59hz2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/xattr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/xattr";
+      rev =  "dd870b5cfebab49617ea0c1da6176474e8a52bf4";
+      sha256 = "11ynkc61qrmf853g04sav8vawz8i6a8b73w71f3cq4djb4cnsw0d";
     };
   }
   {
@@ -253,12 +289,30 @@
     };
   }
   {
+    goPackagePath  = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev =  "d835ff86be02193d324330acdb7d65546b05f814";
+      sha256 = "0xj16iq5jp26hi2py7lsd8cvqh651fgn39y05gzvjdi88d9xd3nw";
+    };
+  }
+  {
     goPackagePath  = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "9f005a07e0d31d45e6656d241bb5c0f2efd4bc94";
-      sha256 = "1mhmr6ljzl3iafsz4qy8vval7rmr828wh59dlqqqjqx6sqmcs1dv";
+      rev =  "056763e48d71961566155f089ac0f02f1dda9b5a";
+      sha256 = "0dcmns62hwid7hk4bmpl22z6ygjh168p23x3arzy320sd1lvap92";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev =  "859b3ef565e237f9f1a0fb6b55385c497545680d";
+      sha256 = "0ldgbx2zpprbsfn6p8pfgs4nn87gwbfcv2z0fa7n8alwsq2yw78q";
     };
   }
   {
@@ -266,8 +320,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "9dfe39835686865bff950a07b394c12a98ddc811";
-      sha256 = "0z8mnl4mi88syafrgqys2ak2gg3yrbna25hpz88y3anl8x4jhg1a";
+      rev =  "d3edc9973b7eb1fb302b0ff2c62357091cea9a30";
+      sha256 = "12zbjwcsh9b0lwycqlkrnbyg5a6a9dzgj8hhgq399bdda5bd97y7";
     };
   }
   {
@@ -275,8 +329,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/oauth2";
-      rev =  "f95fa95eaa936d9d87489b15d1d18b97c1ba9c28";
-      sha256 = "0p9kis69wvhv8a2qbcjxvn9ggpdh81cbfjpq5pjga7n8k6d065fh";
+      rev =  "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303";
+      sha256 = "1sirdib60zwmh93kf9qrx51r8544k1p9rs5mk0797wibz3m4mrdg";
     };
   }
   {
@@ -284,8 +338,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "82aafbf43bf885069dc71b7e7c2f9d7a614d47da";
-      sha256 = "1jvngpvy0q40f7krkgmwf5bbjzhv449297awcr0y78kzn0cyawi2";
+      rev =  "59c9f1ba88faf592b225274f69c5ef1e4ebacf82";
+      sha256 = "014iiqjh9sikbcvacqiwhg6mvrsrr1va91wmc9yrnsm11c63yxfa";
     };
   }
   {
@@ -293,17 +347,35 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev =  "88f656faf3f37f690df1a32515b479415e1a6769";
-      sha256 = "0zakmgg6dlwnkhignwjajn0dckzqq18zxvnmmg0fq6455x7fs673";
+      rev =  "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev =  "5d1fdd8fa3469142b9369713b23d8413d6d83189";
+      sha256 = "0xp5ggnjnl1gqwi2ks042zimgkfv2qda9a57ar198xpyzdn1bv5s";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev =  "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca";
+      sha256 = "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb";
     };
   }
   {
     goPackagePath  = "google.golang.org/api";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/google-api-go-client";
-      rev =  "17b5f22a248d6d3913171c1a557552ace0d9c806";
-      sha256 = "0gs78qsxfg89kpiiray1x9jiv6bh328jmjkwd3ghnygf3l98kc8c";
+      url = "https://github.com/googleapis/google-api-go-client";
+      rev =  "52f0532eadbcc6f6b82d6f5edf66e610d10bfde6";
+      sha256 = "0l7q0mmq0v51wc72bk50nwaz9frl1pqp7gn5jhy1vzxdry930gkc";
     };
   }
   {
@@ -311,17 +383,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/appengine";
-      rev =  "150dc57a1b433e64154302bdc40b6bb8aefa313a";
-      sha256 = "0w3knznv39k8bm85ri62f83czcrxknql7dv6p9hk1a5jx3xljgxq";
+      rev =  "971852bfffca25b069c31162ae8f247a3dba083b";
+      sha256 = "05hbq4cs7bqw0zl17bx8rzdkszid3nyl92100scg3jjrg70dhm7w";
     };
   }
   {
     goPackagePath  = "google.golang.org/genproto";
     fetch = {
       type = "git";
-      url = "https://github.com/google/go-genproto";
-      rev =  "891aceb7c239e72692819142dfca057bdcbfcb96";
-      sha256 = "1axim84fqzsp6iialk6zl4fsbfpx658vssc6ccakn4yy1xc9h854";
+      url = "https://github.com/googleapis/go-genproto";
+      rev =  "baae70f3302d3efdff74db41e48a5d476d036906";
+      sha256 = "1xacik4i5w2bpkrxzrfm00ggy5vygbzh8jmm2yq4mxiv0lnsh9nk";
     };
   }
   {
@@ -329,8 +401,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev =  "5a9f7b402fe85096d2e1d0383435ee1876e863d0";
-      sha256 = "1hlirgvmzb929jpb1dvh930646ih5ffg3b6pmlilqr7ffdkl5z3j";
+      rev =  "ac54eec90516cee50fc6b9b113b34628a85f976f";
+      sha256 = "17zfx4xgqjamk7rc1sivm5gppkh3j4qp3i294w9rqbv0rqi0c9pq";
     };
   }
 ]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/backup/duplicity/default.nix b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
index c12cc1198c9c..712d1d6f86e3 100644
--- a/nixpkgs/pkgs/tools/backup/duplicity/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
@@ -7,7 +7,7 @@
 , gnupg
 , gnutar
 , par2cmdline
-, utillinux
+, util-linux
 , rsync
 , backblaze-b2
 , makeWrapper
@@ -19,11 +19,11 @@ let
 in
 pythonPackages.buildPythonApplication rec {
   pname = "duplicity";
-  version = "0.8.13";
+  version = "0.8.15";
 
   src = fetchurl {
     url = "https://code.launchpad.net/duplicity/${majorMinor version}-series/${majorMinorPatch version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "0lflg1ay4q4w9qzpmh6y2hza4fc3ig12q44qkd80ks17hj21bxa6";
+    sha256 = "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc";
   };
 
   patches = [
@@ -49,6 +49,7 @@ pythonPackages.buildPythonApplication rec {
   propagatedBuildInputs = with pythonPackages; [
     b2sdk
     boto
+    boto3
     cffi
     cryptography
     ecdsa
@@ -72,7 +73,7 @@ pythonPackages.buildPythonApplication rec {
     librsync # Add 'rdiff' to PATH.
     par2cmdline # Add 'par2' to PATH.
   ] ++ stdenv.lib.optionals stdenv.isLinux [
-    utillinux # Add 'setsid' to PATH.
+    util-linux # Add 'setsid' to PATH.
   ] ++ (with pythonPackages; [
     lockfile
     mock
diff --git a/nixpkgs/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch b/nixpkgs/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch
index a3ba14229159..c02527cf3948 100644
--- a/nixpkgs/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch
+++ b/nixpkgs/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch
@@ -38,12 +38,12 @@
          # """ERROR 2
 --- a/testing/functional/test_rdiffdir.py
 +++ b/testing/functional/test_rdiffdir.py
-@@ -38,7 +38,7 @@ class RdiffdirTest(FunctionalTestCase):
- 
-     def run_rdiffdir(self, argstring):
-         u"""Run rdiffdir with given arguments"""
--        self.run_cmd(u"../bin/rdiffdir " + argstring)
-+        self.run_cmd(u"rdiffdir " + argstring)
- 
-     def run_cycle(self, dirname_list):
-         u"""Run diff/patch cycle on directories in dirname_list"""
+@@ -42,7 +42,7 @@ class RdiffdirTest(FunctionalTestCase):
+         basepython = os.environ.get(u'TOXPYTHON', None)
+         if basepython is not None:
+             cmd_list.extend([basepython])
+-        cmd_list.extend([u"../bin/rdiffdir"])
++        cmd_list.extend([u"rdiffdir"])
+         cmd_list.extend(argstring.split())
+         cmdline = u" ".join([u'"%s"' % x for x in cmd_list])
+         self.run_cmd(cmdline)
diff --git a/nixpkgs/pkgs/tools/backup/kopia/default.nix b/nixpkgs/pkgs/tools/backup/kopia/default.nix
index bfeafd0875fd..bcf51372f6c5 100644
--- a/nixpkgs/pkgs/tools/backup/kopia/default.nix
+++ b/nixpkgs/pkgs/tools/backup/kopia/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kopia";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ngm0vbx6ryks68bp0zarvncc36gbpkkqavxb3sfph9p959b9hif";
+    sha256 = "1dnk764y71c9k9nghn9q06f2zz9igsvm4z826azil2d58h5d06j6";
   };
 
-  vendorSha256 = "07p2ka5rbasrgjfd4k2jn0ffshjp39kilz9b714ykyi1qflczr9b";
+  vendorSha256 = "1mnhq6kn0pn67l55a9k6irmjlprr295218nms3klsk2720syzdwq";
 
   doCheck = false;
 
@@ -24,11 +24,6 @@ buildGoModule rec {
   '';
 
   postConfigure = ''
-    # make 'vendor' writable
-    cp -L -r vendor tmp-vendor
-    rm -rf vendor
-    mv tmp-vendor vendor
-
     # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
     substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
       --replace "/bin/stty" "${coreutils}/bin/stty"
diff --git a/nixpkgs/pkgs/tools/backup/monolith/default.nix b/nixpkgs/pkgs/tools/backup/monolith/default.nix
index 9d33ce1f3f85..4d17209be893 100644
--- a/nixpkgs/pkgs/tools/backup/monolith/default.nix
+++ b/nixpkgs/pkgs/tools/backup/monolith/default.nix
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
     description = "Bundle any web page into a single HTML file";
     homepage = "https://github.com/Y2Z/monolith";
     license = licenses.unlicense;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/mydumper/default.nix b/nixpkgs/pkgs/tools/backup/mydumper/default.nix
index 88a727629903..611e543ca6ce 100644
--- a/nixpkgs/pkgs/tools/backup/mydumper/default.nix
+++ b/nixpkgs/pkgs/tools/backup/mydumper/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
 , glib, zlib, pcre, libmysqlclient, libressl }:
 
+let inherit (stdenv.lib) getDev; in
+
 stdenv.mkDerivation rec {
   version = "0.9.5";
   pname = "mydumper";
@@ -16,6 +18,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib zlib pcre libmysqlclient libressl ];
 
+  cmakeFlags = [ "-DMYSQL_INCLUDE_DIR=${getDev libmysqlclient}/include/mysql" ];
+
   meta = with stdenv.lib; {
     description = ''High-perfomance MySQL backup tool'';
     homepage = "https://github.com/maxbube/mydumper";
diff --git a/nixpkgs/pkgs/tools/backup/ori/default.nix b/nixpkgs/pkgs/tools/backup/ori/default.nix
index e3b4a0fb537e..9f00a7f2133a 100644
--- a/nixpkgs/pkgs/tools/backup/ori/default.nix
+++ b/nixpkgs/pkgs/tools/backup/ori/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, pkgconfig, scons, utillinux, fuse, libevent, openssl, zlib }:
+{ stdenv, fetchurl, boost, pkgconfig, scons, util-linux, fuse, libevent, openssl, zlib }:
 
 stdenv.mkDerivation {
   version = "0.8.1";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ 
-    boost pkgconfig scons utillinux fuse libevent openssl zlib
+    boost pkgconfig scons util-linux fuse libevent openssl zlib
   ];
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/backup/partimage/default.nix b/nixpkgs/pkgs/tools/backup/partimage/default.nix
index 51a1a05fe6c5..cec19c399335 100644
--- a/nixpkgs/pkgs/tools/backup/partimage/default.nix
+++ b/nixpkgs/pkgs/tools/backup/partimage/default.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation {
         + "partimage-0.6.9-openssl-1.1-compatibility.patch?id=3fe8e9910002b6523d995512a646b063565d0447";
       sha256 = "1hs0krxrncxq1w36bhad02yk8yx71zcfs35cw87c82sl2sfwasjg";
     })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/p/partimage/0.6.9-8/debian/patches/04-fix-FTBFS-glic-2.28.patch";
+      sha256 = "0xid5636g58sxbhxnjmfjdy7y8rf3c77zmmpfbbqv4lv9jd2gmxm";
+    })
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/backup/pyznap/default.nix b/nixpkgs/pkgs/tools/backup/pyznap/default.nix
index b04aab345320..81f3a99ecd91 100644
--- a/nixpkgs/pkgs/tools/backup/pyznap/default.nix
+++ b/nixpkgs/pkgs/tools/backup/pyznap/default.nix
@@ -6,16 +6,16 @@
 
 buildPythonApplication rec {
   pname = "pyznap";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s8glb6kbwwha6zgzfrf195r1qkrv1a9wagyhhm3kryv7c88mqnp";
+    sha256 = "88bf1d6de2c11f14acbdfa01b61eb95c94f95d829ddebdaee3786b64ccb93ae3";
   };
 
   propagatedBuildInputs = [
     setuptools
-  ];  
+  ];
 
   # tests aren't included in the PyPI packages
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/backup/restic/default.nix b/nixpkgs/pkgs/tools/backup/restic/default.nix
index 33cac4ad229b..3317ada541a5 100644
--- a/nixpkgs/pkgs/tools/backup/restic/default.nix
+++ b/nixpkgs/pkgs/tools/backup/restic/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, installShellFiles, makeWrapper
+{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper
 , nixosTests, rclone }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "restic";
-  version = "0.9.6";
-
-  goPackagePath = "github.com/restic/restic";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "0lydll93n1lcn1fl669b9cikmzz9d6vfpc8ky3ng5fi8kj3v1dz7";
+    sha256 = "13zmx9wzv29z0np3agx4rsz1j9pgrvlnngjsb971i1dnzwv5l3hf";
   };
 
+  vendorSha256 = "09sa5jpdj73w595c063mib14132zacswh54nmjqp2n440cflmwjh";
+
   subPackages = [ "cmd/restic" ];
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
   passthru.tests.restic = nixosTests.restic;
 
+  postPatch = ''
+    rm cmd/restic/integration_fuse_test.go
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/restic --prefix PATH : '${rclone}/bin'
   '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
diff --git a/nixpkgs/pkgs/tools/backup/restic/rest-server.nix b/nixpkgs/pkgs/tools/backup/restic/rest-server.nix
index 45a4df74b15d..9f2a52d64dcd 100644
--- a/nixpkgs/pkgs/tools/backup/restic/rest-server.nix
+++ b/nixpkgs/pkgs/tools/backup/restic/rest-server.nix
@@ -1,25 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "restic-rest-server";
-  version = "0.9.7";
-
-  goPackagePath = "github.com/restic/rest-server";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "rest-server";
     rev = "v${version}";
-    sha256 = "1g47ly1pxwn0znbj3v5j6kqhn66d4wf0d5gjqzig75pzknapv8qj";
+    sha256 = "1msa6mah76zfif5wp0129jjk2jlq5ff38p9p6d241mw45i1xjfy7";
   };
 
-  buildPhase = ''
-    cd go/src/${goPackagePath}
-    go run build.go
-  '';
+  vendorSha256 = "04w63sx7p0fm9xq0m7xab808az7lgw7i3p8basndszky8kgvxhmg";
 
-  installPhase = ''
-    install -Dt $out/bin rest-server
+  preCheck = ''
+    substituteInPlace handlers_test.go --replace "TestJoin" "SkipTestJoin"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/backup/stenc/default.nix b/nixpkgs/pkgs/tools/backup/stenc/default.nix
index 11859c4f8be4..af5a33c2a6ee 100644
--- a/nixpkgs/pkgs/tools/backup/stenc/default.nix
+++ b/nixpkgs/pkgs/tools/backup/stenc/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "scsitape";
     repo = "stenc";
-    rev = "${version}";
+    rev = version;
     sha256 = "1778m1zcyzyf42k5m496yqh0gv6kqhb0sq5983dhky1fccjl905k";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/tarsnap/default.nix b/nixpkgs/pkgs/tools/backup/tarsnap/default.nix
index 8d23e955095a..34955a979a41 100644
--- a/nixpkgs/pkgs/tools/backup/tarsnap/default.nix
+++ b/nixpkgs/pkgs/tools/backup/tarsnap/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    configureFlags="--with-bash-completion-dir=$out/etc/bash_completion.d"
+    configureFlags="--with-bash-completion-dir=$out/share/bash-completion/completions"
   '';
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/tools/backup/wal-e/default.nix b/nixpkgs/pkgs/tools/backup/wal-e/default.nix
index af1506bff6e9..a6d5b6b48010 100644
--- a/nixpkgs/pkgs/tools/backup/wal-e/default.nix
+++ b/nixpkgs/pkgs/tools/backup/wal-e/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, pythonPackages, lzop, postgresql, pv }:
+{ stdenv, fetchurl, python3Packages, lzop, postgresql, pv }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "wal-e";
-  version = "0.6.10";
+  version = "1.1.1";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/wal-e/wal-e/archive/v${version}.tar.gz";
-    sha256 = "1hms24xz7wx3b91vv56fhcc3j0cszwqwnmwhka4yl90202hvdir2";
+    sha256 = "5TTd7NTO73+MCJf3dHIcNojjHdoaKJ1T051iW7Kt9Ow=";
   };
 
   # needs tox
   doCheck = false;
 
-  propagatedBuildInputs = [
-    pythonPackages.boto
-    pythonPackages.gevent
+  propagatedBuildInputs = (with python3Packages; [
+    boto
+    gevent
+    google_cloud_storage
+  ]) ++ [
     postgresql
     lzop
     pv
diff --git a/nixpkgs/pkgs/tools/backup/wal-g/default.nix b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
index 85a6b169f745..f3c415f3cd0f 100644
--- a/nixpkgs/pkgs/tools/backup/wal-g/default.nix
+++ b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wal-g";
-  version = "0.2.17";
+  version = "0.2.19";
 
   src = fetchFromGitHub {
     owner = "wal-g";
     repo = "wal-g";
     rev = "v${version}";
-    sha256 = "0r6vy2b3xqwa22286srwngk63sq4aza6aj7brwc130vypcps7svp";
+    sha256 = "030c949cs13x4gnby6apy1adis8d4dlg3gzhhhs991117dxb0i3v";
   };
 
-  vendorSha256 = "0r73l4kxzldca1vg5mshq6iqsxcrndcbmbp3d7i9pxyb2kig8gv5";
+  vendorSha256 = "186cqn10fljzjc876byaj1affd8xmi8zvmkfxp9dbzsfxdir4nf7";
 
   buildInputs = [ brotli ];
 
@@ -27,6 +27,6 @@ buildGoModule rec {
     homepage = "https://github.com/wal-g/wal-g";
     license = licenses.asl20;
     description = "An archival restoration tool for PostgreSQL";
-    maintainers = with maintainers; [ ocharles marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix b/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
index ff2f6062554f..782133fd8d7b 100644
--- a/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonApplication rec {
   pname = "zfs-replicate";
-  version = "1.1.14";
+  version = "1.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0iqyk6q112ylcqrhrgvgbgqqvaikhwk0sb5kc7kg2wwqdc9rfwys";
+    sha256 = "b2cb9d4670a6e12d14a446c10d857862e91af6e4526f607e08b41bde89953bb8";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix b/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix
index 7b3cbdeaa103..5cdb39c3ecb0 100644
--- a/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix
+++ b/nixpkgs/pkgs/tools/backup/zfsbackup/default.nix
@@ -2,8 +2,8 @@
 
 buildGoPackage rec {
   pname = "zfsbackup";
-  version = "unstable-2019-03-05";
-  rev = "78fea6e99f0a5a4c8513d3a3d1d45fb6750cfddf";
+  version = "unstable-2020-09-30";
+  rev = "092f80846b23e02f99d2aa72d9d889eabfdcb053";
 
   goPackagePath = "github.com/someone1/zfsbackup-go";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "someone1";
     repo = "zfsbackup-go";
     inherit rev;
-    sha256 = "0yalsfvzmcnc8yfzm3r5dikqrp57spwa16l7gbzvgqqcz4vlnw3n";
+    sha256 = "1xiacaf4r9jkx0m8wjfis14cq622yhljldwkflh9ni3khax7dlgi";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix b/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix
index f1fa23755bc7..28be9fa141cf 100644
--- a/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix
+++ b/nixpkgs/pkgs/tools/backup/zfsbackup/deps.nix
@@ -1,12 +1,21 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.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 = "b9197a057a6cb1129f29cd21ca11d1bb043666d1";
-      sha256 = "0f1p361apzj30i9vcza60ldhhjxff8581gr5xqim7x4d5rgmpwil";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "v0.57.0";
+      sha256 = "0lcq68h0x56qb14yx2df584ad0g9s1s19py813dy9nzqp0bmjig8";
+    };
+  }
+  {
+    goPackagePath = "dmitri.shuralyov.com/gpu/mtl";
+    fetch = {
+      type = "git";
+      url = "https://dmitri.shuralyov.com/gpu/mtl";
+      rev = "666a987793e9";
+      sha256 = "1isd03hgiwcf2ld1rlp0plrnfz7r4i7c5q4kb6hkcd22axnmrv0z";
     };
   }
   {
@@ -14,26 +23,98 @@
     fetch = {
       type = "git";
       url = "https://github.com/Azure/azure-pipeline-go";
-      rev = "232aee85e8e3a6223a11c0943f7df2ae0fac00e4";
+      rev = "v0.2.2";
       sha256 = "1agn2nzmm1dkwggm4w7h4bnrav4n5jrl0vqbqy2s49vqlr8zirn6";
     };
   }
   {
+    goPackagePath = "github.com/Azure/azure-sdk-for-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-sdk-for-go";
+      rev = "v42.3.0";
+      sha256 = "1nqxpifrr8n17irkfzhx253b17cwd15x4vfqxx80l5y7dn0jqavq";
+    };
+  }
+  {
     goPackagePath = "github.com/Azure/azure-storage-blob-go";
     fetch = {
       type = "git";
       url = "https://github.com/Azure/azure-storage-blob-go";
-      rev = "fc700035fe4a7020f50d49f420b3c088aed57e03";
+      rev = "v0.8.0";
       sha256 = "00gsnk9s1rlrakqvcm917hn4r47jannxwp7rkhrb71pamzm46752";
     };
   }
   {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/xgb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/xgb";
+      rev = "27f122750802";
+      sha256 = "18lp2x8f5bljvlz0r7xn744f0c9rywjsb9ifiszqqdcpwhsa0kvj";
+    };
+  }
+  {
+    goPackagePath = "github.com/OneOfOne/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/OneOfOne/xxhash";
+      rev = "v1.2.2";
+      sha256 = "1mjfhrwhvxa48rycjnqpqzm521i38h1hdyz6pdwmhd7xb8j6gwi6";
+    };
+  }
+  {
+    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/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
     goPackagePath = "github.com/aws/aws-sdk-go";
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev = "3576772d916b5db1cb5516b772bcdc362349a177";
-      sha256 = "04clzbyg5cmqz98i5hxbik6sd7aclas1707rhaixmmckgisqxb8i";
+      rev = "v1.31.4";
+      sha256 = "07ia78j6j2y139iq9x5gin0fwc77wv8x0zhg47kibykxn4iyx85y";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.0";
+      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
     };
   }
   {
@@ -41,8 +122,161 @@
     fetch = {
       type = "git";
       url = "https://github.com/cenkalti/backoff";
-      rev = "4b4cebaf850ec58f1bb1fec5bdebdf8501c2bc3f";
-      sha256 = "0vwd6nbadrqgaljb5grmw2iljvv963qd15axr5cvvgpd465q3kzc";
+      rev = "v2.2.1";
+      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
+    };
+  }
+  {
+    goPackagePath = "github.com/census-instrumentation/opencensus-proto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-proto";
+      rev = "v0.2.1";
+      sha256 = "19fcx3sc99i5dsklny6r073z5j20vlwn2xqm6di1q3b1xwchzqfj";
+    };
+  }
+  {
+    goPackagePath = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev = "v1.1.0";
+      sha256 = "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/logex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/logex";
+      rev = "v1.1.10";
+      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev = "2972be24d48e";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/test";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/test";
+      rev = "a1ea475d72b1";
+      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
+    };
+  }
+  {
+    goPackagePath = "github.com/client9/misspell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/misspell";
+      rev = "v0.3.4";
+      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
+    };
+  }
+  {
+    goPackagePath = "github.com/cncf/udpa";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cncf/udpa";
+      rev = "269d4d468f6f";
+      sha256 = "0i1jiaw2k3hlwwmg4hap81vb4s1p25xp9kdfww37v0fbgjariccs";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/bbolt";
+      rev = "v1.3.2";
+      sha256 = "13d5l6p6c5wvkr6vn9hkhz9c593qifn7fgx0hg4d6jcvg1y0bnm2";
+    };
+  }
+  {
+    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-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-systemd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-systemd";
+      rev = "95778dfbb74e";
+      sha256 = "1s3bg9p78wkixn2bqb2p23wbsqfg949ml6crw2b498s71mwh8rcf";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/pkg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/pkg";
+      rev = "399ea9e2e55f";
+      sha256 = "0nxbn0m7lr4dg0yrwnvlkfiyg3ndv8vdpssjx7b714nivpc6ar0y";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v2.0.0";
+      sha256 = "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv";
+    };
+  }
+  {
+    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 = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgryski/go-sip13";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-sip13";
+      rev = "e10d5fee7954";
+      sha256 = "15fyibfas209ljz3f7g07kdmfbl3hhyd9n5n7aq5n5p9m5mn41d6";
+    };
+  }
+  {
+    goPackagePath = "github.com/dnaeon/go-vcr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dnaeon/go-vcr";
+      rev = "v1.0.1";
+      sha256 = "1d0kpqr12qrqlamz5a47bp05mx49za2v6l1k7c6z71xahfmb7v2d";
     };
   }
   {
@@ -50,17 +284,125 @@
     fetch = {
       type = "git";
       url = "https://github.com/dustin/go-humanize";
-      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      rev = "v1.0.0";
       sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
     };
   }
   {
+    goPackagePath = "github.com/envoyproxy/go-control-plane";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/go-control-plane";
+      rev = "v0.9.4";
+      sha256 = "0m0crzx70lp7vz13v20wxb1fcfdnzp7h3mkh3bn6a8mbfz6w5asj";
+    };
+  }
+  {
+    goPackagePath = "github.com/envoyproxy/protoc-gen-validate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/protoc-gen-validate";
+      rev = "v0.1.0";
+      sha256 = "0kxd3wwh3xwqk0r684hsy281xq4y71cd11d4q2hspcjbnlbwh7cy";
+    };
+  }
+  {
+    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 = "v1.0.0";
+      sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-gl/glfw";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-gl/glfw";
+      rev = "6f7a984d4dc4";
+      sha256 = "1nyv7h08qf4dp8w9pmcnrc6vv9bkwj8fil6pz0mkbss5hf4i8xcq";
+    };
+  }
+  {
+    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.4.0";
+      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev = "v1.5.0";
+      sha256 = "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v";
+    };
+  }
+  {
+    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.2.1";
+      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+    };
+  }
+  {
+    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 = "404acd9df4cc9859d64fb9eed42e5c026187287a";
-      sha256 = "1zmhdr758wn0kfh5xr4hg026f9qvy00s3midb5iqnpx1kh647j2g";
+      rev = "8c9f03a8e57e";
+      sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/mock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/mock";
+      rev = "v1.4.3";
+      sha256 = "1p37xnja1dgq5ykx24n7wincwz2gahjh71b95p8vpw7ss2g8j8wx";
     };
   }
   {
@@ -68,8 +410,53 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "1680a479a2cfb3fa22b972af7e36d0a0fde47bf8";
-      sha256 = "1w0aivn2rqf7bcpz84nbn0alh1q3nglqgp7il835fmvvc94rrkqn";
+      rev = "v1.4.1";
+      sha256 = "0w7ks4vffnnkp0miwgc3chrsnmya45lzvpahb2wmw0jwhdp5kdx7";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev = "v1.0.0";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.4.0";
+      sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/martian";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/martian";
+      rev = "v2.1.0";
+      sha256 = "197hil6vrjk50b9wvwyzf61csid83whsjj6ik8mc9r2lryxlyyrp";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/pprof";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/pprof";
+      rev = "fc25d7d30c6d";
+      sha256 = "0ba28qx2i1bi6n6x5g670v8hmqavwj8lwl8psnc6vzagmdhjw0vg";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
     };
   }
   {
@@ -77,8 +464,107 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gax-go";
-      rev = "a170e83f27ee4e20c66e51b66a99a4a349a1b75a";
-      sha256 = "0a5ir1v5cd6m40hscqy0qpc3ibd703kiw419m66ddxnkvzykvp0i";
+      rev = "v2.0.5";
+      sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.0";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
+      rev = "v1.0.0";
+      sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
+      rev = "v1.2.0";
+      sha256 = "1lzk54h7np32b3acidg1ggbn8ppbnns0m71gcg9d1qkkdh8zrijl";
+    };
+  }
+  {
+    goPackagePath = "github.com/grpc-ecosystem/grpc-gateway";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc-ecosystem/grpc-gateway";
+      rev = "v1.9.0";
+      sha256 = "1r4y48c76yxc2hpqszfjirvh7zxjb6z72qmk95li12ar79dhv3dy";
+    };
+  }
+  {
+    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/ianlancetaylor/demangle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ianlancetaylor/demangle";
+      rev = "5e5cf60278f6";
+      sha256 = "1fhjk11cip9c3jyj1byz9z77n6n2rlxmyz0xjx1zpn1da3cvri75";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev = "v0.3.0";
+      sha256 = "12qgp7yb7yfjxhd311kb820fcjmg7gd4hp2fc4v6x8s7121pwnjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/jonboulle/clockwork";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jonboulle/clockwork";
+      rev = "v0.1.0";
+      sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jstemmer/go-junit-report";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jstemmer/go-junit-report";
+      rev = "v0.9.1";
+      sha256 = "1knip80yir1cdsjlb3rzy0a4w3kl4ljpiciaz6hjzwqlfhnv7bkw";
     };
   }
   {
@@ -86,8 +572,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/juju/ratelimit";
-      rev = "f60b32039441cd828005f82f3a54aafd00bc9882";
-      sha256 = "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r";
+      rev = "v1.0.1";
+      sha256 = "0ppwvwbh9jdpdk4f9924vw373cpfz5g5ad10c707p22a984vanrz";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.1.0";
+      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
     };
   }
   {
@@ -95,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/klauspost/compress";
-      rev = "30993c63e1b02b47dd3878e74c8db50833706ecc";
-      sha256 = "07d0r56ic91rdd0xvfr7zpn015kl6g9jwlgq5avczbz4fnyx5x8m";
+      rev = "v1.10.6";
+      sha256 = "0jnm5mjazxkjwzb7z6sjlqm2l68z4h4xjhir2lgfkf04rj4l290s";
     };
   }
   {
@@ -104,8 +617,53 @@
     fetch = {
       type = "git";
       url = "https://github.com/klauspost/pgzip";
-      rev = "083b1c3f84dd6486588802e5ce295de3a7f41a8b";
-      sha256 = "0ddigh096fz3lixbdm679hjvnfivbpkijrclk5sn9091hyj38pb3";
+      rev = "v1.2.4";
+      sha256 = "0mnhfdn0isbkra455jynqjbmrwymx09shlbzbyvgfycih3nbrif0";
+    };
+  }
+  {
+    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/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";
     };
   }
   {
@@ -113,8 +671,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/kurin/blazer";
-      rev = "cf2f27cc0be3dac3c1a94c3c8b76834ce741439e";
-      sha256 = "02nwxrczg8c9zj3hdmbyg458qvhfwl60ci1pjl7f0y07kgiv1rg3";
+      rev = "v0.5.3";
+      sha256 = "18jsq7n31ycvaivpvyksbddj82spw4g29w6dx92x2wab2hzbc7ik";
+    };
+  }
+  {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
     };
   }
   {
@@ -122,8 +689,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-ieproxy";
-      rev = "f9202b1cfdeb0c82ddd3dc1e8e9cd94b3c0c1b13";
-      sha256 = "0r8c17znlv32750qy3p96fbyp8ys8xfdccpzv0z9lr2y88jnzhpz";
+      rev = "v0.0.1";
+      sha256 = "0x1ijwwp22s20vjbca5ac7y7bx2jp6jizzqa38ks4943q7vi4w09";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
     };
   }
   {
@@ -131,8 +707,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/miolini/datacounter";
-      rev = "aa48df3a02c1fbcd3040271f631887991c3071fb";
-      sha256 = "12ldh5jhafjhh3jvh979mldwygkkcnm97axs7dhlai6gqwlhls87";
+      rev = "v1.0.2";
+      sha256 = "0lqhdb9glx65ycjjrqqqpd28zi95qnr2sdz93y6fma0khss46c5f";
+    };
+  }
+  {
+    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";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
     };
   }
   {
@@ -140,8 +743,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/nightlyone/lockfile";
-      rev = "0ad87eef1443f64d3d8c50da647e2b1552851124";
-      sha256 = "19vfswcvdy937da7w6hap3wp83drj5a084sqszy8r2ph4fbkln41";
+      rev = "v1.0.0";
+      sha256 = "0jzlngank7yaq5pl5mipsfglmalv9x2b9yhqr78w5dmx4hikh7kr";
+    };
+  }
+  {
+    goPackagePath = "github.com/oklog/ulid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/oklog/ulid";
+      rev = "v1.3.1";
+      sha256 = "0hybwyid820n80axrk863k2py93hbqlq6hxhf84ppmz0qd0ys0gq";
     };
   }
   {
@@ -149,17 +761,170 @@
     fetch = {
       type = "git";
       url = "https://github.com/op/go-logging";
-      rev = "970db520ece77730c7e4724c61121037378659d9";
+      rev = "970db520ece7";
       sha256 = "1cpna2x5l071z1vrnk7zipdkka8dzwsjyx7m79xk0lr08rip0kcj";
     };
   }
   {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+    };
+  }
+  {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7";
-      sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y";
+      rev = "v0.9.1";
+      sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
+    };
+  }
+  {
+    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.3";
+      sha256 = "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "14fe0d1b01d4";
+      sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.4.0";
+      sha256 = "00008pczafy982m59n1j31pnp41f4grbc2c40jccp52xg3m5klmr";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "5867b95ac084";
+      sha256 = "1rahdk62ajj4zpfb3mgzjqip773la9fb0m87m7s9a0b39l3fmzvr";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/tsdb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/tsdb";
+      rev = "v0.7.1";
+      sha256 = "1c1da8i5byvhh4fp3vqjfb65aaksjskn3ggb8wg9hcfzjrhgpz04";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/fastuuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/fastuuid";
+      rev = "6724a57986af";
+      sha256 = "12s65phfx6hxj4v0b5kj8akgrbf5mxpa101fyzw03h6hld1f70cz";
+    };
+  }
+  {
+    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/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v2.0.1";
+      sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j";
+    };
+  }
+  {
+    goPackagePath = "github.com/satori/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satori/go.uuid";
+      rev = "v1.2.0";
+      sha256 = "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/soheilhy/cmux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/soheilhy/cmux";
+      rev = "v0.1.4";
+      sha256 = "1f736g68d9vwlyfb6g0fxkr0r875369xafk30cz8kaq5niaqwv0h";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "f09979ecbc72";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      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";
     };
   }
   {
@@ -167,8 +932,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "8a4b46fadf756f30eff047abf2f8edba4eac6fef";
-      sha256 = "0f9pxni3lghl205wrnssw58iliqifrxcdabrbww20887zwn3ki7q";
+      rev = "v1.0.0";
+      sha256 = "0vbppqqhby302a5ayn0296jqr71qkcd4c9am7wzsk6z71fwdsa7h";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
     };
   }
   {
@@ -176,17 +950,125 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab";
+      rev = "v1.0.5";
       sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
     };
   }
   {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.4.0";
+      sha256 = "1zpzxvn13wpvbblbbn73svaq39zgxfjqhci9d68g3qf309pcfy19";
+    };
+  }
+  {
+    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.5.1";
+      sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
+    };
+  }
+  {
+    goPackagePath = "github.com/tmc/grpc-websocket-proxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tmc/grpc-websocket-proxy";
+      rev = "0ad062ec5ee5";
+      sha256 = "1anw4v9wspnw9xf2z5r9w0sszwjklyanl0l85wgg6nxak9gnrqp4";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "v1.1.4";
+      sha256 = "0ma2qvn5wqvjidpdz74x832a813qnr1cxbx6n6n125ak9b3wbn5w";
+    };
+  }
+  {
+    goPackagePath = "github.com/xiang90/probing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xiang90/probing";
+      rev = "43a291ad63a2";
+      sha256 = "1z22ms16j5j42775mf31isanwx2pwr1d8wqw8006dczjv36qnz5i";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
+    };
+  }
+  {
+    goPackagePath = "github.com/yuin/goldmark";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yuin/goldmark";
+      rev = "v1.1.27";
+      sha256 = "1872cqnii0kwiqcy81yin0idvjy5mdy4zlzz0csb319lcjs3b923";
+    };
+  }
+  {
+    goPackagePath = "go.etcd.io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev = "v1.3.2";
+      sha256 = "13d5l6p6c5wvkr6vn9hkhz9c593qifn7fgx0hg4d6jcvg1y0bnm2";
+    };
+  }
+  {
     goPackagePath = "go.opencensus.io";
     fetch = {
       type = "git";
       url = "https://github.com/census-instrumentation/opencensus-go";
-      rev = "3b5a343282fe4b4fccdb0f24cbd1d7169d20858a";
-      sha256 = "0qzx8p019r4qzm0knvs3kcx5vc9qg6ksgf1amk5djr1h00w460aw";
+      rev = "v0.22.3";
+      sha256 = "0xj16iq5jp26hi2py7lsd8cvqh651fgn39y05gzvjdi88d9xd3nw";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.4.0";
+      sha256 = "0c6yzx15c20719xii3dm0vyjd8i9jx45m0wh5yp1zf29b0gbljcy";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/multierr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/multierr";
+      rev = "v1.1.0";
+      sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/zap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/zap";
+      rev = "v1.10.0";
+      sha256 = "10hdzr1rghwbsl6bbd30779dx44fh9mg9pq8d2cgqlknqxxpvpvr";
     };
   }
   {
@@ -194,8 +1076,53 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "87dc89f01550277dc22b74ffcf4cd89fa2f40f4c";
-      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
+      rev = "06a226fb4e37";
+      sha256 = "0fdig6jx81g7a44dnxggibl909wchsj4nakmmhhz7db36sl0d7m5";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/exp";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/exp";
+      rev = "6cc2880d07d6";
+      sha256 = "1iia6hiif6hcp0cg1i6nq63qg0pmvm2kq24pf2r2il3597rfmlgy";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/image";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/image";
+      rev = "cff245a6509b";
+      sha256 = "0hiznlkiaay30acwvvyq8g6bm32r7bc6gv47pygrcxqpapasbz84";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "738671d3881b";
+      sha256 = "0jkiz4py59jjnkyxbxifpf7bsar11lbgmj5jiq2kic5k03shkn9c";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mobile";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mobile";
+      rev = "d2bd2a29d028";
+      sha256 = "1nv6vvhnjr01nx9y06q46ww87dppdwpbqrlsfg1xf2587wxl8xiv";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "v0.2.0";
+      sha256 = "1fp6885dclq77mh73v7i54v2b9llpv4di193zc8vmsbbkkc483cl";
     };
   }
   {
@@ -203,8 +1130,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "da9a3fd4c5820e74b24a6cb7fb438dc9b0dd377c";
-      sha256 = "0iavs400534jn7drmdphx0f18vgg060p2r59xw5d85ji1l5rin1l";
+      rev = "7e3656a0809f";
+      sha256 = "1rmj59bd0hvf8cbp42c0y8y38prs5ill1zszhqp9i8m86cvkfqk9";
     };
   }
   {
@@ -212,8 +1139,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/oauth2";
-      rev = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33";
-      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
+      rev = "bf48bf16ab8d";
+      sha256 = "1sirdib60zwmh93kf9qrx51r8544k1p9rs5mk0797wibz3m4mrdg";
     };
   }
   {
@@ -221,8 +1148,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e21273425c7ae415d3df9ea832eeb";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+      rev = "43a5402ce75a";
+      sha256 = "0j6zrrb81qjr1926kkwmn0di9a0jn8qyjd9dw614rfkihxgq1vsm";
     };
   }
   {
@@ -230,8 +1157,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "b09406accb4736d857a32bf9444cd7edae2ffa79";
-      sha256 = "00lbhsr2p3mi2n35mv3yy6lmgzjjav45yv9bmrxgyahbac5qnz5m";
+      rev = "7e40ca221e25";
+      sha256 = "1fkhs1sn6prfsqaj70kya2gn1sqqa85lmgff6j6s7027zc1yjvqa";
     };
   }
   {
@@ -239,26 +1166,62 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "3d0f7978add91030e5e8976ff65ccdd828286cba";
-      sha256 = "0iagl5icarfrbiv6m3dhqy51r30cnl07r66im5c88dz7lrvpy5z3";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev = "555d28b269f0";
+      sha256 = "1rhl4lyz030kwfsg63yk83yd3ivryv1afmzdz9sxbhcj84ym6h4r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "2bc93b1c0c88";
+      sha256 = "10sg7nvw40f2d6hxmsy4nvhmawbidk022v3arbh8acsjxglw84zs";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "9bdfabe68543";
+      sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
     };
   }
   {
     goPackagePath = "google.golang.org/api";
     fetch = {
       type = "git";
-      url = "https://code.googlesource.com/google-api-go-client";
-      rev = "e6ade80c6e2a122a6588f9f827207dcb99da433e";
-      sha256 = "1mk0ab6f2dyx1lack436zdhspq1hgip2s5m3pqjrqk18s8vvn4bd";
+      url = "https://github.com/googleapis/google-api-go-client";
+      rev = "v0.25.0";
+      sha256 = "0bfpii160ns1pl3iqc38h5db258mv58igf2ifglds3dajgsj2qrr";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.6.6";
+      sha256 = "15c38h6fbv06cnkr6yknygfrpibyms2mya4w0l29kaxf42jn1qi5";
     };
   }
   {
     goPackagePath = "google.golang.org/genproto";
     fetch = {
       type = "git";
-      url = "https://github.com/google/go-genproto";
-      rev = "548a555dbc03994223efbaba0090152849259498";
-      sha256 = "15sbfwrh6m18fn3n369cb5c8qsmw17wibwmjssblgp64gvmx5b18";
+      url = "https://github.com/googleapis/go-genproto";
+      rev = "f5ebc3bea380";
+      sha256 = "1v5dyp6g35rwjwx1ixjy7yh1hay4n7ya5aq5h4ckvd9h0j7rw5sz";
     };
   }
   {
@@ -266,8 +1229,98 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev = "7c8e60372e19da88fb3fe8ac6a8de781eef7f547";
-      sha256 = "03fb7j1gfglzp77hkhlm8dgg3if1j1pvry0nhx915ww0hmz6sr00";
+      rev = "v1.29.1";
+      sha256 = "1465947r6536si36cl2ppx7929la9zba1y6xfczfyp4kgf8988hf";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/protobuf";
+      rev = "v1.22.0";
+      sha256 = "0n7lc4m7kfvj01glc0gnjy0zsnsic7cxnbvlajy0h14cxbab87pj";
+    };
+  }
+  {
+    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/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/resty.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/resty.v1";
+      rev = "v1.12.0";
+      sha256 = "062mn735rqzhha5ag07z4gz08hxzrfm2yx067jfmaaxmb6797lmp";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "v0.0.1-2020.1.3";
+      sha256 = "0pvi1mzhy6zgx4zfgdypbl4zhvgg11hl5qv7blf2qs0a96j2djhf";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/binaryregexp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/binaryregexp";
+      rev = "v0.2.0";
+      sha256 = "1kar0myy85waw418zslviwx8846zj0m9cmqkxjx0fvgjdi70nc4b";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/quote";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/quote";
+      rev = "v3.1.0";
+      sha256 = "0nvv97hwwrl1mx5gzsbdm1ndnwpg3m7i2jb10ig9wily7zmvki0i";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/sampler";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/sampler";
+      rev = "v1.3.0";
+      sha256 = "0byxk2ynba50py805kcvbvjzh59l1r308i1xgyzpw6lff4xx9xjh";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
index 16563c380998..e954163b9e84 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
@@ -8,19 +8,19 @@
 , intltool
 , pavucontrol
 , python3Packages
-, utillinux
+, util-linux
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "blueberry";
-  version = "1.3.9";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "0llvz1h2dmvhvwkkvl0q4ggi1nmdbllw34ppnravs5lybqkicyw9";
+    sha256 = "19kmjp686h7lwmw5n7fc9giqbqm757pkbn42nfwlmasvzqsqlnz6";
   };
 
   nativeBuildInputs = [
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     cinnamon.xapps
     gnome3.gnome-bluetooth
     python3Packages.python
-    utillinux
+    util-linux
   ];
 
   pythonPath = with python3Packages; [
@@ -68,8 +68,8 @@ stdenv.mkDerivation rec {
       --replace /usr/lib/blueberry $out/lib/blueberry \
       --replace /usr/share $out/share
     substituteInPlace $out/lib/blueberry/rfkillMagic.py \
-      --replace /usr/bin/rfkill ${utillinux}/bin/rfkill \
-      --replace /usr/sbin/rfkill ${utillinux}/bin/rfkill \
+      --replace /usr/bin/rfkill ${util-linux}/bin/rfkill \
+      --replace /usr/sbin/rfkill ${util-linux}/bin/rfkill \
       --replace /usr/lib/blueberry $out/lib/blueberry
     substituteInPlace $out/share/applications/blueberry.desktop \
       --replace Exec=blueberry Exec=$out/bin/blueberry
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
index aa8693b365a0..ac50f3667c4e 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchurl {
     url = "https://github.com/blueman-project/blueman/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1pngqbwapbvywhkmflapqvs0wa0af7d1a87wy56l5hg2r462xl1v";
+    sha256 = "1nk46s1s8yrlqv37sc7la05nnn7sdgqhkrcdm98qin34llwkv70x";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/bluetooth/bluez-alsa/default.nix b/nixpkgs/pkgs/tools/bluetooth/bluez-alsa/default.nix
index 09f5471de483..588049cb976b 100644
--- a/nixpkgs/pkgs/tools/bluetooth/bluez-alsa/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/bluez-alsa/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "bluez-alsa";
-  version = "2.1.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "Arkq";
     repo = "bluez-alsa";
     rev = "v${version}";
-    sha256 = "112dfqxc144a61jqil2s3181gngfw5vz7yy10ml4f5a1nd90qnci";
+    sha256 = "1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch b/nixpkgs/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch
new file mode 100644
index 000000000000..90b60235aad5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch
@@ -0,0 +1,25 @@
+From e34a16301f425f273a67ed3abbc45840bc82d892 Mon Sep 17 00:00:00 2001
+From: srs5694 <srs5694@users.sourceforge.net>
+Date: Fri, 15 May 2020 12:34:14 -0400
+Subject: [PATCH] Fix GCC 10 compile problem
+
+---
+ Make.common | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Make.common b/Make.common
+index 3f0b919..95a3a97 100644
+--- a/Make.common
++++ b/Make.common
+@@ -60,7 +60,7 @@ endif
+ #
+ 
+ # ...for both GNU-EFI and TianoCore....
+-OPTIMFLAGS      = -Os -fno-strict-aliasing
++OPTIMFLAGS      = -Os -fno-strict-aliasing -fno-tree-loop-distribute-patterns
+ CFLAGS          = $(OPTIMFLAGS) -fno-stack-protector -fshort-wchar -Wall
+ 
+ # ...for GNU-EFI....
+-- 
+2.29.2
+
diff --git a/nixpkgs/pkgs/tools/bootloaders/refind/default.nix b/nixpkgs/pkgs/tools/bootloaders/refind/default.nix
index 5c7c68d9d9e3..76786c26d818 100644
--- a/nixpkgs/pkgs/tools/bootloaders/refind/default.nix
+++ b/nixpkgs/pkgs/tools/bootloaders/refind/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./0001-toolchain.patch
+    ./0001-Fix-GCC-10-compile-problem.patch
   ];
 
   buildInputs = [ gnu-efi ];
diff --git a/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix b/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix
index 9b232be8ce00..0acf55da7fe2 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, utillinux
+{ stdenv, fetchurl, util-linux
 , cdparanoia, cdrdao, dvdplusrwtools, flac, lame, mpg123, normalize
 , vorbis-tools, xorriso }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     name = "${pname}-${version}.tar.gz";
   };
 
-  nativeBuildInputs = [ utillinux ];
+  nativeBuildInputs = [ util-linux ];
 
   postPatch = ''
     for path in \
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       BB_OGGENC=${vorbis-tools}/bin/oggenc \
       BB_OGGDEC=${vorbis-tools}/bin/oggdec \
       BB_FLACCMD=${flac.bin}/bin/flac \
-      BB_EJECT=${utillinux}/bin/eject \
+      BB_EJECT=${util-linux}/bin/eject \
       BB_NORMCMD=${normalize}/bin/normalize \
     ; do
       echo $path
diff --git a/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix b/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
index cdc198873337..c9c71a99deb8 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${binpath}" --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
+    gappsWrapperArgs+=(--prefix PATH : "${binpath}")
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
index ae9e6724facc..b935bc02d150 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, qt4, utillinux, coreutils, which, qmake4Hook
+{ stdenv, fetchFromGitHub, makeWrapper, qt4, util-linux, coreutils, which, qmake4Hook
 , p7zip, mtools, syslinux }:
 
 stdenv.mkDerivation rec {
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace unetbootin.cpp \
       --replace /bin/df             ${coreutils}/bin/df \
-      --replace /sbin/blkid         ${utillinux}/sbin/blkid \
-      --replace /sbin/fdisk         ${utillinux}/sbin/fdisk \
-      --replace /sbin/sfdisk        ${utillinux}/sbin/sfdisk \
+      --replace /sbin/blkid         ${util-linux}/sbin/blkid \
+      --replace /sbin/fdisk         ${util-linux}/sbin/fdisk \
+      --replace /sbin/sfdisk        ${util-linux}/sbin/sfdisk \
       --replace /usr/bin/syslinux   ${syslinux}/bin/syslinux \
       --replace /usr/bin/extlinux   ${syslinux}/sbin/extlinux \
       --replace /usr/share/syslinux ${syslinux}/share/syslinux
diff --git a/nixpkgs/pkgs/tools/compression/brotli/default.nix b/nixpkgs/pkgs/tools/compression/brotli/default.nix
index bf20e0119ec6..f4f0ac41563a 100644
--- a/nixpkgs/pkgs/tools/compression/brotli/default.nix
+++ b/nixpkgs/pkgs/tools/compression/brotli/default.nix
@@ -4,21 +4,22 @@
 
 stdenv.mkDerivation rec {
   pname = "brotli";
-  version = "1.0.7";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "brotli";
     rev = "v" + version;
-    sha256 = "1811b55wdfg4kbsjcgh1kc938g118jpvif97ilgrmbls25dfpvvw";
+    sha256 = "z6Dhrabav1MDQ4rAcXaDv0aN+qOoh9cvoXZqEWBB13c=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   patches = stdenv.lib.optional staticOnly (fetchpatch {
-    # from https://github.com/google/brotli/pull/655
-    url = "https://github.com/google/brotli/commit/7289e5a378ba13801996a84d89d8fe95c3fc4c11.patch";
-    sha256 = "1bghbdvj24jrvb0sqfdif9vwg7wx6pn8dvl6flkrcjkhpj0gi0jg";
+    # context from https://github.com/google/brotli/pull/655
+    # updated patch from https://github.com/google/brotli/pull/655
+    url = "https://github.com/google/brotli/commit/47a554804ceabb899ae924aaee54df806053d0d1.patch";
+    sha256 = "sOeXNVsCaBSD9i82GRUDrkyreGeQ7qaJWjjy/uLL0/0=";
   });
 
   cmakeFlags = []
@@ -32,7 +33,14 @@ stdenv.mkDerivation rec {
 
   # This breaks on Darwin because our cmake hook tries to make a build folder
   # and the wonderful bazel BUILD file is already there (yay case-insensitivity?)
-  prePatch = "rm BUILD";
+  prePatch = ''
+      rm BUILD
+
+      # Upstream fixed this reference to runtime-path after the release
+      # and with this references g++ complains about invalid option -R
+      sed -i 's/ -R''${libdir}//' scripts/libbrotli*.pc.in
+      cat scripts/libbrotli*.pc.in
+    '';
 
   # Don't bother with "man" output for now,
   # it currently only makes the manpages hard to use.
@@ -61,7 +69,7 @@ stdenv.mkDerivation rec {
       '';
 
     license = licenses.mit;
-    maintainers = [ maintainers.vcunat ];
+    maintainers = with maintainers; [ freezeboy ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/compression/bzip2/default.nix b/nixpkgs/pkgs/tools/compression/bzip2/default.nix
index 3e20258cbbee..96d560145df7 100644
--- a/nixpkgs/pkgs/tools/compression/bzip2/default.nix
+++ b/nixpkgs/pkgs/tools/compression/bzip2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, linkStatic ? (stdenv.hostPlatform.system == "i686-cygwin")
+, linkStatic ? with stdenv.hostPlatform; isStatic || isCygwin
 , autoreconfHook
 }:
 
diff --git a/nixpkgs/pkgs/tools/compression/flips/default.nix b/nixpkgs/pkgs/tools/compression/flips/default.nix
new file mode 100644
index 000000000000..76676624fc32
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/flips/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, gtk3, libdivsufsort, pkg-config, wrapGAppsHook }:
+
+stdenv.mkDerivation {
+  pname = "flips";
+  version = "unstable-2020-10-02";
+
+  src = fetchFromGitHub {
+    owner = "Alcaro";
+    repo = "Flips";
+    rev = "5a3d2012b8ea53ae777c24b8ac4edb9a6bdb9761";
+    sha256 = "1ksh9j1n5z8b78yd7gjxswndsqnb1azp84xk4rc0p7zq127l0fyy";
+  };
+
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  buildInputs = [ gtk3 libdivsufsort ];
+  patches = [ ./use-system-libdivsufsort.patch ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  buildPhase = "./make.sh";
+
+  meta = with stdenv.lib; {
+    description = "A patcher for IPS and BPS files";
+    homepage = "https://github.com/Alcaro/Flips";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.xfix ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/compression/flips/use-system-libdivsufsort.patch b/nixpkgs/pkgs/tools/compression/flips/use-system-libdivsufsort.patch
new file mode 100644
index 000000000000..aa741decb019
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/flips/use-system-libdivsufsort.patch
@@ -0,0 +1,15 @@
+diff --git a/Makefile b/Makefile
+index c9d8b6d..9d66b0b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -79,9 +79,7 @@ endif
+ MOREFLAGS := $(CFLAGS_$(TARGET))
+ 
+ 
+-DIVSUF := libdivsufsort-2.0.1
+-SOURCES += $(DIVSUF)/lib/divsufsort.c $(DIVSUF)/lib/sssort.c $(DIVSUF)/lib/trsort.c
+-MOREFLAGS += -I$(DIVSUF)/include -DHAVE_CONFIG_H -D__STDC_FORMAT_MACROS
++MOREFLAGS += -ldivsufsort
+ 
+ ifeq ($(TARGET),gtk)
+   CFLAGS_G += -fopenmp
diff --git a/nixpkgs/pkgs/tools/compression/lz4/default.nix b/nixpkgs/pkgs/tools/compression/lz4/default.nix
index 6bc365b8e1e1..7fceb3854ebc 100644
--- a/nixpkgs/pkgs/tools/compression/lz4/default.nix
+++ b/nixpkgs/pkgs/tools/compression/lz4/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub, valgrind, fetchpatch
-, enableStatic ? false, enableShared ? true
+, enableStatic ? stdenv.hostPlatform.isStatic
+, enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
 stdenv.mkDerivation rec {
   pname = "lz4";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
-    sha256 = "0lpaypmk70ag2ks3kf2dl4ac3ba40n5kc1ainkp9wfjawz76mh61";
+    sha256 = "1w02kazh1fps3sji2sn89fz862j1199c5ajrqcgl1bnlxj09kcbz";
     rev = "v${version}";
     repo = pname;
     owner = pname;
diff --git a/nixpkgs/pkgs/tools/compression/lzbench/default.nix b/nixpkgs/pkgs/tools/compression/lzbench/default.nix
index be0491007e24..3609e5330446 100644
--- a/nixpkgs/pkgs/tools/compression/lzbench/default.nix
+++ b/nixpkgs/pkgs/tools/compression/lzbench/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lzbench";
-  version = "1.8";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "inikep";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gxw9b3yjj3z2b1y9mx3yfhklyxpfmb8fjf9mfpg9hlbr9mcpff3";
+    sha256 = "19zlvcjb1qg4fx30rrp6m650660y35736j8szvdxmqh9ipkisyia";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/compression/pbzx/default.nix b/nixpkgs/pkgs/tools/compression/pbzx/default.nix
index 13e5882788d1..2804ed7a0b57 100644
--- a/nixpkgs/pkgs/tools/compression/pbzx/default.nix
+++ b/nixpkgs/pkgs/tools/compression/pbzx/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cp pbzx $out/bin
   '';
   meta = with lib; {
-    description = "Stream parser of Apple's pbzx compression format.";
+    description = "Stream parser of Apple's pbzx compression format";
     platforms = platforms.unix;
     license = licenses.gpl3;
     maintainers = [ maintainers.matthewbauer ];
diff --git a/nixpkgs/pkgs/tools/compression/pigz/default.nix b/nixpkgs/pkgs/tools/compression/pigz/default.nix
index 1953b793657e..07c7bf95607d 100644
--- a/nixpkgs/pkgs/tools/compression/pigz/default.nix
+++ b/nixpkgs/pkgs/tools/compression/pigz/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, utillinux }:
+{ stdenv, fetchurl, zlib, util-linux }:
 
 let name = "pigz";
     version = "2.4";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux utillinux;
+  buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux util-linux;
 
   makeFlags = [ "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" ];
 
diff --git a/nixpkgs/pkgs/tools/compression/xz/default.nix b/nixpkgs/pkgs/tools/compression/xz/default.nix
index 5cf88288d813..161619a04836 100644
--- a/nixpkgs/pkgs/tools/compression/xz/default.nix
+++ b/nixpkgs/pkgs/tools/compression/xz/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, enableStatic ? false }:
+{ stdenv, fetchurl
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -31,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://tukaani.org/xz/";
-    description = "XZ, general-purpose data compression software, successor of LZMA";
+    description = "A general-purpose data compression software, successor of LZMA";
 
     longDescription =
       '' XZ Utils is free general-purpose data compression software with high
diff --git a/nixpkgs/pkgs/tools/compression/zstd/default.nix b/nixpkgs/pkgs/tools/compression/zstd/default.nix
index 8ce434741a55..c26ca507525f 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/default.nix
+++ b/nixpkgs/pkgs/tools/compression/zstd/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ]
    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
-  buildInputs = [ bash ];
+  buildInputs = stdenv.lib.optional stdenv.hostPlatform.isUnix bash;
 
   patches = [
     ./playtests-darwin.patch
@@ -72,7 +72,9 @@ stdenv.mkDerivation rec {
       --replace "zstdcat" "$bin/bin/zstdcat"
   '';
 
-  outputs = [ "bin" "dev" "man" "out" ];
+  outputs = [ "bin" "dev" ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isUnix "man"
+    ++ [ "out" ];
 
   meta = with stdenv.lib; {
     description = "Zstandard real-time compression algorithm";
diff --git a/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix b/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
index 48e964bf687d..b52099bdeab8 100644
--- a/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, mkDerivation, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase }:
+{ stdenv, mkDerivation, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase, qttools }:
 
 mkDerivation rec {
   pname = "android-file-transfer";
-  version = "3.9";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "whoozle";
     repo = "android-file-transfer-linux";
     rev = "v${version}";
-    sha256 = "1pwayyd5xrmngfrmv2vwr8ns2wi199xkxf7dks8fl9zmlpizg3c3";
+    sha256 = "125rq8ji83nw6chfw43i0h9c38hjqh1qjibb0gnf9wrigar9zc8b";
   };
 
   nativeBuildInputs = [ cmake readline pkgconfig ];
-  buildInputs = [ fuse qtbase ];
+  buildInputs = [ fuse qtbase qttools ];
 
   meta = with stdenv.lib; {
     description = "Reliable MTP client with minimalistic UI";
     homepage = "https://whoozle.github.io/android-file-transfer-linux/";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     maintainers = [ maintainers.xaverdh ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/filesystems/apfs-fuse/default.nix b/nixpkgs/pkgs/tools/filesystems/apfs-fuse/default.nix
index 2c7b1c271569..32cde83d749a 100644
--- a/nixpkgs/pkgs/tools/filesystems/apfs-fuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/apfs-fuse/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
   buildInputs = [ fuse3 bzip2 zlib attr ];
   nativeBuildInputs = [ cmake ];
 
+  postFixup = ''
+    ln -s $out/bin/apfs-fuse $out/bin/mount.fuse.apfs-fuse
+  '';
+
   meta = with stdenv.lib; {
     homepage    = "https://github.com/sgan81/apfs-fuse";
     description = "FUSE driver for APFS (Apple File System)";
diff --git a/nixpkgs/pkgs/tools/filesystems/bcache-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcache-tools/default.nix
index c3b1759bcdd5..6e39ff174588 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcache-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcache-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, utillinux, bash }:
+{ stdenv, fetchurl, pkgconfig, util-linux, bash }:
 
 stdenv.mkDerivation rec {
   pname = "bcache-tools";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ utillinux ];
+  buildInputs = [ util-linux ];
 
   # * Remove broken install rules (they ignore $PREFIX) for stuff we don't need
   #   anyway (it's distro specific stuff).
diff --git a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index ee2af363a566..5b2a4e322421 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -6,13 +6,13 @@ assert fuseSupport -> fuse3 != null;
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "2020-08-25";
+  version = "2020-11-17";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "487ddeb03c574e902c5b749b4307e87e2150976a";
-    sha256 = "1pcid7apxmbl9dyvxcqby3k489wi69k8pl596ddzmkw5gmhgvgid";
+    rev = "41bec63b265a38dd9fa168b6042ea5bf07135048";
+    sha256 = "1y3187kpw1bmnl97isv28k2sw8cmrnsn31a0dw745adwm0n7z6fj";
   };
 
   postPatch = ''
@@ -22,11 +22,7 @@ stdenv.mkDerivation {
                 "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
   '';
 
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    pkgconfig
-  ];
+  nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [
     libuuid libscrypt libsodium keyutils liburcu zlib libaio
@@ -34,22 +30,14 @@ stdenv.mkDerivation {
   ] ++ stdenv.lib.optional fuseSupport fuse3;
 
   doCheck = false; # needs bcachefs module loaded on builder
-
-  checkFlags = [
-    "BCACHEFS_TEST_USE_VALGRIND=no"
-  ];
-
-  checkInputs = [
-    valgrind
-  ];
+  checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ];
+  checkInputs = [ valgrind ];
 
   preCheck = stdenv.lib.optionalString fuseSupport ''
     rm tests/test_fuse.py
   '';
 
-  installFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "Tool for managing bcachefs filesystems";
diff --git a/nixpkgs/pkgs/tools/filesystems/bees/default.nix b/nixpkgs/pkgs/tools/filesystems/bees/default.nix
index e87cecbf8fd3..bdca893a136c 100644
--- a/nixpkgs/pkgs/tools/filesystems/bees/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bees/default.nix
@@ -1,24 +1,21 @@
-{ stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, utillinux }:
+{ stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, util-linux }:
 
 let
 
-  version = "0.6.2";
-  sha256 = "05niv9rivd3j3cwcx3n3vjr85wr0l5i76giq9n54d2vdwmn8qjib";
-
-  bees = stdenv.mkDerivation {
+  bees = stdenv.mkDerivation rec {
     pname = "bees";
-    inherit version;
+    version = "0.6.3";
 
     src = fetchFromGitHub {
       owner = "Zygo";
       repo = "bees";
       rev = "v${version}";
-      inherit sha256;
+      sha256 = "sha256-brEjr7lhmKDCIDeLq+XP+ZTxv1RvwoUlszMSEYygxv8=";
     };
 
     buildInputs = [
       btrfs-progs               # for btrfs/ioctl.h
-      utillinux                 # for uuid.h
+      util-linux                 # for uuid.h
     ];
 
     nativeBuildInputs = [
@@ -58,8 +55,9 @@ let
 
 in
 
-runCommand "bees-service-${version}" {
-  inherit bash bees coreutils utillinux;
+runCommand "bees-service" {
+  inherit bash bees coreutils;
+  utillinux = util-linux; # needs to be a valid shell variable name
   btrfsProgs = btrfs-progs; # needs to be a valid shell variable name
 } ''
   mkdir -p -- "$out/bin"
diff --git a/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix b/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
index f8968260ce79..e69f76e16304 100644
--- a/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.7";
+  version = "1.14.8";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1lbqyc9vpgck05n0q3qsvsr34142iv721z6iwxhc5j98370ff9i8";
+    sha256 = "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5";
   };
 
   dontStrip = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
index 8ff72421a598..03db1d913e2b 100644
--- a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.7";
+  version = "5.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "0p6ycbr8sw5bq3mj84gh9rvh5sk8sjr2l9hb9dhm4j41ij5h8bsw";
+    sha256 = "14d7hz07kfczfgmy1ixkgccjn393gpkjn7givz5kwxddcnk5i4xq";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed -i s/-O1/-O2/ configure";
 
   postInstall = ''
-    install -v -m 444 -D btrfs-completion $out/etc/bash_completion.d/btrfs
+    install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs
   '';
 
   configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch b/nixpkgs/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch
new file mode 100644
index 000000000000..f78c7af9e35a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch
@@ -0,0 +1,63 @@
+From b9b6faf66ae67648626470cb4fc3f0850ac4d842 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <ddiss@suse.de>
+Date: Tue, 1 Sep 2020 13:49:21 +0200
+Subject: [PATCH] cmake: detect and use sigdescr_np() if available
+
+sys_siglist is deprecated with glibc 2.32. A new thread-safe and
+async-signal safe sigdescr_np() function is provided, so use it if
+available.
+
+Fixes: https://tracker.ceph.com/issues/47187
+Signed-off-by: David Disseldorp <ddiss@suse.de>
+---
+ cmake/modules/CephChecks.cmake | 1 +
+ src/global/signal_handler.h    | 8 +++++---
+ src/include/config-h.in.cmake  | 3 +++
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/modules/CephChecks.cmake b/cmake/modules/CephChecks.cmake
+index 23687283a7c6..ca86dcbc73de 100644
+--- a/cmake/modules/CephChecks.cmake
++++ b/cmake/modules/CephChecks.cmake
+@@ -24,6 +24,7 @@ check_function_exists(strerror_r HAVE_Strerror_R)
+ check_function_exists(name_to_handle_at HAVE_NAME_TO_HANDLE_AT)
+ check_function_exists(pipe2 HAVE_PIPE2)
+ check_function_exists(accept4 HAVE_ACCEPT4)
++check_function_exists(sigdescr_np HAVE_SIGDESCR_NP)
+ 
+ include(CMakePushCheckState)
+ cmake_push_check_state(RESET)
+diff --git a/src/global/signal_handler.h b/src/global/signal_handler.h
+index 476724201aa9..c101b2e28733 100644
+--- a/src/global/signal_handler.h
++++ b/src/global/signal_handler.h
+@@ -20,10 +20,12 @@
+ 
+ typedef void (*signal_handler_t)(int);
+ 
+-#ifndef HAVE_REENTRANT_STRSIGNAL
+-# define sig_str(signum) sys_siglist[signum]
+-#else
++#ifdef HAVE_SIGDESCR_NP
++# define sig_str(signum) sigdescr_np(signum)
++#elif HAVE_REENTRANT_STRSIGNAL
+ # define sig_str(signum) strsignal(signum)
++#else
++# define sig_str(signum) sys_siglist[signum]
+ #endif
+ 
+ void install_sighandler(int signum, signal_handler_t handler, int flags);
+diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake
+index 1ea3703f620c..59bd4273511a 100644
+--- a/src/include/config-h.in.cmake
++++ b/src/include/config-h.in.cmake
+@@ -220,6 +220,9 @@
+ /* Define to 1 if you have sched.h. */
+ #cmakedefine HAVE_SCHED 1
+ 
++/* Define to 1 if you have sigdescr_np. */
++#cmakedefine HAVE_SIGDESCR_NP 1
++
+ /* Support SSE (Streaming SIMD Extensions) instructions */
+ #cmakedefine HAVE_SSE
+ 
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index 9b9fe9a5aaf0..1a43d792ad3e 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -1,4 +1,5 @@
 { stdenv, runCommand, fetchurl
+, fetchpatch
 , ensureNewerSourcesHook
 , cmake, pkgconfig
 , which, git
@@ -27,7 +28,7 @@
 , nss ? null, nspr ? null
 
 # Linux Only Dependencies
-, linuxHeaders, utillinux, libuuid, udev, keyutils, rdma-core, rabbitmq-c
+, linuxHeaders, util-linux, libuuid, udev, keyutils, rdma-core, rabbitmq-c
 , libaio ? null, libxfs ? null, zfs ? null
 , ...
 }:
@@ -121,10 +122,10 @@ let
   ]);
   sitePackages = ceph-python-env.python.sitePackages;
 
-  version = "15.2.5";
+  version = "15.2.7";
   src = fetchurl {
     url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-    sha256 = "05p7ssbfypf5x8bry361rrnyaihf89xzbqzhygdyrg7w1rxpna8d";
+    sha256 = "082lpx1rsifjh636zypxy6ccs6nfkcm9azxp5ghvr5mvx9chmyrj";
   };
 in rec {
   ceph = stdenv.mkDerivation {
@@ -133,6 +134,7 @@ in rec {
 
     patches = [
       ./0000-fix-SPDK-build-env.patch
+      ./ceph-glibc-2-32-sigdescr_np.patch
     ];
 
     nativeBuildInputs = [
@@ -147,7 +149,7 @@ in rec {
       malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
       snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng rdkafka
     ] ++ optionals stdenv.isLinux [
-      linuxHeaders utillinux libuuid udev keyutils optLibaio optLibxfs optZfs
+      linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs
       # ceph 14
       rdma-core rabbitmq-c
     ] ++ optionals hasRadosgw [
@@ -207,12 +209,12 @@ in rec {
   ceph-client = runCommand "ceph-client-${version}" {
       meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices";
     } ''
-      mkdir -p $out/{bin,etc,${sitePackages}}
+      mkdir -p $out/{bin,etc,${sitePackages},share/bash-completion/completions}
       cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin
       cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin
       cp -r ${ceph}/bin/rbd-replay* $out/bin
       cp -r ${ceph}/${sitePackages} $out/${sitePackages}
-      cp -r ${ceph}/etc/bash_completion.d $out/etc
+      cp -r ${ceph}/etc/bash_completion.d $out/share/bash-completion/completions
       # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths
       substituteInPlace $out/bin/ceph          --replace ${ceph} $out
       substituteInPlace $out/bin/.ceph-wrapped --replace ${ceph} $out
diff --git a/nixpkgs/pkgs/tools/filesystems/convoy/default.nix b/nixpkgs/pkgs/tools/filesystems/convoy/default.nix
index f12187be810f..3372ec835304 100644
--- a/nixpkgs/pkgs/tools/filesystems/convoy/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/convoy/default.nix
@@ -18,7 +18,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/rancher/convoy";
-    description = "A Docker volume plugin, managing persistent container volumes.";
+    description = "A Docker volume plugin, managing persistent container volumes";
     license = licenses.asl20;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix b/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix
index 46635aa67412..1c639dfc29ec 100644
--- a/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
 
   pname = "cpcfs";
   version = "0.85.4";
-  
+
   src = fetchFromGitHub {
     owner = "derikz";
     repo = "cpcfs";
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "Manipulating CPC dsk images and files";
     homepage = "https://github.com/derikz/cpcfs/" ;
     license = licenses.bsd2;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/darling-dmg/default.nix b/nixpkgs/pkgs/tools/filesystems/darling-dmg/default.nix
index 43823e5b51a3..42853eb8ff97 100644
--- a/nixpkgs/pkgs/tools/filesystems/darling-dmg/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/darling-dmg/default.nix
@@ -1,26 +1,29 @@
-{ stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu } :
+{ stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu, lzfse }:
 
 stdenv.mkDerivation rec {
   pname = "darling-dmg";
-  version = "1.0.4+git20180914";
+  version = "1.0.4+git20200427";
 
   src = fetchFromGitHub {
     owner = "darlinghq";
     repo = "darling-dmg";
-    rev = "97a92a6930e43cdbc9dedaee62716e3223deb027";
-    sha256 = "1bngr4827qnl4s2f7z39wjp13nfm3zzzykjshb43wvjz536bnqdj";
+    rev = "71cc76c792db30328663272788c0b64aca27fdb0";
+    sha256 = "08iphkxlmjddrxpbm13gxyqwcrd0k65z3l1944n4pccb6qbyj8gv";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ fuse openssl zlib bzip2 libxml2 icu ];
+  buildInputs = [ fuse openssl zlib bzip2 libxml2 icu lzfse ];
 
-  # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
-  CXXFLAGS = [ "-DU_USING_ICU_NAMESPACE=1" ];
+  CXXFLAGS = [
+    "-DCOMPILE_WITH_LZFSE=1"
+    "-llzfse"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "https://www.darlinghq.org/";
     description = "Darling lets you open macOS dmgs on Linux";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl3;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ Luflosi ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/davfs2/0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch b/nixpkgs/pkgs/tools/filesystems/davfs2/0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch
new file mode 100644
index 000000000000..0e31725936fa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/davfs2/0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch
@@ -0,0 +1,42 @@
+From 56873cf29974ff0dfc1ba1afb7022ce49e300835 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Wed, 11 Nov 2020 11:58:25 +0100
+Subject: [PATCH 2/2] Make sure that the setuid-wrapped `umount` is invoked
+
+---
+ src/dav_fuse.c     | 2 +-
+ src/umount_davfs.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/dav_fuse.c b/src/dav_fuse.c
+index 734bc1f..4501433 100644
+--- a/src/dav_fuse.c
++++ b/src/dav_fuse.c
+@@ -187,7 +187,7 @@ dav_fuse_loop(int device, char *mpoint, size_t bufsize, time_t idle_time,
+             unmounting = 1;
+             pid_t pid = fork();
+             if (pid == 0) {
+-                execl("/bin/umount", "umount", "-il", mountpoint, NULL);
++                execl("@wrapperDir@/umount", "umount", "-il", mountpoint, NULL);
+                 _exit(EXIT_FAILURE);
+             }
+         }
+diff --git a/src/umount_davfs.c b/src/umount_davfs.c
+index b7019c3..75e3b4b 100644
+--- a/src/umount_davfs.c
++++ b/src/umount_davfs.c
+@@ -122,9 +122,9 @@ main(int argc, char *argv[])
+ 
+     char *umount_command = NULL;
+     if (mpoint) {
+-        umount_command = ne_concat("umount -i '", mpoint, "'", NULL);
++        umount_command = ne_concat("@wrapperDir@/umount -i '", mpoint, "'", NULL);
+     } else {
+-        umount_command = ne_concat("umount -i '", argv[optind], "'", NULL);
++        umount_command = ne_concat("@wrapperDir@/umount -i '", argv[optind], "'", NULL);
+         error(0, 0,
+               _("\n"
+                 "  can't evaluate PID file name;\n"
+-- 
+2.28.0
+
diff --git a/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
index 4f818ed213b7..02536a13d15b 100644
--- a/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
@@ -1,42 +1,32 @@
 { stdenv
 , fetchurl
 , fetchpatch
-, autoreconfHook
 , neon
 , procps
 , substituteAll
 , zlib
+, wrapperDir ? "/run/wrappers/bin"
 }:
 
 stdenv.mkDerivation rec {
-  name = "davfs2-1.5.6";
+  name = "davfs2-1.6.0";
 
   src = fetchurl {
     url = "mirror://savannah/davfs2/${name}.tar.gz";
-    sha256 = "00fqadhmhi2bmdar5a48nicmjcagnmaj9wgsvjr6cffmrz6pcx21";
+    sha256 = "sha256-LmtnVoW9kXdyvmDwmZrgmMgPef8g3BMej+xFR8u2O1A=";
   };
 
-  nativeBuildInputs = [
-    autoreconfHook # neon-0.31.patch requires reconfiguration
-  ];
-
   buildInputs = [ neon zlib ];
 
   patches = [
-    ./isdir.patch
     ./fix-sysconfdir.patch
     (substituteAll {
       src = ./0001-umount_davfs-substitute-ps-command.patch;
       ps = "${procps}/bin/ps";
     })
-
-    # Fix build with neon 0.31
-    # http://savannah.nongnu.org/bugs/?58101
-    (fetchpatch {
-      name = "neon-0.31.patch";
-      url = "http://savannah.nongnu.org/bugs/download.php?file_id=48737";
-      sha256 = "117x9rql6wk230pl1nram3pp8svll9wzfs5nf407z4jnrdr1zm0j";
-      extraPrefix = ""; # empty means add 'a/' and 'b/'
+    (substituteAll {
+      src = ./0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch;
+      inherit wrapperDir;
     })
   ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix b/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix
index 10e6e2f9c801..e1f28a0f2792 100644
--- a/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/dislocker/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dislocker";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "aorimn";
     repo = "dislocker";
     rev = "v${version}";
-    sha256 = "1crh2sg5x1kgqmdrl1nmrqwxjykxa4zwnbggcpdn97mj2gvdw7sb";
+    sha256 = "1ak68s1v5dwh8y2dy5zjybmrh0pnqralmyqzis67y21m87g47h2k";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix b/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
index 53ebbb2f8d44..3d70f2f73c7f 100644
--- a/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duperemove";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "markfasheh";
     repo = "duperemove";
     rev = "v${version}";
-    sha256 = "1scz76pvpljvrpfn176125xwaqwyy4pirlm11sc9spb2hyzknw2z";
+    sha256 = "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
index 469ed6fdf343..f846bf1f2001 100644
--- a/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
-  version = "1.45.5";
+  version = "1.45.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1n8ffss5044j9382rlvmhyr1f6kmnfjfbv6q4jbbh8gfdwpjmrwi";
+    sha256 = "sha256-X2SsUKK2C45nxbOCuxN97Dk0QBcQPK/8OmFVRCTy1pM=";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
diff --git a/nixpkgs/pkgs/tools/filesystems/f3/default.nix b/nixpkgs/pkgs/tools/filesystems/f3/default.nix
index e8d60f835bf0..b9817ecb05c0 100644
--- a/nixpkgs/pkgs/tools/filesystems/f3/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/f3/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "f3";
-  version = "7.2";
+  version = "8.0";
 
   src = fetchFromGitHub {
     owner = "AltraMayor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1iwdg0r4wkgc8rynmw1qcqz62l0ldgc8lrazq33msxnk5a818jgy";
+    sha256 = "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix b/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
index c1d048889c70..c8366a96f075 100644
--- a/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fatresize/default.nix
@@ -1,38 +1,26 @@
-{ stdenv, fetchurl, parted, utillinux }:
+{ stdenv, fetchFromGitHub, parted, util-linux, pkg-config }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.0.2";
+  version = "1.1.0";
   pname = "fatresize";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/fatresize/fatresize-${version}.tar.bz2";
-    sha256 = "04wp48jpdvq4nn0dgbw5za07g842rnxlh9mig4mslz70zqs0izjm";
+  src = fetchFromGitHub {
+    owner = "ya-mouse";
+    repo = "fatresize";
+    rev = "v${version}";
+    sha256 = "1vhz84kxfyl0q7mkqn68nvzzly0a4xgzv76m6db0bk7xyczv1qr2";
   };
 
-  buildInputs = [ parted utillinux ];
+  buildInputs = [ parted util-linux ];
+  nativeBuildInputs = [ pkg-config ];
 
-  # This patch helps this unmantained piece of software to be built against recent parted
-  # It basically modifies the detection scheme for parted version (the current one has no micro version defined)
-  # The second change is to include a header for a moved function since 1.6+ to current 3.1+ parted
-  # The third change is to modify the call to PED_ASSERT that is no longer defined with 2 params
-  patches = [ ./fatresize_parted_nix.patch ];
-
-  preConfigure = ''
-    echo "Replacing calls to ped_free with free ..."
-    substituteInPlace ./fatresize.c --replace ped_free free
-  '';
-
-  # Filesystem resize functions were reintroduced in parted 3.1 due to no other available free alternatives
-  # but in a sepparate library -> libparted-fs-resize --- that's why the added LDFLAG
-  makeFlags = [ "LDFLAGS=-lparted-fs-resize" ];
-
-  propagatedBuildInputs = [ parted utillinux ];
+  propagatedBuildInputs = [ parted util-linux ];
 
   meta = with stdenv.lib; {
     description = "The FAT16/FAT32 non-destructive resizer";
-    homepage = "https://sourceforge.net/projects/fatresize";
+    homepage = "https://github.com/ya-mouse/fatresize";
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch b/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch
deleted file mode 100644
index e9aa87a2d564..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/aclocal.m4 b/aclocal.m4
-index 18e8176..2e75592 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -88,8 +88,15 @@ int main ()
- 	if ( !(version = ped_get_version ()) )
- 		exit(1);
- 	if (sscanf(version, "%d.%d.%d", &major, &minor, &micro) != 3) {
--		printf("%s, bad version string\n", version);
--		exit(1);
-+		if (sscanf(version, "%d.%d", &major, &minor) != 2)
-+		{
-+		  printf("%s, bad version string\n", version);
-+		  exit(1);
-+		}
-+		else
-+		{
-+		  micro = 0;
-+		}
- 	}
- 	
- 	if ((major > $parted_config_major_version) ||
-diff --git a/configure b/configure
-index ed31457..e5f1705 100755
---- a/configure
-+++ b/configure
-@@ -4793,8 +4793,15 @@ int main ()
- 	if ( !(version = ped_get_version ()) )
- 		exit(1);
- 	if (sscanf(version, "%d.%d.%d", &major, &minor, &micro) != 3) {
--		printf("%s, bad version string\n", version);
--		exit(1);
-+		if (sscanf(version, "%d.%d", &major, &minor) != 2)
-+		{
-+		  printf("%s, bad version string\n", version);
-+		  exit(1);
-+		}
-+		else
-+		{
-+		  micro = 0;
-+		}
- 	}
- 
- 	if ((major > $parted_config_major_version) ||
-diff --git a/fatresize.c b/fatresize.c
-index 424d5d2..e439102 100644
---- a/fatresize.c
-+++ b/fatresize.c
-@@ -30,6 +30,7 @@
- #include <inttypes.h>
- #include <parted/parted.h>
- #include <parted/debug.h>
-+#include <parted/filesys.h>
- #include <parted/unit.h>
- 
- #include "config.h"
-@@ -217,7 +218,7 @@ fatresize_handler(PedException *ex)
- static int
- snap(PedSector* sector, PedSector new_sector, PedGeometry* range)
- {
--    PED_ASSERT(ped_geometry_test_sector_inside (range, *sector), return 0);
-+    PED_ASSERT(ped_geometry_test_sector_inside (range, *sector));
-     if (!ped_geometry_test_sector_inside(range, new_sector))
- 	return 0;
- 
-@@ -281,7 +282,7 @@ snap_to_boundaries (PedGeometry* new_geom, PedGeometry* old_geom,
- 			  end_part->geom.end, end_part->geom.start - 1, -1);
- 	}
- 
--	PED_ASSERT (start <= end, return);
-+	PED_ASSERT (start <= end);
- 	ped_geometry_set (new_geom, start, end - start + 1);
- }
- 
diff --git a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 11a3615a84c8..4aafe8d6d628 100644
--- a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "1.1.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ivz65nnyisha3lkk6ywx175f2sdacjz3q5vy9xddr7dixwd2b18";
+    sha256 = "00pzwxn5a7dwz9ngl98198lx1c3nlhalzajyqazw9ydjkxibfpay";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
index 89fa3ebe33b6..d820e5e68e2a 100644
--- a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.30.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "1ai1dgf07g2c08rp87kygrl67hyj7x793093wmnwaxfpylx5flv0";
+    sha256 = "09k7479gd9rlzmxhcvc1b3ajy8frzd6881vnlvk3z9818n4aq7qc";
   };
 
   goPackagePath = "github.com/googlecloudplatform/gcsfuse";
diff --git a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
index 44880638e65d..a4e6bc1182be 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,30 +1,22 @@
-{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python3, ncurses, readline,
+{stdenv, fetchFromGitHub, fuse, bison, flex_2_5_35, openssl, python3, ncurses, readline,
  autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite,
  liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which,
- openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
- rsync, glibc
+ openssh, gawk, findutils, util-linux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
+ rsync, glibc, rpcsvc-proto, libtirpc
 }:
 let
-  s =
-  rec {
-    baseName="glusterfs";
-    # NOTE: On each glusterfs release, it should be checked if gluster added
-    #       new, or changed, Python scripts whose PYTHONPATH has to be set in
-    #       `postFixup` below, and whose runtime deps need to go into
-    #       `nativeBuildInputs`.
-    #       The command
-    #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
-    #       can help with finding new Python scripts.
-    version = "7.6";
-    name="${baseName}-${version}";
-    url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "0zdcv2jk8dp67id8ic30mkn97ccp07jf20g7v09a5k31pw9aqyih";
-  };
+  # NOTE: On each glusterfs release, it should be checked if gluster added
+  #       new, or changed, Python scripts whose PYTHONPATH has to be set in
+  #       `postFixup` below, and whose runtime deps need to go into
+  #       `nativeBuildInputs`.
+  #       The command
+  #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
+  #       can help with finding new Python scripts.
 
   buildInputs = [
     fuse bison flex_2_5_35 openssl ncurses readline
     autoconf automake libtool pkgconfig zlib libaio libxml2
-    acl sqlite liburcu attr makeWrapper utillinux
+    acl sqlite liburcu attr makeWrapper util-linux libtirpc
     (python3.withPackages (pkgs: [
       pkgs.flask
       pkgs.prettytable
@@ -56,29 +48,30 @@ let
     openssh # ssh
     rsync # rsync, e.g. for geo-replication
     systemd # systemctl
-    utillinux # mount umount
+    util-linux # mount umount
     which # which
     xfsprogs # xfs_info
   ];
-in
-stdenv.mkDerivation
-{
-  inherit (s) name version;
+in stdenv.mkDerivation rec {
+  pname = "glusterfs";
+  version = "8.3";
+
+  src = fetchFromGitHub {
+    owner = "gluster";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "09vvbymiacz2pzwnq6f2dd7g2zszzsivdncz45sh977v3z0n84az";
+  };
   inherit buildInputs propagatedBuildInputs;
 
-  patches = [
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1489610 is fixed
-    ./glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
-  ];
-
   postPatch = ''
     sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
     substituteInPlace libglusterfs/src/glusterfs/lvm-defaults.h \
       --replace '/sbin/' '${lvm2}/bin/'
     substituteInPlace libglusterfs/src/glusterfs/compat.h \
-      --replace '/bin/umount' '${utillinux}/bin/umount'
+      --replace '/bin/umount' '${util-linux}/bin/umount'
     substituteInPlace contrib/fuse-lib/mount-gluster-compat.h \
-      --replace '/bin/mount' '${utillinux}/bin/mount'
+      --replace '/bin/mount' '${util-linux}/bin/mount'
   '';
 
   # Note that the VERSION file is something that is present in release tarballs
@@ -91,7 +84,7 @@ stdenv.mkDerivation
   # but fails when the version is empty.
   # See upstream GlusterFS bug https://bugzilla.redhat.com/show_bug.cgi?id=1452705
   preConfigure = ''
-    echo "v${s.version}" > VERSION
+    echo "v${version}" > VERSION
     ./autogen.sh
     export PYTHON=${python3}/bin/python
     '';
@@ -100,6 +93,8 @@ stdenv.mkDerivation
     ''--localstatedir=/var''
     ];
 
+  nativeBuildInputs = [ rpcsvc-proto ];
+
   makeFlags = [ "DESTDIR=$(out)" ];
 
   enableParallelBuilding = true;
@@ -107,7 +102,7 @@ stdenv.mkDerivation
   postInstall = ''
     cp -r $out/$out/* $out
     rm -r $out/nix
-    '';
+  '';
 
   postFixup = ''
     # glusterd invokes `gluster` and other utilities when telling other glusterd nodes to run commands.
@@ -151,7 +146,7 @@ stdenv.mkDerivation
     wrapProgram $out/share/glusterfs/scripts/eventsdash.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
     wrapProgram $out/libexec/glusterfs/glusterfind/brickfind.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
     wrapProgram $out/libexec/glusterfs/glusterfind/changelog.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
-    '';
+  '';
 
   doInstallCheck = true;
 
@@ -185,12 +180,7 @@ stdenv.mkDerivation
     rm -r $out/bin/conf.py
     '';
 
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
-
   meta = with stdenv.lib; {
-    inherit (s) version;
     description = "Distributed storage system";
     homepage = "https://www.gluster.org";
     license = licenses.lgpl3Plus; # dual licese: choice of lgpl3Plus or gpl2
diff --git a/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch b/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
deleted file mode 100644
index f08d73cf3a65..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f523afac49e24ecc0fa4ad85195135689cf445f0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Wed, 27 Sep 2017 21:36:41 +0200
-Subject: [PATCH] Fix "glusterfind saves var data under $prefix instead of
- localstatedir". Fixes #1489610
-
-Change-Id: Id2362c20f34346c37acfb9eb1ad105d0b7b8b60f
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index f87d8a454..b4d3f5d10 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1118,7 +1118,7 @@ if test "x$exec_prefix" = xNONE; then
- 	exec_prefix="$(eval echo $prefix)"
- fi
- GLUSTERFS_LIBEXECDIR="$(eval echo $libexecdir)/glusterfs"
--GLUSTERFSD_MISCDIR="$(eval echo $prefix)/var/lib/misc/glusterfsd"
-+GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/lib/misc/glusterfsd"
- prefix=$old_prefix
- exec_prefix=$old_exec_prefix
-
---
-2.12.0
-
diff --git a/nixpkgs/pkgs/tools/filesystems/hfsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/hfsprogs/default.nix
index 2032ca1c1e75..e08835fc35d6 100644
--- a/nixpkgs/pkgs/tools/filesystems/hfsprogs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/hfsprogs/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
     })
   ];
 
+  postPatch = ''
+    sed -ie '/sys\/sysctl.h/d' newfs_hfs.tproj/makehfs.c
+  '';
+
   sourceRoot = "diskdev_cmds-" + version;
   patches = [ "../debian/patches/*.patch" ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix b/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
index d97b05abb6c7..23edb8175799 100644
--- a/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    description = "HTTPFS2, a FUSE-based HTTP file system for Linux";
+    description = "FUSE-based HTTP filesystem for Linux";
 
     homepage = "http://httpfs.sourceforge.net/";
 
diff --git a/nixpkgs/pkgs/tools/filesystems/idsk/default.nix b/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
index 6de0d586ad94..a8e2cc3f0974 100644
--- a/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "Manipulating CPC dsk images and files";
     homepage = "https://github.com/cpcsdk/idsk" ;
     license = licenses.mit;
-    maintainers = [ maintainers.genesis ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/ifuse/default.nix b/nixpkgs/pkgs/tools/filesystems/ifuse/default.nix
index 5e6025c03482..96a8c1d630d9 100644
--- a/nixpkgs/pkgs/tools/filesystems/ifuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ifuse/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ifuse";
-  version = "2018-10-08";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = "e75d32c34d0e8b80320f0a007d5ecbb3f55ef7f0";
-    sha256 = "1b9w2i0sliswlkkb890l9i0rxrf631xywxf8ihygfmjdsfw47h1m";
+    rev = version;
+    sha256 = "1r12y3h1j7ikkwk874h9969kr4ksyamvrwywx19ml6rsr01arw84";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig fuse usbmuxd libimobiledevice ];
diff --git a/nixpkgs/pkgs/tools/filesystems/irods/common.nix b/nixpkgs/pkgs/tools/filesystems/irods/common.nix
index fb90c3b0aebb..dfa7530ac64f 100644
--- a/nixpkgs/pkgs/tools/filesystems/irods/common.nix
+++ b/nixpkgs/pkgs/tools/filesystems/irods/common.nix
@@ -51,6 +51,6 @@ with stdenv;
     homepage = "https://irods.org";
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.bzizou ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix b/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
index e2cb603ca3d5..e0bb39a6f0bc 100644
--- a/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/lizardfs/default.nix
@@ -3,7 +3,7 @@
 , fetchpatch
 , cmake
 , makeWrapper
-, python2
+, python3
 , db
 , fuse
 , asciidoc
@@ -16,43 +16,27 @@
 , judy
 , pam
 , spdlog
+, fmt
+, systemdMinimal
 , zlib # optional
 }:
 
 stdenv.mkDerivation rec {
   pname = "lizardfs";
-  version = "3.12.0";
+  version = "3.13.0-rc3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zk73wmx82ari3m2mv0zx04x1ggsdmwcwn7k6bkl5c0jnxffc4ax";
+    rev = version;
+    sha256 = "sha256-rgaFhJvmA1RVDL4+vQLMC0GrdlgUlvJeZ5/JJ67C20Q=";
   };
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
 
-  buildInputs =
-    [ db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
-      zlib boost judy pam spdlog python2
-    ];
-
-  patches = [
-    # Use system-provided spdlog instead of downloading an old one (next two patches)
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/lizardfs/raw/d003c371/debian/patches/system-spdlog.patch";
-      sha256 = "1znpqqzb0k5bb7s4d7abfxzn5ry1khz8r76sb808c95cpkw91a9i";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/lizardfs/raw/bfcd5bcf/debian/patches/spdlog.patch";
-      sha256 = "0j44rb816i6kfh3y2qdha59c4ja6wmcnlrlq29il4ybxn42914md";
-    })
-    # Fix https://github.com/lizardfs/lizardfs/issues/655
-    # (Remove upon update to 3.13)
-    (fetchpatch {
-      url = "https://github.com/lizardfs/lizardfs/commit/5d20c95179be09241b039050bceda3c46980c004.patch";
-      sha256 = "185bfcz2rjr4cnxld2yc2nxwzz0rk4x1fl1sd25g8gr5advllmdv";
-    })
+  buildInputs = [
+    db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
+    zlib boost judy pam spdlog fmt python3 systemdMinimal
   ];
 
   meta = with stdenv.lib; {
@@ -60,6 +44,6 @@ stdenv.mkDerivation rec {
     description = "A highly reliable, scalable and efficient distributed file system";
     platforms = platforms.linux;
     license = licenses.gpl3;
-    maintainers = [ maintainers.rushmorem ];
+    maintainers = with maintainers; [ rushmorem shamilton ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
index a7c9421f46ad..60670708f4bc 100644
--- a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
@@ -2,25 +2,28 @@
 
 stdenv.mkDerivation rec {
   pname = "mergerfs";
-  version = "2.28.3";
+  version = "2.32.0";
 
   src = fetchFromGitHub {
     owner = "trapexit";
     repo = pname;
     rev = version;
-    sha256 = "1w6p3svc2yknp6swqg8lax6n9b31lyplb3j7r8nv14hbq4hymylx";
+    sha256 = "1qmhwkl2ws0hwd7s1mzrdiw4h7jpilzcr0w8dgx465mdzb5d2jad";
   };
 
   nativeBuildInputs = [
     automake autoconf pkgconfig gettext libtool pandoc which
   ];
+  prePatch = ''
+    sed -i -e '/chown/d' -e '/chmod/d' libfuse/Makefile
+  '';
   buildInputs = [ attr libiconv ];
 
   preConfigure = ''
     echo "${version}" > VERSION
   '';
 
-  makeFlags = [ "PREFIX=${placeholder "out"}" "XATTR_AVAILABLE=1" ];
+  makeFlags = [ "DESTDIR=${placeholder "out"}" "XATTR_AVAILABLE=1" "PREFIX=/" "SBINDIR=/bin" ];
   enableParallelBuilding = true;
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
index df3dd661d75e..48c005e1caaf 100644
--- a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
@@ -10,24 +10,22 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.114";
+  version = "3.0.115";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bilrzzlg599xy21cm7r0xb2sanngr74j3z03xgybcm10kl97i7j";
+    sha256 = "0dap9dqwwx8adma6arxg015riqc86cmjv2m44hk0kz7s24h79ipq";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   buildInputs =
-    [ fuse libpcap zlib ];
+    [ fuse libpcap zlib python ];
 
   postInstall = ''
     substituteInPlace $out/sbin/mfscgiserv --replace "datapath=\"$out" "datapath=\""
-    wrapProgram $out/sbin/mfscgiserv \
-        --prefix PATH ":" "${python}/bin"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/filesystems/mtools/default.nix b/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
index 58bd9340c5b0..5f78b3c379d2 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtools-4.0.24";
+  pname = "mtools";
+  version = "4.0.26";
 
   src = fetchurl {
-    url = "mirror://gnu/mtools/${name}.tar.bz2";
-    sha256 = "1f9g7g8zspp8nvg1nz869il9pvxpdpchqd0vxfc89y8rjbda5x14";
+    url = "mirror://gnu/mtools/${pname}-${version}.tar.bz2";
+    sha256 = "06pabnjc4r2vv3dzfm6q97g6jbp2k5bhmcdwv2cf25ka8y5ir7sk";
   };
 
   patches = stdenv.lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
diff --git a/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
index f7732cd76fd7..6abad445517b 100644
--- a/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, autoreconfHook, pkgconfig, perl, python
 , db, libgcrypt, avahi, libiconv, pam, openssl, acl
-, ed, glibc, libevent
+, ed, libtirpc, libevent
 }:
 
 stdenv.mkDerivation rec {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     /^afpd_LDADD
     /am__append_2
     a
-      ${glibc.static}/lib/librpcsvc.a \\
+      ${libtirpc}/lib/libtirpc.so \\
     .
     w
     EOF
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 6ba29cb98d40..15d6686fbc33 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -1,7 +1,7 @@
 # FIXME: Unify with pkgs/development/python-modules/blivet/default.nix.
 
 { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock
-, libselinux, cryptsetup, multipath_tools, lsof, utillinux
+, libselinux, cryptsetup, multipath_tools, lsof, util-linux
 , useNixUdev ? true, systemd ? null
 # useNixUdev is here for bw compatibility
 }:
@@ -24,11 +24,11 @@ buildPythonApplication rec {
     sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
       blivet/devicelibs/mpath.py blivet/devices.py
     sed -i -e '/"wipefs"/ {
-      s|wipefs|${utillinux.bin}/sbin/wipefs|
+      s|wipefs|${util-linux.bin}/sbin/wipefs|
       s/-f/--force/
     }' 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
+    sed -i -r -e 's|"(u?mount)"|"${util-linux.bin}/bin/\1"|' blivet/util.py
     sed -i -e '/find_library/,/find_library/ {
       c libudev = "${stdenv.lib.getLib systemd}/lib/libudev.so.1"
     }' blivet/pyudev.py
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/default.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 1f672701d382..703d918f92a9 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -13,7 +13,7 @@ let
     inherit stdenv fetchurl buildPythonApplication;
     inherit pykickstart pyparted pyblock cryptsetup libselinux multipath_tools;
     inherit useNixUdev;
-    inherit (pkgs) lsof utillinux systemd;
+    inherit (pkgs) lsof util-linux systemd;
   };
 
   cryptsetup = import ./cryptsetup.nix {
@@ -27,7 +27,7 @@ let
 
   lvm2 = import ./lvm2.nix {
     inherit stdenv fetchurl;
-    inherit (pkgs) fetchpatch pkgconfig utillinux systemd coreutils;
+    inherit (pkgs) fetchpatch pkgconfig util-linux systemd coreutils;
   };
 
   multipath_tools = import ./multipath-tools.nix {
@@ -37,7 +37,7 @@ let
 
   parted = import ./parted.nix {
     inherit stdenv fetchurl;
-    inherit (pkgs) fetchpatch utillinux readline libuuid gettext check lvm2;
+    inherit (pkgs) fetchpatch util-linux readline libuuid gettext check lvm2;
   };
 
   pyblock = import ./pyblock.nix {
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
index fc0005a14d45..4369d659034e 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, systemd, utillinux, coreutils }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, systemd, util-linux, coreutils }:
 
 let
   v = "2.02.106";
@@ -60,7 +60,7 @@ stdenv.mkDerivation {
   postInstall =
     ''
       substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
-        --replace $out/sbin/blkid ${utillinux.bin}/sbin/blkid
+        --replace $out/sbin/blkid ${util-linux.bin}/sbin/blkid
 
       # Systemd stuff
       mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
diff --git a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/parted.nix
index 16f3a57ea147..d3fc9ce96f58 100644
--- a/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/parted.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nixpart/0.4/parted.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline
-, utillinux, check, enableStatic ? false }:
+, util-linux, check
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
 
 stdenv.mkDerivation rec {
   name = "parted-3.1";
@@ -31,7 +33,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableStatic "--enable-static";
 
   doCheck = true;
-  checkInputs = [ check utillinux ];
+  checkInputs = [ check util-linux ];
 
   meta = {
     description = "Create, destroy, resize, check, and copy partitions";
diff --git a/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
index abe171170d41..2065e31e97a0 100644
--- a/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, utillinux, libuuid
+{stdenv, fetchurl, util-linux, libuuid
 , crypto ? false, libgcrypt, gnutls, pkgconfig}:
 
 stdenv.mkDerivation rec {
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
     substituteInPlace src/Makefile.in --replace /sbin '@sbindir@'
     substituteInPlace ntfsprogs/Makefile.in --replace /sbin '@sbindir@'
     substituteInPlace libfuse-lite/mount_util.c \
-      --replace /bin/mount ${utillinux}/bin/mount \
-      --replace /bin/umount ${utillinux}/bin/umount
+      --replace /bin/mount ${util-linux}/bin/mount \
+      --replace /bin/umount ${util-linux}/bin/umount
   '';
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/filesystems/rar2fs/default.nix b/nixpkgs/pkgs/tools/filesystems/rar2fs/default.nix
index 816aa1498cc6..889f075645a3 100644
--- a/nixpkgs/pkgs/tools/filesystems/rar2fs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/rar2fs/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rar2fs";
-  version = "1.29.1";
+  version = "1.29.2";
 
   src = fetchFromGitHub {
     owner = "hasse69";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03m20bnlm70xamrxnswxs4fzc2lr2wr6f7jq6b3a8sdwq3pqbzzx";
+    sha256 = "0j7ai0gcbln2lyfc87xxmj0zpf3lnqa6fdm5rar3kdqhczb7s93y";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/romdirfs/default.nix b/nixpkgs/pkgs/tools/filesystems/romdirfs/default.nix
index 96389214c7e0..040889903480 100644
--- a/nixpkgs/pkgs/tools/filesystems/romdirfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/romdirfs/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mlafeldt/romdirfs";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ genesis ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch b/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch
new file mode 100644
index 000000000000..fbc4c80872cf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch
@@ -0,0 +1,640 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..5e16611
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,634 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "addr2line"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072"
++dependencies = [
++ "gimli",
++]
++
++[[package]]
++name = "adler"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "arc-swap"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034"
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
++
++[[package]]
++name = "backtrace"
++version = "0.3.51"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec1931848a574faa8f7c71a12ea00453ff5effbb5f51afe7f77d7a48cace6ac1"
++dependencies = [
++ "addr2line",
++ "cfg-if",
++ "libc",
++ "miniz_oxide",
++ "object",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "cc"
++version = "1.0.60"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "cpuprofiler"
++version = "0.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "43f8479dbcfd2bbaa0c0c26779b913052b375981cdf533091f2127ea3d42e52b"
++dependencies = [
++ "error-chain",
++ "lazy_static",
++ "pkg-config",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.5.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
++dependencies = [
++ "atty",
++ "humantime",
++ "log 0.4.11",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "error-chain"
++version = "0.12.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
++dependencies = [
++ "backtrace",
++ "version_check",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
++dependencies = [
++ "backtrace",
++ "failure_derive",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
++]
++
++[[package]]
++name = "fuse"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80e57070510966bfef93662a81cb8aa2b1c7db0964354fa9921434f04b9e8660"
++dependencies = [
++ "libc",
++ "log 0.3.9",
++ "pkg-config",
++ "thread-scoped",
++ "time",
++]
++
++[[package]]
++name = "getopts"
++version = "0.2.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi 0.9.0+wasi-snapshot-preview1",
++]
++
++[[package]]
++name = "gimli"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c30f6d0bc6b00693347368a67d41b58f2fb851215ff1da49e90fe2c5c667151"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "libc"
++version = "0.2.78"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa7087f49d294270db4e1928fc110c976cd4b9e5a16348e0a1df09afa99e6c98"
++
++[[package]]
++name = "log"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
++dependencies = [
++ "log 0.4.11",
++]
++
++[[package]]
++name = "log"
++version = "0.4.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "memchr"
++version = "2.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
++dependencies = [
++ "adler",
++ "autocfg",
++]
++
++[[package]]
++name = "nix"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "319fffb13b63c0f4ff5a4e1c97566e7e741561ff5d03bf8bbf11653454bbd70b"
++dependencies = [
++ "bitflags",
++ "cc",
++ "cfg-if",
++ "libc",
++ "void",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "object"
++version = "0.20.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++
++[[package]]
++name = "quote"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[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.57"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
++
++[[package]]
++name = "regex"
++version = "1.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++
++[[package]]
++name = "ryu"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
++
++[[package]]
++name = "sandboxfs"
++version = "0.2.0"
++dependencies = [
++ "cpuprofiler",
++ "env_logger",
++ "failure",
++ "fuse",
++ "getopts",
++ "log 0.4.11",
++ "nix",
++ "num_cpus",
++ "pkg-config",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "signal-hook",
++ "tempfile",
++ "threadpool",
++ "time",
++ "users",
++ "xattr",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.116"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5"
++
++[[package]]
++name = "serde_derive"
++version = "1.0.116"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.58"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a230ea9107ca2220eea9d46de97eddcb04cd00e92d13dda78e478dd33fa82bd4"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "signal-hook"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "604508c1418b99dfe1925ca9224829bb2a8a9a04dda655cc01fcad46f4ab05ed"
++dependencies = [
++ "libc",
++ "signal-hook-registry",
++]
++
++[[package]]
++name = "signal-hook-registry"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035"
++dependencies = [
++ "arc-swap",
++ "libc",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c51d92969d209b54a98397e1b91c8ae82d8c87a7bb87df0b29aa2ad81454228"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
++]
++
++[[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.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "thread-scoped"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99"
++
++[[package]]
++name = "thread_local"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
++dependencies = [
++ "lazy_static",
++]
++
++[[package]]
++name = "threadpool"
++version = "1.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
++dependencies = [
++ "num_cpus",
++]
++
++[[package]]
++name = "time"
++version = "0.1.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
++dependencies = [
++ "libc",
++ "wasi 0.10.0+wasi-snapshot-preview1",
++ "winapi",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
++
++[[package]]
++name = "users"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "version_check"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
++
++[[package]]
++name = "void"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++
++[[package]]
++name = "wasi"
++version = "0.10.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "xattr"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
++dependencies = [
++ "libc",
++]
diff --git a/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix b/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix
new file mode 100644
index 000000000000..85677a53f43d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, fuse
+, pkg-config
+, installShellFiles
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sandboxfs";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "bazelbuild";
+    repo = pname;
+    rev = "sandboxfs-${version}";
+    sha256 = "Ia6rq6FN4abnvLXjlQh4Q+8ra5JThKnC86UXC7s9//U=";
+  };
+
+  cargoSha256 = "sha256-k303TjWG+n+/ZMmko84KJtYb7swuQ1ZJOc4Vq6aOhX0=";
+
+  # Issue to add Cargo.lock upstream: https://github.com/bazelbuild/sandboxfs/pull/115
+  cargoPatches = [ ./Cargo.lock.patch ];
+
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+
+  buildInputs = [ fuse ];
+
+  postInstall = "installManPage man/sandboxfs.1";
+
+  meta = with stdenv.lib; {
+    description = "A virtual file system for sandboxing";
+    homepage = "https://github.com/bazelbuild/sandboxfs";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ jeremyschlatter ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/sftpman/default.nix b/nixpkgs/pkgs/tools/filesystems/sftpman/default.nix
new file mode 100644
index 000000000000..e89012b76f63
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/sftpman/default.nix
@@ -0,0 +1,25 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "sftpman";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "spantaleev";
+    repo = pname;
+    rev = version;
+    sha256 = "04awwwfw51fi1q18xdysp54jyhr0rhb4kfyrgv0vhhrlpwwyhnqy";
+  };
+
+  checkPhase = ''
+    $out/bin/sftpman help
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/spantaleev/sftpman";
+    description = "Application that handles sshfs/sftp file systems mounting";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ contrun ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/squashfuse/default.nix
index 27335a9cf5da..9f9c4a605c6a 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/squashfuse/default.nix
@@ -8,14 +8,6 @@ stdenv.mkDerivation rec {
   pname = "squashfuse";
   version = "0.1.103";
 
-  meta = {
-    description = "FUSE filesystem to mount squashfs archives";
-    homepage = "https://github.com/vasi/squashfuse";
-    maintainers = [ maintainers.genesis ];
-    platforms = platforms.linux;
-    license = "BSD-2-Clause";
-  };
-
   # platforms.darwin should be supported : see PLATFORMS file in src.
   # we could use a nix fuseProvider, and let the derivation choose the OS
   # specific implementation.
@@ -29,4 +21,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook libtool pkgconfig ];
   buildInputs = [ lz4 xz zlib lzo zstd fuse ];
+
+  meta = {
+    description = "FUSE filesystem to mount squashfs archives";
+    homepage = "https://github.com/vasi/squashfuse";
+    maintainers = [  ];
+    platforms = platforms.linux;
+    license = "BSD-2-Clause";
+  };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix b/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 018dfe7858e3..3922851af331 100644
--- a/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub
-, meson, pkgconfig, ninja, docutils, makeWrapper
+, meson, pkg-config, ninja, docutils, makeWrapper
 , fuse3, glib
 , which, python3Packages
 , openssh
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.0";
+  version = "3.7.1";
   pname = "sshfs-fuse";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "sshfs";
     rev = "sshfs-${version}";
-    sha256 = "119qvjaai3nqs2psqk2kv4gxjchrnrcfnmlwk7yxnj3v59pgyxhv";
+    sha256 = "088mgcsqv9f2vly4xn6lvvkmqkgr9jjmjs9qp8938hl7j6rrgd17";
   };
 
-  nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ];
+  nativeBuildInputs = [ meson pkg-config ninja docutils makeWrapper ];
   buildInputs = [ fuse3 glib ];
   checkInputs = [ which python3Packages.pytest ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix
index b5254a92024a..2b0e6048741b 100644
--- a/nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,22 +1,14 @@
-{ stdenv, buildPackages, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, pkgconfig
-, icu, libuuid, readline
+{ stdenv, buildPackages, fetchpatch, fetchurl, autoconf, automake, gettext, libtool, pkgconfig
+, icu, libuuid, readline, inih
 }:
 
-let
-  gentooPatch = name: sha256: fetchpatch {
-    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=2517dd766cf84d251631f4324f7ec4bce912abb9";
-    inherit sha256;
-  };
-in
-
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "4.19.0";
+  version = "5.10.0";
 
-  src = fetchgit {
-    url = "https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
-    rev = "v${version}";
-    sha256 = "18728hzfxr1bg4bdzqlxjs893ac1zwlfr7nmc2q4a1sxs0sphd1d";
+  src = fetchurl {
+    url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
+    sha256 = "1schqzjx836jd54l10pqds7hyli2m77df3snk95xbr23dpj1fh70";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
@@ -26,26 +18,24 @@ stdenv.mkDerivation rec {
     autoconf automake libtool gettext pkgconfig
     libuuid # codegen tool uses libuuid
   ];
-  buildInputs = [ readline icu ];
+  buildInputs = [ readline icu inih ];
   propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h>
 
   enableParallelBuilding = true;
 
-  # Why is all this garbage needed? Why? Why?
-  patches = [
-    (gentooPatch "xfsprogs-4.15.0-sharedlibs.patch" "0bv2naxpiw7vcsg8p1v2i47wgfda91z1xy1kfwydbp4wmb4nbyyv")
-    (gentooPatch "xfsprogs-4.15.0-docdir.patch" "1srgdidvq2ka0rmfdwpqp92fapgh53w1h7rajm4nnby5vp2v8dfr")
-    (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
-  ];
-
+  # @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles
   preConfigure = ''
-    sed -i Makefile -e '/cp include.install-sh/d'
+    for file in scrub/{xfs_scrub_all.cron.in,xfs_scrub@.service.in,xfs_scrub_all.service.in}; do
+      substituteInPlace "$file" \
+        --replace '@sbindir@' '/run/current-system/sw/bin'
+    done
     make configure
+    patchShebangs ./install-sh
   '';
 
   configureFlags = [
     "--disable-lib64"
-    "--enable-readline"
+    "--with-systemd-unit-dir=${placeholder "out"}/lib/systemd/system"
   ];
 
   installFlags = [ "install-dev" ];
@@ -56,10 +46,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = "http://xfs.org/";
+    homepage = "https://xfs.org/";
     description = "SGI XFS utilities";
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dezgeg ];
+    maintainers = with maintainers; [ dezgeg ajs124 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix b/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
index 334aa6ad9c60..152fd1d7a71e 100644
--- a/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -32,12 +32,13 @@ stdenv.mkDerivation rec {
     cd unpacked
     ${rpmextract}/bin/rpmextract $src
 
+    mkdir -p $out/share/bash-completion/completions
     cp -r -t $out/bin usr/bin/*
     cp -r -t $out/share usr/share/*
-    cp -r -t $out/etc etc/*
+    cp -r -t $out/share/bash-completion/completions etc/bash_completion.d/*
 
     sed -i 's@have@${which}/bin/which >/dev/null 2>\&1@' \
-      $out/etc/bash_completion.d/yandex-disk-completion.bash
+      $out/share/bash-completion/completions/yandex-disk-completion.bash
 
     ${patchelf}/bin/patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/nixpkgs/pkgs/tools/filesystems/zkfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/zkfuse/default.nix
index 89516d525af6..456444f3bf59 100644
--- a/nixpkgs/pkgs/tools/filesystems/zkfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/zkfuse/default.nix
@@ -1,14 +1,30 @@
-{ stdenv, lib, zookeeper, zookeeper_mt, fuse, autoreconfHook, log4cxx, boost }:
+{ stdenv
+, lib
+, autoreconfHook
+, gnused
+, boost
+, fuse
+, log4cxx
+, zookeeper
+, zookeeper_mt
+}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "zkfuse";
-  inherit (zookeeper) version src;
+  inherit (zookeeper_mt) version src;
 
-  sourceRoot = "${zookeeper.name}/src/contrib/zkfuse";
+  sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-contrib/zookeeper-contrib-zkfuse";
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook gnused ];
   buildInputs = [ zookeeper_mt log4cxx boost fuse ];
 
+  postPatch = ''
+    # Make the async API accessible, and use the proper include path.
+    sed -i src/zkadapter.h \
+        -e '/"zookeeper\.h"/i#define THREADED' \
+        -e 's,"zookeeper\.h",<zookeeper/zookeeper.h>,'
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     cp -v src/zkfuse $out/bin
@@ -16,7 +32,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan ztzg ];
     license = licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix b/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
index 67afac2cdccd..6b8c6870a668 100644
--- a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, fetchFromGitHub, fetchurl
+{ stdenv, fetchFromGitHub, fetchurl, fetchpatch
 , autoreconfHook, bison, glm, yacc, flex
 , freeglut, ghostscriptX, imagemagick, fftw
 , boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
 , python3Packages
-, zlib, perl
+, zlib, perl, curl
 , texLive, texinfo
 , darwin
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.66";
+  version = "2.67";
   pname = "asymptote";
 
   src = fetchFromGitHub {
     owner = "vectorgraphics";
     repo = pname;
     rev = version;
-    sha256 = "0c445j950n6nxgr1zxj7a26daa5d9f3i91506b7r7627s943b1kd";
+    sha256 = "sha256:1lawj2gf0985clzbyym26s5mxxp2syl1dqqxfzk0sq9s30l2rj3l";
   };
 
+  patches =
+    (stdenv.lib.optional (stdenv.lib.versionOlder version "2.68")
+      (fetchpatch {
+        url = "https://github.com/vectorgraphics/asymptote/commit/3361214340d58235f4dbb8f24017d0cd5d94da72.patch";
+        sha256 = "sha256:1z2b41x8v7683myd45lq6niixpdjy0b185x0xl61130vrijhq5nm";
+      }))
+  ;
+
   nativeBuildInputs = [
     autoreconfHook
     bison
@@ -30,7 +38,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ghostscriptX imagemagick fftw
     boehmgc ncurses readline gsl libsigsegv
-    zlib perl
+    zlib perl curl
     texLive
   ] ++ (with python3Packages; [
     python
diff --git a/nixpkgs/pkgs/tools/graphics/asymptote/default.upstream b/nixpkgs/pkgs/tools/graphics/asymptote/default.upstream
deleted file mode 100644
index e86d81ba4435..000000000000
--- a/nixpkgs/pkgs/tools/graphics/asymptote/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url https://sourceforge.net/projects/asymptote/files/
-SF_version_dir
-version_link 'src[.]tgz/download$'
-SF_redirect
diff --git a/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix b/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
index a12e5dbb8bb3..24e43044697d 100644
--- a/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
@@ -2,7 +2,7 @@
   If user need access to more haskell package for building his
   diagrams, he simply has to pass these package through the
   extra packages function as follow in `config.nix`:
-  
+
   ~~~
   diagrams-builder.override {
     extraPackages = self : [myHaskellPackage];
@@ -15,7 +15,7 @@
 let
 
   # Used same technique as for the yiCustom package.
-  wrappedGhc = ghcWithPackages 
+  wrappedGhc = ghcWithPackages
     (self: [ diagrams-builder ] ++ extraPackages self);
   ghcVersion = wrappedGhc.version;
 
@@ -25,7 +25,7 @@ let
       --set NIX_GHC ${wrappedGhc}/bin/ghc \
       --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
   '';
-  
+
   backends = ["svg" "cairo" "ps"];
 
 in
@@ -35,10 +35,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ makeWrapper ];
 
-  buildCommand = with stdenv.lib; 
+  buildCommand = with stdenv.lib;
     concatStrings (intersperse "\n" (map exeWrapper backends));
 
   # Will be faster to build the wrapper locally then to fetch it from a binary cache.
   preferLocalBuild = true;
   meta = diagrams-builder.meta;
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
new file mode 100644
index 000000000000..4e74d2c443f1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, cmake, python3, git }:
+
+stdenv.mkDerivation rec {
+  pname = "directx-shader-compiler";
+  version = "1.5.2010";
+
+  # Put headers in dev, there are lot of them which aren't necessary for
+  # using the compiler binary.
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "DirectXShaderCompiler";
+    rev = "v${version}";
+    sha256 = "0ccfy1bfp0cm0pq63ri4yl1sr3fdn1a526bsnakg4bl6z4fwrnnj";
+    # We rely on the side effect of leaving the .git directory here for the
+    # version-grabbing functionality of the build system.
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake git python3 ];
+
+  configurePhase = ''
+    # Requires some additional flags to cmake from a file in the repo
+    additionalCMakeFlags=$(< utils/cmake-predefined-config-params)
+    cmakeFlags="$additionalCMakeFlags''${cmakeFlags:+ $cmakeFlags}"
+    cmakeConfigurePhase
+  '';
+
+  # The default install target installs heaps of LLVM stuff.
+  #
+  # Upstream issue: https://github.com/microsoft/DirectXShaderCompiler/issues/3276
+  #
+  # The following is based on the CI script:
+  # https://github.com/microsoft/DirectXShaderCompiler/blob/master/appveyor.yml#L63-L66
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $dev/include
+    mv bin/dxc* $out/bin/
+    mv lib/libdxcompiler.so* lib/libdxcompiler.*dylib $out/lib/
+    cp -r $src/include/dxc $dev/include/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A compiler to compile HLSL programs into DXIL and SPIR-V";
+    homepage = "https://github.com/microsoft/DirectXShaderCompiler";
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.ncsa;
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix b/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
index bb816e489404..776ce333da64 100644
--- a/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
     description = "Data matrix command-line utilities";
     license = stdenv.lib.licenses.lgpl2 ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/dpic/default.nix b/nixpkgs/pkgs/tools/graphics/dpic/default.nix
index 7b7eea3d5095..ea65f3dbb55c 100644
--- a/nixpkgs/pkgs/tools/graphics/dpic/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/dpic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dpic";
-  version = "2020.06.01";
+  version = "2020.09.15";
 
   src = fetchurl {
     url = "https://ece.uwaterloo.ca/~aplevich/dpic/${pname}-${version}.tar.gz";
-    sha256 = "1gbkpbjwjaaifxff8amm9b47dynq4l4698snjdgnn4flndw62q88";
+    sha256 = "0gmmp4dlir3bn892nm55a3q8cfsj8yg7fp1dixmhsdhsrgmg1b83";
   };
 
   # The prefix passed to configure is not used.
diff --git a/nixpkgs/pkgs/tools/graphics/exifprobe/default.nix b/nixpkgs/pkgs/tools/graphics/exifprobe/default.nix
new file mode 100644
index 000000000000..93a9be58b72a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/exifprobe/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "exifprobe";
+  version = "unstable-2018-06-19";
+
+  src = fetchFromGitHub {
+    owner = "hfiguiere";
+    repo = "exifprobe";
+    rev = "ce1ea2bc3dbbe8092b26f41cd89831cafe633d69";
+    sha256 = "1c1fhc0v1m452lgnfcijnvrc0by06qfbhn3zkliqi60kv8l2isbp";
+  };
+
+  CFLAGS = [ "-O2" ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  postInstall = ''
+    mv $out/usr/bin $out/bin
+    mv $out/usr/share $out/share
+    rm -r $out/usr
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for reading EXIF data from image files produced by digital cameras";
+    homepage = "https://github.com/hfiguiere/exifprobe";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/gifski/default.nix b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
index 4758dece42f4..aa247a4c9177 100644
--- a/nixpkgs/pkgs/tools/graphics/gifski/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "1.2.0";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "0yziqgvjjb5bblmm060li7dv1i23gpn0f75jb72z8cdf2wg1qmxb";
+    sha256 = "0mr4ni75klmzfjivfv5xmcdw03y1gjvkz1d297gwh46zq1q7blf3";
   };
 
-  cargoSha256 = "1y4q6p6hbmpwdpahmspgngm842qrq1srl7319wslq9ydl09m1x3x";
+  cargoSha256 = "0wm139lik6w2hwg72j8hcphp0z89bbabfxjmfyqrih6akyzb0l01";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/gmic/default.nix b/nixpkgs/pkgs/tools/graphics/gmic/default.nix
index ccc4a23cb558..e8e9472cabdf 100644
--- a/nixpkgs/pkgs/tools/graphics/gmic/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gmic/default.nix
@@ -3,7 +3,7 @@
 , cmake
 , ninja
 , pkg-config
-, opencv3
+, opencv
 , openexr
 , graphicsmagick
 , fftw
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gmic";
-  version = "2.9.2";
+  version = "2.9.4";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "14acph914a8lp6qqfmp319ggqjg3i3hmalmnpk3mp07m7vpv2p9q";
+    sha256 = "1ixcdq16gmgh1brrb6mgdibypq9lvh8gnz86b5mmyxlnyi4fw2vr";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv3
+    opencv
     openexr
     graphicsmagick
   ];
diff --git a/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix b/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
index ce2a87981e72..26dec6d42c8c 100644
--- a/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gnuplot/default.nix
@@ -20,11 +20,11 @@ let
 in
 (if withQt then mkDerivation else stdenv.mkDerivation) rec {
   pname = "gnuplot";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${pname}-${version}.tar.gz";
-    sha256 = "0iwwliq5a6qcawbpxk4d7l17fpkq9xxcz05kwblx37rr7bq84h7b";
+    sha256 = "03jrqs5lvxmbbz2c4g17dn2hrxqwd3hfadk9q8wbkbkyas2h8sbb";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig texinfo ] ++ lib.optional withQt qttools;
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
index a65f5ce455c3..cdec84270052 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
@@ -79,6 +79,8 @@ stdenv.mkDerivation {
       --replace /usr/bin/vimdot $out/bin/vimdot \
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = "https://graphviz.org";
     description = "Graph visualization tools";
diff --git a/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix b/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
index c7f0beba8fb8..b8c344258bb9 100644
--- a/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gromit-mpx";
-  version = "1.3.1";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "bk138";
     repo = "gromit-mpx";
     rev = version;
-    sha256 = "1dvn7vwg4fg1a3lfj5f7nij1vcxm27gyf2wr817f3qb4sx5xmjwy";
+    sha256 = "1xn14r7lhay720y78j1fs4amp5lia39kpq7vzv02x4nnwhgbsd9r";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/tools/graphics/imgur-screenshot/default.nix b/nixpkgs/pkgs/tools/graphics/imgur-screenshot/default.nix
index c994ee02811e..1a211ebd857f 100644
--- a/nixpkgs/pkgs/tools/graphics/imgur-screenshot/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/imgur-screenshot/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitHub, makeWrapper, curl, gnugrep, libnotify, scrot, which, xclip }:
+{ stdenv, fetchFromGitHub, makeWrapper, curl, jq, gnugrep, libnotify, scrot, which, xclip }:
 
-let deps = stdenv.lib.makeBinPath [ curl gnugrep libnotify scrot which xclip ];
+let deps = stdenv.lib.makeBinPath [ curl jq gnugrep libnotify scrot which xclip ];
 in stdenv.mkDerivation rec {
-  version = "1.7.4";
+  version = "2.0.0";
   pname = "imgur-screenshot";
 
   src = fetchFromGitHub {
     owner = "jomo";
     repo = "imgur-screenshot";
     rev = "v${version}";
-    sha256 = "1bhi9sk8v7szh2fj13qwvdwzy5dw2w4kml86sy1ns1rn0xin0cgr";
+    sha256 = "0fkhvfraijbrw806pgij41bn1hc3r7l7l3snkicmshxj83lmsd5k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-    install -Dm755 imgur-screenshot.sh $out/bin/imgur-screenshot
+    install -Dm755 imgur-screenshot $out/bin/imgur-screenshot
     wrapProgram $out/bin/imgur-screenshot --prefix PATH ':' ${deps}
   '';
 
diff --git a/nixpkgs/pkgs/tools/graphics/jhead/default.nix b/nixpkgs/pkgs/tools/graphics/jhead/default.nix
index 19a0e26d9ccf..1d3696a8cd24 100644
--- a/nixpkgs/pkgs/tools/graphics/jhead/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/jhead/default.nix
@@ -43,5 +43,10 @@ stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     maintainers = with maintainers; [ rycee ];
     platforms = platforms.all;
+    # https://github.com/NixOS/nixpkgs/issues/90828
+    knownVulnerabilities = [
+      "CVE-2020-6624"
+      "CVE-2020-6625"
+    ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/kst/default.nix b/nixpkgs/pkgs/tools/graphics/kst/default.nix
deleted file mode 100644
index 9c0c8bae49b7..000000000000
--- a/nixpkgs/pkgs/tools/graphics/kst/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig
-, qtbase, gsl, getdata, netcdf, muparser, matio
-}:
-stdenv.mkDerivation rec {
-  name = "Kst-2.0.8";
-  src = fetchurl {
-    url = "mirror://sourceforge/kst/${name}.tar.gz";
-    sha256 = "1ihqmwqw0h2p7hn5shd8iwb0gd4axybs60lgw22ijxqh6wzgvyyf";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase gsl getdata netcdf muparser matio ];
-
-  cmakeFlags = [ "-Dkst_qt5=1" "-Dkst_release=1" ];
-
-  postInstall = ''
-    mkdir -p $out
-    for d in bin lib share
-    do
-      cp -r INSTALLED/$d $out/
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Real-time large-dataset viewing and plotting tool";
-    homepage = "https://kst-plot.kde.org/";
-    license = licenses.gpl2;
-    platforms = platforms.all;
-    maintainers = [ maintainers.vbgl ];
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/default.nix b/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/default.nix
new file mode 100644
index 000000000000..37aa2983b49f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/default.nix
@@ -0,0 +1,37 @@
+# generated with cabal2nix by ./generate.sh
+{ mkDerivation, aeson, base, cmdargs, containers, data-ordlist
+, directory, fetchgit, filepath, Glob, hpack, parallel-io, process
+, safe, stdenv, text, time, yaml
+}:
+mkDerivation {
+  pname = "ldgallery-compiler";
+  version = "2.0";
+  src = fetchgit {
+    url = "https://github.com/pacien/ldgallery.git";
+    sha256 = "1a82wy6ns1434gdba2l04crvr5waf03y02bappcxqci2cfb1cznz";
+    rev = "e93f7b1eb84c083d67567115284c0002a3a7d5fc";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/compiler; echo source root reset to $sourceRoot";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [
+    aeson base cmdargs containers data-ordlist directory filepath Glob
+    parallel-io process safe text time yaml
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson base cmdargs containers data-ordlist directory filepath Glob
+    parallel-io process safe text time yaml
+  ];
+  testHaskellDepends = [
+    aeson base cmdargs containers data-ordlist directory filepath Glob
+    parallel-io process safe text time yaml
+  ];
+  prePatch = "hpack";
+  homepage = "https://ldgallery.pacien.org";
+  description = "A static generator which turns a collection of tagged pictures into a searchable web gallery";
+  license = stdenv.lib.licenses.agpl3;
+  maintainers = with stdenv.lib.maintainers; [ pacien ];
+}
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/generate.sh b/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/generate.sh
new file mode 100755
index 000000000000..355206cb0ff9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/compiler/generate.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p cabal2nix
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+  echo "Regenerates the nix file for the ldgallery-compiler package."
+  echo "Usage: $0 <git release tag>"
+  exit 1
+fi
+
+echo "# generated with cabal2nix by ./generate.sh" > default.nix
+
+cabal2nix \
+  --maintainer pacien \
+  --subpath compiler \
+  --revision $1 \
+  "https://github.com/pacien/ldgallery.git" \
+  >> default.nix
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/default.nix b/nixpkgs/pkgs/tools/graphics/ldgallery/default.nix
new file mode 100644
index 000000000000..77acafcb8125
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/default.nix
@@ -0,0 +1,53 @@
+{ lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick7 }:
+
+with lib;
+with haskell.lib;
+
+let
+  ldgallery-viewer = pkgs.callPackage ./viewer { };
+  inherit (haskellPackages) ldgallery-compiler;
+
+in
+
+# making sure that the versions of the compiler and viewer parts are in sync
+assert ldgallery-compiler.version == versions.majorMinor ldgallery-viewer.version;
+
+justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: {
+  pname = "ldgallery"; # bundled viewer + compiler
+
+  buildTools = (oldAttrs.buildTools or []) ++ [ makeWrapper pandoc ];
+
+  prePatch = ''
+    # add viewer dist to data
+    ln -s "${ldgallery-viewer}/share/ldgallery/viewer" "data/"
+
+    ${oldAttrs.prePatch or ""}
+  '';
+
+  postInstall = ''
+    ${oldAttrs.postInstall or ""}
+
+    # wrapper for runtime dependencies registration
+    wrapProgram "$out/bin/ldgallery" \
+      --prefix PATH : ${lib.makeBinPath [ imagemagick7 ]}
+
+    # bash completion
+    mkdir -p "$out/share/bash-completion/completions"
+    "$out/bin/ldgallery" \
+      --help=bash \
+      > "$out/share/bash-completion/completions/ldgallery"
+
+    # man pages
+    mkdir -p $out/share/man/man{1,7}
+    ln -s ${ldgallery-viewer}/share/man/man7/* "$out/share/man/man7/"
+    pandoc --standalone --to man \
+      "../ldgallery-quickstart.7.md" \
+      --output "$out/share/man/man7/ldgallery-quickstart.7"
+    pandoc --standalone --to man \
+      "ldgallery.1.md" \
+      --output "$out/share/man/man1/ldgallery.1"
+  '';
+
+  # other package metadata (maintainer, description, license, ...)
+  # are inherited from the compiler package
+}))
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/default.nix b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/default.nix
new file mode 100644
index 000000000000..9559120069f7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv, fetchFromGitHub, pkgs, nodejs-12_x, pandoc }:
+
+with lib;
+
+let
+  # Note for maintainers:
+  # * keep version in sync with the ldgallery compiler
+  # * regenerate node-*.nix with `./generate.sh <git release tag>`
+  sourcePkg = fetchFromGitHub {
+    owner = "pacien";
+    repo = "ldgallery";
+    rev = "v2.0";
+    sha256 = "1a82wy6ns1434gdba2l04crvr5waf03y02bappcxqci2cfb1cznz";
+  };
+
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs;
+    inherit (stdenv.hostPlatform) system;
+
+    # some native node dependencies still require NodeJS 12 with Python 2
+    nodejs = nodejs-12_x;
+  };
+
+  nodePkg = nodePackages.package.override {
+    src = "${sourcePkg}/viewer";
+    postInstall = "npm run build";
+  };
+
+in
+
+# making sure that the source and the node package are in sync
+assert versions.majorMinor nodePkg.version == removePrefix "v" sourcePkg.rev;
+
+stdenv.mkDerivation {
+  pname = nodePkg.packageName;
+  version = nodePkg.version;
+  src = nodePkg;
+
+  buildInputs = [ pandoc ];
+
+  installPhase = ''
+    mkdir -p "$out/share/ldgallery"
+    cp -rp "lib/node_modules/ldgallery-viewer/dist" \
+      "$out/share/ldgallery/viewer/"
+    cp -rp "lib/node_modules/ldgallery-viewer/examples" \
+      "$out/share/ldgallery/viewer/"
+
+    mkdir -p "$out/share/man/man7"
+    pandoc --standalone --to man \
+      "lib/node_modules/ldgallery-viewer/ldgallery-viewer.7.md" \
+      --output "$out/share/man/man7/ldgallery-viewer.7"
+  '';
+}
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/generate.sh b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/generate.sh
new file mode 100755
index 000000000000..0874051b6765
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/generate.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../../.. -i bash -p nodePackages.node2nix
+
+# TODO: merge with other node packages in nixpkgs/pkgs/development/node-packages once
+# * support for npm projects in sub-directories is added to node2nix:
+#   https://github.com/svanderburg/node2nix/issues/177
+# * we find a way to enable development dependencies for some of the packages
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+  echo "Regenerates the node composition and package nix files for the ldgallery-viewer package."
+  echo "Usage: $0 <git release tag>"
+  exit 1
+fi
+
+wget https://github.com/pacien/ldgallery/raw/$1/viewer/package.json
+wget https://github.com/pacien/ldgallery/raw/$1/viewer/package-lock.json
+
+# Development dependencies are required for this Vue application to build
+node2nix \
+  --node-env ../../../../development/node-packages/node-env.nix \
+  --development \
+  --input ./package.json \
+  --lock ./package-lock.json \
+  --output node-packages.nix \
+  --composition node-composition.nix
+
+rm package.json package-lock.json
+
+# Temporary quickfix to accomodate for the util-linux package rename.
+# See https://github.com/svanderburg/node2nix/issues/213
+git restore :/pkgs/development/node-packages/node-env.nix
+sed -i 's/utillinux/util-linux/g' node-composition.nix
diff --git a/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
new file mode 100644
index 000000000000..f6c53f6c58da
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.8.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+  nodeEnv = import ../../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 util-linux 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/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
new file mode 100644
index 000000000000..14691f640654
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
@@ -0,0 +1,13269 @@
+# This file has been generated by node2nix 1.8.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.10.3" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz";
+        sha512 = "fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==";
+      };
+    };
+    "@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/compat-data-7.10.3" = {
+      name = "_at_babel_slash_compat-data";
+      packageName = "@babel/compat-data";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz";
+        sha512 = "BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==";
+      };
+    };
+    "@babel/core-7.10.3" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.10.3.tgz";
+        sha512 = "5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w==";
+      };
+    };
+    "@babel/generator-7.10.3" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz";
+        sha512 = "drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==";
+      };
+    };
+    "@babel/helper-annotate-as-pure-7.10.1" = {
+      name = "_at_babel_slash_helper-annotate-as-pure";
+      packageName = "@babel/helper-annotate-as-pure";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz";
+        sha512 = "ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==";
+      };
+    };
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.10.3" = {
+      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
+      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz";
+        sha512 = "lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==";
+      };
+    };
+    "@babel/helper-compilation-targets-7.10.2" = {
+      name = "_at_babel_slash_helper-compilation-targets";
+      packageName = "@babel/helper-compilation-targets";
+      version = "7.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz";
+        sha512 = "hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==";
+      };
+    };
+    "@babel/helper-create-class-features-plugin-7.10.3" = {
+      name = "_at_babel_slash_helper-create-class-features-plugin";
+      packageName = "@babel/helper-create-class-features-plugin";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz";
+        sha512 = "iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ==";
+      };
+    };
+    "@babel/helper-create-regexp-features-plugin-7.10.1" = {
+      name = "_at_babel_slash_helper-create-regexp-features-plugin";
+      packageName = "@babel/helper-create-regexp-features-plugin";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz";
+        sha512 = "Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==";
+      };
+    };
+    "@babel/helper-define-map-7.10.3" = {
+      name = "_at_babel_slash_helper-define-map";
+      packageName = "@babel/helper-define-map";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz";
+        sha512 = "bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==";
+      };
+    };
+    "@babel/helper-explode-assignable-expression-7.10.3" = {
+      name = "_at_babel_slash_helper-explode-assignable-expression";
+      packageName = "@babel/helper-explode-assignable-expression";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz";
+        sha512 = "0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==";
+      };
+    };
+    "@babel/helper-function-name-7.10.3" = {
+      name = "_at_babel_slash_helper-function-name";
+      packageName = "@babel/helper-function-name";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz";
+        sha512 = "FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==";
+      };
+    };
+    "@babel/helper-get-function-arity-7.10.3" = {
+      name = "_at_babel_slash_helper-get-function-arity";
+      packageName = "@babel/helper-get-function-arity";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz";
+        sha512 = "iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==";
+      };
+    };
+    "@babel/helper-hoist-variables-7.10.3" = {
+      name = "_at_babel_slash_helper-hoist-variables";
+      packageName = "@babel/helper-hoist-variables";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz";
+        sha512 = "9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==";
+      };
+    };
+    "@babel/helper-member-expression-to-functions-7.10.3" = {
+      name = "_at_babel_slash_helper-member-expression-to-functions";
+      packageName = "@babel/helper-member-expression-to-functions";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz";
+        sha512 = "q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==";
+      };
+    };
+    "@babel/helper-module-imports-7.10.3" = {
+      name = "_at_babel_slash_helper-module-imports";
+      packageName = "@babel/helper-module-imports";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz";
+        sha512 = "Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==";
+      };
+    };
+    "@babel/helper-module-transforms-7.10.1" = {
+      name = "_at_babel_slash_helper-module-transforms";
+      packageName = "@babel/helper-module-transforms";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz";
+        sha512 = "RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==";
+      };
+    };
+    "@babel/helper-optimise-call-expression-7.10.3" = {
+      name = "_at_babel_slash_helper-optimise-call-expression";
+      packageName = "@babel/helper-optimise-call-expression";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz";
+        sha512 = "kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==";
+      };
+    };
+    "@babel/helper-plugin-utils-7.10.3" = {
+      name = "_at_babel_slash_helper-plugin-utils";
+      packageName = "@babel/helper-plugin-utils";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz";
+        sha512 = "j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==";
+      };
+    };
+    "@babel/helper-regex-7.10.1" = {
+      name = "_at_babel_slash_helper-regex";
+      packageName = "@babel/helper-regex";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz";
+        sha512 = "7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==";
+      };
+    };
+    "@babel/helper-remap-async-to-generator-7.10.3" = {
+      name = "_at_babel_slash_helper-remap-async-to-generator";
+      packageName = "@babel/helper-remap-async-to-generator";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz";
+        sha512 = "sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==";
+      };
+    };
+    "@babel/helper-replace-supers-7.10.1" = {
+      name = "_at_babel_slash_helper-replace-supers";
+      packageName = "@babel/helper-replace-supers";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz";
+        sha512 = "SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==";
+      };
+    };
+    "@babel/helper-simple-access-7.10.1" = {
+      name = "_at_babel_slash_helper-simple-access";
+      packageName = "@babel/helper-simple-access";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz";
+        sha512 = "VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==";
+      };
+    };
+    "@babel/helper-split-export-declaration-7.10.1" = {
+      name = "_at_babel_slash_helper-split-export-declaration";
+      packageName = "@babel/helper-split-export-declaration";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz";
+        sha512 = "UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==";
+      };
+    };
+    "@babel/helper-validator-identifier-7.10.3" = {
+      name = "_at_babel_slash_helper-validator-identifier";
+      packageName = "@babel/helper-validator-identifier";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz";
+        sha512 = "bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==";
+      };
+    };
+    "@babel/helper-wrap-function-7.10.1" = {
+      name = "_at_babel_slash_helper-wrap-function";
+      packageName = "@babel/helper-wrap-function";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz";
+        sha512 = "C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==";
+      };
+    };
+    "@babel/helpers-7.10.1" = {
+      name = "_at_babel_slash_helpers";
+      packageName = "@babel/helpers";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz";
+        sha512 = "muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==";
+      };
+    };
+    "@babel/highlight-7.10.3" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz";
+        sha512 = "Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==";
+      };
+    };
+    "@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.10.3" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz";
+        sha512 = "oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==";
+      };
+    };
+    "@babel/plugin-proposal-async-generator-functions-7.10.3" = {
+      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
+      packageName = "@babel/plugin-proposal-async-generator-functions";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz";
+        sha512 = "WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==";
+      };
+    };
+    "@babel/plugin-proposal-class-properties-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-class-properties";
+      packageName = "@babel/plugin-proposal-class-properties";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz";
+        sha512 = "sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==";
+      };
+    };
+    "@babel/plugin-proposal-decorators-7.10.3" = {
+      name = "_at_babel_slash_plugin-proposal-decorators";
+      packageName = "@babel/plugin-proposal-decorators";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.3.tgz";
+        sha512 = "Rzwn5tcYFTdWWK3IrhMZkMDjzFQLIGYqHvv9XuzNnEB91Y6gHr/JjazYV1Yec9g0yMLhy1p/21eiW1P7f5UN4A==";
+      };
+    };
+    "@babel/plugin-proposal-dynamic-import-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-dynamic-import";
+      packageName = "@babel/plugin-proposal-dynamic-import";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz";
+        sha512 = "Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==";
+      };
+    };
+    "@babel/plugin-proposal-json-strings-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-json-strings";
+      packageName = "@babel/plugin-proposal-json-strings";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz";
+        sha512 = "m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==";
+      };
+    };
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
+      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz";
+        sha512 = "56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==";
+      };
+    };
+    "@babel/plugin-proposal-numeric-separator-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-numeric-separator";
+      packageName = "@babel/plugin-proposal-numeric-separator";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz";
+        sha512 = "jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==";
+      };
+    };
+    "@babel/plugin-proposal-object-rest-spread-7.10.3" = {
+      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
+      packageName = "@babel/plugin-proposal-object-rest-spread";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz";
+        sha512 = "ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==";
+      };
+    };
+    "@babel/plugin-proposal-optional-catch-binding-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
+      packageName = "@babel/plugin-proposal-optional-catch-binding";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz";
+        sha512 = "VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==";
+      };
+    };
+    "@babel/plugin-proposal-optional-chaining-7.10.3" = {
+      name = "_at_babel_slash_plugin-proposal-optional-chaining";
+      packageName = "@babel/plugin-proposal-optional-chaining";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz";
+        sha512 = "yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==";
+      };
+    };
+    "@babel/plugin-proposal-private-methods-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-private-methods";
+      packageName = "@babel/plugin-proposal-private-methods";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz";
+        sha512 = "RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==";
+      };
+    };
+    "@babel/plugin-proposal-unicode-property-regex-7.10.1" = {
+      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
+      packageName = "@babel/plugin-proposal-unicode-property-regex";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz";
+        sha512 = "JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==";
+      };
+    };
+    "@babel/plugin-syntax-async-generators-7.8.4" = {
+      name = "_at_babel_slash_plugin-syntax-async-generators";
+      packageName = "@babel/plugin-syntax-async-generators";
+      version = "7.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
+        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
+      };
+    };
+    "@babel/plugin-syntax-class-properties-7.10.1" = {
+      name = "_at_babel_slash_plugin-syntax-class-properties";
+      packageName = "@babel/plugin-syntax-class-properties";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz";
+        sha512 = "Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==";
+      };
+    };
+    "@babel/plugin-syntax-decorators-7.10.1" = {
+      name = "_at_babel_slash_plugin-syntax-decorators";
+      packageName = "@babel/plugin-syntax-decorators";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz";
+        sha512 = "a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g==";
+      };
+    };
+    "@babel/plugin-syntax-dynamic-import-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-dynamic-import";
+      packageName = "@babel/plugin-syntax-dynamic-import";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
+        sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
+      };
+    };
+    "@babel/plugin-syntax-json-strings-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-json-strings";
+      packageName = "@babel/plugin-syntax-json-strings";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
+        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
+      };
+    };
+    "@babel/plugin-syntax-jsx-7.10.1" = {
+      name = "_at_babel_slash_plugin-syntax-jsx";
+      packageName = "@babel/plugin-syntax-jsx";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.1.tgz";
+        sha512 = "+OxyOArpVFXQeXKLO9o+r2I4dIoVoy6+Uu0vKELrlweDM3QJADZj+Z+5ERansZqIZBcLj42vHnDI8Rz9BnRIuQ==";
+      };
+    };
+    "@babel/plugin-syntax-nullish-coalescing-operator-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-nullish-coalescing-operator";
+      packageName = "@babel/plugin-syntax-nullish-coalescing-operator";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
+        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
+      };
+    };
+    "@babel/plugin-syntax-numeric-separator-7.10.1" = {
+      name = "_at_babel_slash_plugin-syntax-numeric-separator";
+      packageName = "@babel/plugin-syntax-numeric-separator";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz";
+        sha512 = "uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==";
+      };
+    };
+    "@babel/plugin-syntax-object-rest-spread-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
+      packageName = "@babel/plugin-syntax-object-rest-spread";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
+        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
+      };
+    };
+    "@babel/plugin-syntax-optional-catch-binding-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
+      packageName = "@babel/plugin-syntax-optional-catch-binding";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
+        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
+      };
+    };
+    "@babel/plugin-syntax-optional-chaining-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-optional-chaining";
+      packageName = "@babel/plugin-syntax-optional-chaining";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
+        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
+      };
+    };
+    "@babel/plugin-syntax-top-level-await-7.10.1" = {
+      name = "_at_babel_slash_plugin-syntax-top-level-await";
+      packageName = "@babel/plugin-syntax-top-level-await";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz";
+        sha512 = "hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==";
+      };
+    };
+    "@babel/plugin-transform-arrow-functions-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-arrow-functions";
+      packageName = "@babel/plugin-transform-arrow-functions";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz";
+        sha512 = "6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==";
+      };
+    };
+    "@babel/plugin-transform-async-to-generator-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-async-to-generator";
+      packageName = "@babel/plugin-transform-async-to-generator";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz";
+        sha512 = "XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==";
+      };
+    };
+    "@babel/plugin-transform-block-scoped-functions-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
+      packageName = "@babel/plugin-transform-block-scoped-functions";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz";
+        sha512 = "B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==";
+      };
+    };
+    "@babel/plugin-transform-block-scoping-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-block-scoping";
+      packageName = "@babel/plugin-transform-block-scoping";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz";
+        sha512 = "8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==";
+      };
+    };
+    "@babel/plugin-transform-classes-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-classes";
+      packageName = "@babel/plugin-transform-classes";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz";
+        sha512 = "irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==";
+      };
+    };
+    "@babel/plugin-transform-computed-properties-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-computed-properties";
+      packageName = "@babel/plugin-transform-computed-properties";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz";
+        sha512 = "GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==";
+      };
+    };
+    "@babel/plugin-transform-destructuring-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-destructuring";
+      packageName = "@babel/plugin-transform-destructuring";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz";
+        sha512 = "V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==";
+      };
+    };
+    "@babel/plugin-transform-dotall-regex-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-dotall-regex";
+      packageName = "@babel/plugin-transform-dotall-regex";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz";
+        sha512 = "19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==";
+      };
+    };
+    "@babel/plugin-transform-duplicate-keys-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-duplicate-keys";
+      packageName = "@babel/plugin-transform-duplicate-keys";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz";
+        sha512 = "wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==";
+      };
+    };
+    "@babel/plugin-transform-exponentiation-operator-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
+      packageName = "@babel/plugin-transform-exponentiation-operator";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz";
+        sha512 = "lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==";
+      };
+    };
+    "@babel/plugin-transform-for-of-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-for-of";
+      packageName = "@babel/plugin-transform-for-of";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz";
+        sha512 = "US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==";
+      };
+    };
+    "@babel/plugin-transform-function-name-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-function-name";
+      packageName = "@babel/plugin-transform-function-name";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz";
+        sha512 = "//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==";
+      };
+    };
+    "@babel/plugin-transform-literals-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-literals";
+      packageName = "@babel/plugin-transform-literals";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz";
+        sha512 = "qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==";
+      };
+    };
+    "@babel/plugin-transform-member-expression-literals-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-member-expression-literals";
+      packageName = "@babel/plugin-transform-member-expression-literals";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz";
+        sha512 = "UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==";
+      };
+    };
+    "@babel/plugin-transform-modules-amd-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-modules-amd";
+      packageName = "@babel/plugin-transform-modules-amd";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz";
+        sha512 = "31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==";
+      };
+    };
+    "@babel/plugin-transform-modules-commonjs-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-modules-commonjs";
+      packageName = "@babel/plugin-transform-modules-commonjs";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz";
+        sha512 = "AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==";
+      };
+    };
+    "@babel/plugin-transform-modules-systemjs-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-modules-systemjs";
+      packageName = "@babel/plugin-transform-modules-systemjs";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz";
+        sha512 = "GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==";
+      };
+    };
+    "@babel/plugin-transform-modules-umd-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-modules-umd";
+      packageName = "@babel/plugin-transform-modules-umd";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz";
+        sha512 = "EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==";
+      };
+    };
+    "@babel/plugin-transform-named-capturing-groups-regex-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
+      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz";
+        sha512 = "I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==";
+      };
+    };
+    "@babel/plugin-transform-new-target-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-new-target";
+      packageName = "@babel/plugin-transform-new-target";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz";
+        sha512 = "MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==";
+      };
+    };
+    "@babel/plugin-transform-object-super-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-object-super";
+      packageName = "@babel/plugin-transform-object-super";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz";
+        sha512 = "WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==";
+      };
+    };
+    "@babel/plugin-transform-parameters-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-parameters";
+      packageName = "@babel/plugin-transform-parameters";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz";
+        sha512 = "tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==";
+      };
+    };
+    "@babel/plugin-transform-property-literals-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-property-literals";
+      packageName = "@babel/plugin-transform-property-literals";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz";
+        sha512 = "Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==";
+      };
+    };
+    "@babel/plugin-transform-regenerator-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-regenerator";
+      packageName = "@babel/plugin-transform-regenerator";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz";
+        sha512 = "H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==";
+      };
+    };
+    "@babel/plugin-transform-reserved-words-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-reserved-words";
+      packageName = "@babel/plugin-transform-reserved-words";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz";
+        sha512 = "qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==";
+      };
+    };
+    "@babel/plugin-transform-runtime-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-runtime";
+      packageName = "@babel/plugin-transform-runtime";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.3.tgz";
+        sha512 = "b5OzMD1Hi8BBzgQdRHyVVaYrk9zG0wset1it2o3BgonkPadXfOv0aXRqd7864DeOIu3FGKP/h6lr15FE5mahVw==";
+      };
+    };
+    "@babel/plugin-transform-shorthand-properties-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-shorthand-properties";
+      packageName = "@babel/plugin-transform-shorthand-properties";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz";
+        sha512 = "AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==";
+      };
+    };
+    "@babel/plugin-transform-spread-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-spread";
+      packageName = "@babel/plugin-transform-spread";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz";
+        sha512 = "8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==";
+      };
+    };
+    "@babel/plugin-transform-sticky-regex-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-sticky-regex";
+      packageName = "@babel/plugin-transform-sticky-regex";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz";
+        sha512 = "j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==";
+      };
+    };
+    "@babel/plugin-transform-template-literals-7.10.3" = {
+      name = "_at_babel_slash_plugin-transform-template-literals";
+      packageName = "@babel/plugin-transform-template-literals";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz";
+        sha512 = "yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==";
+      };
+    };
+    "@babel/plugin-transform-typeof-symbol-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-typeof-symbol";
+      packageName = "@babel/plugin-transform-typeof-symbol";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz";
+        sha512 = "qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==";
+      };
+    };
+    "@babel/plugin-transform-unicode-escapes-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-unicode-escapes";
+      packageName = "@babel/plugin-transform-unicode-escapes";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz";
+        sha512 = "zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==";
+      };
+    };
+    "@babel/plugin-transform-unicode-regex-7.10.1" = {
+      name = "_at_babel_slash_plugin-transform-unicode-regex";
+      packageName = "@babel/plugin-transform-unicode-regex";
+      version = "7.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz";
+        sha512 = "Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==";
+      };
+    };
+    "@babel/preset-env-7.10.3" = {
+      name = "_at_babel_slash_preset-env";
+      packageName = "@babel/preset-env";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.3.tgz";
+        sha512 = "jHaSUgiewTmly88bJtMHbOd1bJf2ocYxb5BWKSDQIP5tmgFuS/n0gl+nhSrYDhT33m0vPxp+rP8oYYgPgMNQlg==";
+      };
+    };
+    "@babel/preset-modules-0.1.3" = {
+      name = "_at_babel_slash_preset-modules";
+      packageName = "@babel/preset-modules";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz";
+        sha512 = "Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==";
+      };
+    };
+    "@babel/runtime-7.10.3" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.3.tgz";
+        sha512 = "RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw==";
+      };
+    };
+    "@babel/template-7.10.3" = {
+      name = "_at_babel_slash_template";
+      packageName = "@babel/template";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz";
+        sha512 = "5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==";
+      };
+    };
+    "@babel/traverse-7.10.3" = {
+      name = "_at_babel_slash_traverse";
+      packageName = "@babel/traverse";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz";
+        sha512 = "qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==";
+      };
+    };
+    "@babel/types-7.10.3" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz";
+        sha512 = "nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==";
+      };
+    };
+    "@fortawesome/fontawesome-common-types-0.2.30" = {
+      name = "_at_fortawesome_slash_fontawesome-common-types";
+      packageName = "@fortawesome/fontawesome-common-types";
+      version = "0.2.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.30.tgz";
+        sha512 = "TsRwpTuKwFNiPhk1UfKgw7zNPeV5RhNp2Uw3pws+9gDAkPGKrtjR1y2lI3SYn7+YzyfuNknflpBA1LRKjt7hMg==";
+      };
+    };
+    "@fortawesome/fontawesome-svg-core-1.2.30" = {
+      name = "_at_fortawesome_slash_fontawesome-svg-core";
+      packageName = "@fortawesome/fontawesome-svg-core";
+      version = "1.2.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.30.tgz";
+        sha512 = "E3sAXATKCSVnT17HYmZjjbcmwihrNOCkoU7dVMlasrcwiJAHxSKeZ+4WN5O+ElgO/FaYgJmASl8p9N7/B/RttA==";
+      };
+    };
+    "@fortawesome/free-regular-svg-icons-5.14.0" = {
+      name = "_at_fortawesome_slash_free-regular-svg-icons";
+      packageName = "@fortawesome/free-regular-svg-icons";
+      version = "5.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.14.0.tgz";
+        sha512 = "6LCFvjGSMPoUQbn3NVlgiG4CY5iIY8fOm+to/D6QS/GvdqhDt+xZklQeERdCvVRbnFa1ITc1rJHPRXqkX5wztQ==";
+      };
+    };
+    "@fortawesome/free-solid-svg-icons-5.14.0" = {
+      name = "_at_fortawesome_slash_free-solid-svg-icons";
+      packageName = "@fortawesome/free-solid-svg-icons";
+      version = "5.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.14.0.tgz";
+        sha512 = "M933RDM8cecaKMWDSk3FRYdnzWGW7kBBlGNGfvqLVwcwhUPNj9gcw+xZMrqBdRqxnSXdl3zWzTCNNGEtFUq67Q==";
+      };
+    };
+    "@fortawesome/vue-fontawesome-2.0.0" = {
+      name = "_at_fortawesome_slash_vue-fontawesome";
+      packageName = "@fortawesome/vue-fontawesome";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.0.tgz";
+        sha512 = "N3VKw7KzRfOm8hShUVldpinlm13HpvLBQgT63QS+aCrIRLwjoEUXY5Rcmttbfb6HkzZaeqjLqd/aZCQ53UjQpg==";
+      };
+    };
+    "@hapi/address-2.1.4" = {
+      name = "_at_hapi_slash_address";
+      packageName = "@hapi/address";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz";
+        sha512 = "QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==";
+      };
+    };
+    "@hapi/bourne-1.3.2" = {
+      name = "_at_hapi_slash_bourne";
+      packageName = "@hapi/bourne";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
+      };
+    };
+    "@hapi/hoek-8.5.1" = {
+      name = "_at_hapi_slash_hoek";
+      packageName = "@hapi/hoek";
+      version = "8.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz";
+        sha512 = "yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==";
+      };
+    };
+    "@hapi/joi-15.1.1" = {
+      name = "_at_hapi_slash_joi";
+      packageName = "@hapi/joi";
+      version = "15.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz";
+        sha512 = "entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==";
+      };
+    };
+    "@hapi/topo-3.1.6" = {
+      name = "_at_hapi_slash_topo";
+      packageName = "@hapi/topo";
+      version = "3.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz";
+        sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
+      };
+    };
+    "@intervolga/optimize-cssnano-plugin-1.0.6" = {
+      name = "_at_intervolga_slash_optimize-cssnano-plugin";
+      packageName = "@intervolga/optimize-cssnano-plugin";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz";
+        sha512 = "zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==";
+      };
+    };
+    "@mrmlnc/readdir-enhanced-2.2.1" = {
+      name = "_at_mrmlnc_slash_readdir-enhanced";
+      packageName = "@mrmlnc/readdir-enhanced";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
+      };
+    };
+    "@nodelib/fs.stat-1.1.3" = {
+      name = "_at_nodelib_slash_fs.stat";
+      packageName = "@nodelib/fs.stat";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
+      };
+    };
+    "@soda/friendly-errors-webpack-plugin-1.7.1" = {
+      name = "_at_soda_slash_friendly-errors-webpack-plugin";
+      packageName = "@soda/friendly-errors-webpack-plugin";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz";
+        sha512 = "cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==";
+      };
+    };
+    "@soda/get-current-script-1.0.2" = {
+      name = "_at_soda_slash_get-current-script";
+      packageName = "@soda/get-current-script";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz";
+        sha512 = "T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==";
+      };
+    };
+    "@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/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/eslint-visitor-keys-1.0.0" = {
+      name = "_at_types_slash_eslint-visitor-keys";
+      packageName = "@types/eslint-visitor-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha512 = "OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==";
+      };
+    };
+    "@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/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/hammerjs-2.0.36" = {
+      name = "_at_types_slash_hammerjs";
+      packageName = "@types/hammerjs";
+      version = "2.0.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz";
+        sha512 = "7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==";
+      };
+    };
+    "@types/json-schema-7.0.4" = {
+      name = "_at_types_slash_json-schema";
+      packageName = "@types/json-schema";
+      version = "7.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz";
+        sha512 = "8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==";
+      };
+    };
+    "@types/marked-1.1.0" = {
+      name = "_at_types_slash_marked";
+      packageName = "@types/marked";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/marked/-/marked-1.1.0.tgz";
+        sha512 = "j8XXj6/l9kFvCwMyVqozznqpd/nk80krrW+QiIJN60Uu9gX5Pvn4/qPJ2YngQrR3QREPwmrE1f9/EWKVTFzoEw==";
+      };
+    };
+    "@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/node-13.9.8" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "13.9.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-13.9.8.tgz";
+        sha512 = "1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA==";
+      };
+    };
+    "@types/normalize-package-data-2.4.0" = {
+      name = "_at_types_slash_normalize-package-data";
+      packageName = "@types/normalize-package-data";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha512 = "f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==";
+      };
+    };
+    "@types/q-1.5.4" = {
+      name = "_at_types_slash_q";
+      packageName = "@types/q";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz";
+        sha512 = "1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==";
+      };
+    };
+    "@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/tapable-1.0.6" = {
+      name = "_at_types_slash_tapable";
+      packageName = "@types/tapable";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz";
+        sha512 = "W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==";
+      };
+    };
+    "@types/uglify-js-3.9.3" = {
+      name = "_at_types_slash_uglify-js";
+      packageName = "@types/uglify-js";
+      version = "3.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz";
+        sha512 = "KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==";
+      };
+    };
+    "@types/webpack-4.41.22" = {
+      name = "_at_types_slash_webpack";
+      packageName = "@types/webpack";
+      version = "4.41.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.22.tgz";
+        sha512 = "JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ==";
+      };
+    };
+    "@types/webpack-env-1.15.2" = {
+      name = "_at_types_slash_webpack-env";
+      packageName = "@types/webpack-env";
+      version = "1.15.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.15.2.tgz";
+        sha512 = "67ZgZpAlhIICIdfQrB5fnDvaKFcDxpKibxznfYRVAT4mQE41Dido/3Ty+E3xGBmTogc5+0Qb8tWhna+5B8z1iQ==";
+      };
+    };
+    "@types/webpack-sources-1.4.2" = {
+      name = "_at_types_slash_webpack-sources";
+      packageName = "@types/webpack-sources";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-1.4.2.tgz";
+        sha512 = "77T++JyKow4BQB/m9O96n9d/UUHWLQHlcqXb9Vsf4F1+wKNrrlWNFPDLKNT92RJnCSL6CieTc+NDXtCVZswdTw==";
+      };
+    };
+    "@typescript-eslint/eslint-plugin-2.34.0" = {
+      name = "_at_typescript-eslint_slash_eslint-plugin";
+      packageName = "@typescript-eslint/eslint-plugin";
+      version = "2.34.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz";
+        sha512 = "4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==";
+      };
+    };
+    "@typescript-eslint/experimental-utils-2.34.0" = {
+      name = "_at_typescript-eslint_slash_experimental-utils";
+      packageName = "@typescript-eslint/experimental-utils";
+      version = "2.34.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz";
+        sha512 = "eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==";
+      };
+    };
+    "@typescript-eslint/parser-2.34.0" = {
+      name = "_at_typescript-eslint_slash_parser";
+      packageName = "@typescript-eslint/parser";
+      version = "2.34.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz";
+        sha512 = "03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==";
+      };
+    };
+    "@typescript-eslint/typescript-estree-2.34.0" = {
+      name = "_at_typescript-eslint_slash_typescript-estree";
+      packageName = "@typescript-eslint/typescript-estree";
+      version = "2.34.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz";
+        sha512 = "OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==";
+      };
+    };
+    "@vue/babel-helper-vue-jsx-merge-props-1.0.0" = {
+      name = "_at_vue_slash_babel-helper-vue-jsx-merge-props";
+      packageName = "@vue/babel-helper-vue-jsx-merge-props";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz";
+        sha512 = "6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==";
+      };
+    };
+    "@vue/babel-plugin-transform-vue-jsx-1.1.2" = {
+      name = "_at_vue_slash_babel-plugin-transform-vue-jsx";
+      packageName = "@vue/babel-plugin-transform-vue-jsx";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz";
+        sha512 = "YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==";
+      };
+    };
+    "@vue/babel-preset-app-4.4.6" = {
+      name = "_at_vue_slash_babel-preset-app";
+      packageName = "@vue/babel-preset-app";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.6.tgz";
+        sha512 = "urIa6Qk3lKacLvscrzxMNyYlTqKFcPAUo5MohOjv1ISZ9PssHw693WTOrqSC0XksdMLtp/rnLvc6l5G8Muk0lw==";
+      };
+    };
+    "@vue/babel-preset-jsx-1.1.2" = {
+      name = "_at_vue_slash_babel-preset-jsx";
+      packageName = "@vue/babel-preset-jsx";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz";
+        sha512 = "zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==";
+      };
+    };
+    "@vue/babel-sugar-functional-vue-1.1.2" = {
+      name = "_at_vue_slash_babel-sugar-functional-vue";
+      packageName = "@vue/babel-sugar-functional-vue";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz";
+        sha512 = "YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==";
+      };
+    };
+    "@vue/babel-sugar-inject-h-1.1.2" = {
+      name = "_at_vue_slash_babel-sugar-inject-h";
+      packageName = "@vue/babel-sugar-inject-h";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz";
+        sha512 = "VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==";
+      };
+    };
+    "@vue/babel-sugar-v-model-1.1.2" = {
+      name = "_at_vue_slash_babel-sugar-v-model";
+      packageName = "@vue/babel-sugar-v-model";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz";
+        sha512 = "vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==";
+      };
+    };
+    "@vue/babel-sugar-v-on-1.1.2" = {
+      name = "_at_vue_slash_babel-sugar-v-on";
+      packageName = "@vue/babel-sugar-v-on";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz";
+        sha512 = "T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==";
+      };
+    };
+    "@vue/cli-overlay-4.4.6" = {
+      name = "_at_vue_slash_cli-overlay";
+      packageName = "@vue/cli-overlay";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.6.tgz";
+        sha512 = "fzjg2gWQt+jw5fyLsD9HZNxGNQgZjLDI2s9bLWJwRucdfmncSi9neqA0TZyszGrgcJA4Qu4V5KgV0qwVSBYCaw==";
+      };
+    };
+    "@vue/cli-plugin-babel-4.4.6" = {
+      name = "_at_vue_slash_cli-plugin-babel";
+      packageName = "@vue/cli-plugin-babel";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.6.tgz";
+        sha512 = "9cX9mN+4DIbcqw3rV6UBOA0t5zikIkrBLQloUzsOBOu5Xb7/UoD7inInFj7bnyHUflr5LqbdWJ+etCQcWAIIXA==";
+      };
+    };
+    "@vue/cli-plugin-eslint-4.4.6" = {
+      name = "_at_vue_slash_cli-plugin-eslint";
+      packageName = "@vue/cli-plugin-eslint";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.6.tgz";
+        sha512 = "3a9rVpOKPQsDgAlRkhmBMHboGobivG/47BbQGE66Z8YJxrgF/AWikP3Jy67SmxtszRkyiWfw4aJFRV9r3MzffQ==";
+      };
+    };
+    "@vue/cli-plugin-router-4.4.6" = {
+      name = "_at_vue_slash_cli-plugin-router";
+      packageName = "@vue/cli-plugin-router";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.6.tgz";
+        sha512 = "TkLdn0ZYo3zgn78Rk8doPlR+4UkGjGW2R1eGEaZEkue/mw2VhUWtTk9cKLZaYrw0eY8Ro/j+OV6mD+scyrairg==";
+      };
+    };
+    "@vue/cli-plugin-typescript-4.4.6" = {
+      name = "_at_vue_slash_cli-plugin-typescript";
+      packageName = "@vue/cli-plugin-typescript";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.4.6.tgz";
+        sha512 = "FIIx9yqm19M62+2X4QwTrnlePdghsKnFbBPCHJawx3ULx30B11fL7X0uwmcq+kEAAHwAGBI6QyU7dgwPDRUCOw==";
+      };
+    };
+    "@vue/cli-plugin-vuex-4.4.6" = {
+      name = "_at_vue_slash_cli-plugin-vuex";
+      packageName = "@vue/cli-plugin-vuex";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.6.tgz";
+        sha512 = "Ho0YzUivn8BLPqFoFypntR8CMTEXYYHVr0GdnZW99XL+DbGw75f+tJfnrV9UFHDTfvZt7uewKiXDMlrzQ0l3Ug==";
+      };
+    };
+    "@vue/cli-service-4.4.6" = {
+      name = "_at_vue_slash_cli-service";
+      packageName = "@vue/cli-service";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.6.tgz";
+        sha512 = "k5OFGh2NnvRymCyq9DfBiNJvECUuun3pl5KMm3557IZyA5E5csv+RHoSW3dX8HHe0zXq18g52VswP1llvR9POw==";
+      };
+    };
+    "@vue/cli-shared-utils-4.4.6" = {
+      name = "_at_vue_slash_cli-shared-utils";
+      packageName = "@vue/cli-shared-utils";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.6.tgz";
+        sha512 = "ba+FZZCjiTSu2otnLjY4qXqASe7ZIQ/QBljk5oRPgqrR0p1NUkDPUcZhqa041aOaSW1yAfSfhOD7Q84nMnWhzQ==";
+      };
+    };
+    "@vue/component-compiler-utils-3.1.2" = {
+      name = "_at_vue_slash_component-compiler-utils";
+      packageName = "@vue/component-compiler-utils";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz";
+        sha512 = "QLq9z8m79mCinpaEeSURhnNCN6djxpHw0lpP/bodMlt5kALfONpryMthvnrQOlTcIKoF+VoPi+lPHUYeDFPXug==";
+      };
+    };
+    "@vue/eslint-config-typescript-5.0.2" = {
+      name = "_at_vue_slash_eslint-config-typescript";
+      packageName = "@vue/eslint-config-typescript";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-5.0.2.tgz";
+        sha512 = "GEZOHKOnelgQf5npA+6VNuhJZu9xEJaics3SYUyRjaSay+2SCpEINHhEpt6fXoNy/aIFt8CkDlt9CaEb+QPIcg==";
+      };
+    };
+    "@vue/preload-webpack-plugin-1.1.1" = {
+      name = "_at_vue_slash_preload-webpack-plugin";
+      packageName = "@vue/preload-webpack-plugin";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz";
+        sha512 = "8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==";
+      };
+    };
+    "@vue/web-component-wrapper-1.2.0" = {
+      name = "_at_vue_slash_web-component-wrapper";
+      packageName = "@vue/web-component-wrapper";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz";
+        sha512 = "Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==";
+      };
+    };
+    "@webassemblyjs/ast-1.9.0" = {
+      name = "_at_webassemblyjs_slash_ast";
+      packageName = "@webassemblyjs/ast";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz";
+        sha512 = "C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==";
+      };
+    };
+    "@webassemblyjs/floating-point-hex-parser-1.9.0" = {
+      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
+      packageName = "@webassemblyjs/floating-point-hex-parser";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz";
+        sha512 = "TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==";
+      };
+    };
+    "@webassemblyjs/helper-api-error-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-api-error";
+      packageName = "@webassemblyjs/helper-api-error";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz";
+        sha512 = "NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==";
+      };
+    };
+    "@webassemblyjs/helper-buffer-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-buffer";
+      packageName = "@webassemblyjs/helper-buffer";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz";
+        sha512 = "qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==";
+      };
+    };
+    "@webassemblyjs/helper-code-frame-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-code-frame";
+      packageName = "@webassemblyjs/helper-code-frame";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz";
+        sha512 = "ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==";
+      };
+    };
+    "@webassemblyjs/helper-fsm-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-fsm";
+      packageName = "@webassemblyjs/helper-fsm";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz";
+        sha512 = "OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==";
+      };
+    };
+    "@webassemblyjs/helper-module-context-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-module-context";
+      packageName = "@webassemblyjs/helper-module-context";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz";
+        sha512 = "MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-bytecode-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
+      packageName = "@webassemblyjs/helper-wasm-bytecode";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz";
+        sha512 = "R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-section-1.9.0" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-section";
+      packageName = "@webassemblyjs/helper-wasm-section";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz";
+        sha512 = "XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==";
+      };
+    };
+    "@webassemblyjs/ieee754-1.9.0" = {
+      name = "_at_webassemblyjs_slash_ieee754";
+      packageName = "@webassemblyjs/ieee754";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz";
+        sha512 = "dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==";
+      };
+    };
+    "@webassemblyjs/leb128-1.9.0" = {
+      name = "_at_webassemblyjs_slash_leb128";
+      packageName = "@webassemblyjs/leb128";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz";
+        sha512 = "ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==";
+      };
+    };
+    "@webassemblyjs/utf8-1.9.0" = {
+      name = "_at_webassemblyjs_slash_utf8";
+      packageName = "@webassemblyjs/utf8";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz";
+        sha512 = "GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==";
+      };
+    };
+    "@webassemblyjs/wasm-edit-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wasm-edit";
+      packageName = "@webassemblyjs/wasm-edit";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz";
+        sha512 = "FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==";
+      };
+    };
+    "@webassemblyjs/wasm-gen-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wasm-gen";
+      packageName = "@webassemblyjs/wasm-gen";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz";
+        sha512 = "cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==";
+      };
+    };
+    "@webassemblyjs/wasm-opt-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wasm-opt";
+      packageName = "@webassemblyjs/wasm-opt";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz";
+        sha512 = "Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==";
+      };
+    };
+    "@webassemblyjs/wasm-parser-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wasm-parser";
+      packageName = "@webassemblyjs/wasm-parser";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz";
+        sha512 = "9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==";
+      };
+    };
+    "@webassemblyjs/wast-parser-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wast-parser";
+      packageName = "@webassemblyjs/wast-parser";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz";
+        sha512 = "qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==";
+      };
+    };
+    "@webassemblyjs/wast-printer-1.9.0" = {
+      name = "_at_webassemblyjs_slash_wast-printer";
+      packageName = "@webassemblyjs/wast-printer";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz";
+        sha512 = "2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==";
+      };
+    };
+    "@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==";
+      };
+    };
+    "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-6.4.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "6.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz";
+        sha512 = "ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==";
+      };
+    };
+    "acorn-7.1.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz";
+        sha512 = "add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==";
+      };
+    };
+    "acorn-7.3.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "7.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz";
+        sha512 = "tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==";
+      };
+    };
+    "acorn-jsx-5.1.0" = {
+      name = "acorn-jsx";
+      packageName = "acorn-jsx";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
+        sha512 = "tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==";
+      };
+    };
+    "acorn-walk-7.2.0" = {
+      name = "acorn-walk";
+      packageName = "acorn-walk";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz";
+        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
+      };
+    };
+    "address-1.1.2" = {
+      name = "address";
+      packageName = "address";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/address/-/address-1.1.2.tgz";
+        sha512 = "aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==";
+      };
+    };
+    "aggregate-error-3.0.1" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz";
+        sha512 = "quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==";
+      };
+    };
+    "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-6.12.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz";
+        sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "alphanum-sort-1.0.2" = {
+      name = "alphanum-sort";
+      packageName = "alphanum-sort";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    };
+    "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-4.3.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz";
+        sha512 = "EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==";
+      };
+    };
+    "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-regex-5.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz";
+        sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "ansi-styles-4.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz";
+        sha512 = "9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "anymatch-3.1.1" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz";
+        sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "arch-2.1.2" = {
+      name = "arch";
+      packageName = "arch";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz";
+        sha512 = "NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-find-index-1.0.2" = {
+      name = "array-find-index";
+      packageName = "array-find-index";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";
+        sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
+      };
+    };
+    "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";
+      };
+    };
+    "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-2.6.3" = {
+      name = "async";
+      packageName = "async";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+      };
+    };
+    "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-foreach-0.1.3" = {
+      name = "async-foreach";
+      packageName = "async-foreach";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz";
+        sha1 = "36121f845c0578172de419a97dbeb1d16ec34542";
+      };
+    };
+    "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==";
+      };
+    };
+    "autoprefixer-9.8.4" = {
+      name = "autoprefixer";
+      packageName = "autoprefixer";
+      version = "9.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.4.tgz";
+        sha512 = "84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-loader-8.1.0" = {
+      name = "babel-loader";
+      packageName = "babel-loader";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz";
+        sha512 = "7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==";
+      };
+    };
+    "babel-plugin-dynamic-import-node-2.3.3" = {
+      name = "babel-plugin-dynamic-import-node";
+      packageName = "babel-plugin-dynamic-import-node";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
+        sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-3.2.0" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz";
+        sha512 = "+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "binary-extensions-2.1.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz";
+        sha512 = "1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==";
+      };
+    };
+    "bindings-1.5.0" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
+        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
+      };
+    };
+    "block-stream-0.0.9" = {
+      name = "block-stream";
+      packageName = "block-stream";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    };
+    "bluebird-3.7.2" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
+      };
+    };
+    "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";
+      };
+    };
+    "boolbase-1.0.0" = {
+      name = "boolbase";
+      packageName = "boolbase";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    };
+    "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==";
+      };
+    };
+    "braces-3.0.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-4.11.1" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "4.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz";
+        sha512 = "DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==";
+      };
+    };
+    "browserslist-4.12.2" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "4.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz";
+        sha512 = "MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==";
+      };
+    };
+    "buefy-0.8.15" = {
+      name = "buefy";
+      packageName = "buefy";
+      version = "0.8.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buefy/-/buefy-0.8.15.tgz";
+        sha512 = "rDTtLNIip+uFpB1Z9E9YllLPYUkJUIFsf7tBhutNfP9SYGrcDhXnUsIEhPHSxGEeddPlX9YT98Mx1zhOz622vg==";
+      };
+    };
+    "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-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-json-2.0.0" = {
+      name = "buffer-json";
+      packageName = "buffer-json";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz";
+        sha512 = "+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==";
+      };
+    };
+    "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-modules-1.1.1" = {
+      name = "builtin-modules";
+      packageName = "builtin-modules";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    };
+    "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";
+      };
+    };
+    "bulma-0.7.5" = {
+      name = "bulma";
+      packageName = "bulma";
+      version = "0.7.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bulma/-/bulma-0.7.5.tgz";
+        sha512 = "cX98TIn0I6sKba/DhW0FBjtaDpxTelU166pf7ICXpCCuplHWyu6C9LYZmL5PEsnePIeJaiorsTEzzNk3Tsm1hw==";
+      };
+    };
+    "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-12.0.4" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "12.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz";
+        sha512 = "a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==";
+      };
+    };
+    "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";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
+      };
+    };
+    "cache-loader-4.1.0" = {
+      name = "cache-loader";
+      packageName = "cache-loader";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz";
+        sha512 = "ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==";
+      };
+    };
+    "call-me-maybe-1.0.1" = {
+      name = "call-me-maybe";
+      packageName = "call-me-maybe";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    };
+    "caller-callsite-2.0.0" = {
+      name = "caller-callsite";
+      packageName = "caller-callsite";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    };
+    "caller-path-2.0.0" = {
+      name = "caller-path";
+      packageName = "caller-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    };
+    "callsites-2.0.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    };
+    "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==";
+      };
+    };
+    "camel-case-3.0.0" = {
+      name = "camel-case";
+      packageName = "camel-case";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    };
+    "camelcase-2.1.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
+        sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+      };
+    };
+    "camelcase-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==";
+      };
+    };
+    "camelcase-keys-2.1.0" = {
+      name = "camelcase-keys";
+      packageName = "camelcase-keys";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
+        sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
+      };
+    };
+    "caniuse-api-3.0.0" = {
+      name = "caniuse-api";
+      packageName = "caniuse-api";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
+      };
+    };
+    "caniuse-lite-1.0.30001038" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001038";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001038.tgz";
+        sha512 = "zii9quPo96XfOiRD4TrfYGs+QsGZpb2cGiMAzPjtf/hpFgB6zCPZgJb7I1+EATeMw/o+lG8FyRAnI+CWStHcaQ==";
+      };
+    };
+    "caniuse-lite-1.0.30001090" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001090";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001090.tgz";
+        sha512 = "QzPRKDCyp7RhjczTPZaqK3CjPA5Ht2UnXhZhCI4f7QiB5JK6KEuZBxIzyWnB3wO4hgAj4GMRxAhuiacfw0Psjg==";
+      };
+    };
+    "case-sensitive-paths-webpack-plugin-2.3.0" = {
+      name = "case-sensitive-paths-webpack-plugin";
+      packageName = "case-sensitive-paths-webpack-plugin";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz";
+        sha512 = "/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "chalk-2.4.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+      };
+    };
+    "chalk-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==";
+      };
+    };
+    "chardet-0.7.0" = {
+      name = "chardet";
+      packageName = "chardet";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
+        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "chokidar-3.4.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz";
+        sha512 = "aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==";
+      };
+    };
+    "chownr-1.1.4" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
+        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
+      };
+    };
+    "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-1.6.0" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz";
+        sha512 = "vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==";
+      };
+    };
+    "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.3" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "4.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz";
+        sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
+      };
+    };
+    "clean-stack-2.2.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
+      };
+    };
+    "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-cursor-3.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz";
+        sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
+      };
+    };
+    "cli-highlight-2.1.4" = {
+      name = "cli-highlight";
+      packageName = "cli-highlight";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz";
+        sha512 = "s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "cli-table3-0.5.1" = {
+      name = "cli-table3";
+      packageName = "cli-table3";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz";
+        sha512 = "7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==";
+      };
+    };
+    "cli-width-2.2.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    };
+    "clipboardy-2.3.0" = {
+      name = "clipboardy";
+      packageName = "clipboardy";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz";
+        sha512 = "mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "cliui-6.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz";
+        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "coa-2.0.2" = {
+      name = "coa";
+      packageName = "coa";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz";
+        sha512 = "q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==";
+      };
+    };
+    "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-3.1.2" = {
+      name = "color";
+      packageName = "color";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color/-/color-3.1.2.tgz";
+        sha512 = "vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==";
+      };
+    };
+    "color-convert-1.9.3" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-convert-2.0.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "color-name-1.1.4" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    };
+    "color-string-1.5.3" = {
+      name = "color-string";
+      packageName = "color-string";
+      version = "1.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz";
+        sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
+      };
+    };
+    "colorette-1.2.0" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz";
+        sha512 = "soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==";
+      };
+    };
+    "colors-1.4.0" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
+        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
+      };
+    };
+    "combined-stream-1.0.8" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+      };
+    };
+    "commander-2.17.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz";
+        sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
+      };
+    };
+    "commander-2.19.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz";
+        sha512 = "6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==";
+      };
+    };
+    "commander-2.20.3" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
+      };
+    };
+    "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.18" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz";
+        sha512 = "AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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.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";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "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==";
+      };
+    };
+    "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.7.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz";
+        sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-5.1.1" = {
+      name = "copy-webpack-plugin";
+      packageName = "copy-webpack-plugin";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz";
+        sha512 = "P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==";
+      };
+    };
+    "core-js-3.6.5" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz";
+        sha512 = "vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==";
+      };
+    };
+    "core-js-compat-3.6.5" = {
+      name = "core-js-compat";
+      packageName = "core-js-compat";
+      version = "3.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz";
+        sha512 = "7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==";
+      };
+    };
+    "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";
+      };
+    };
+    "cosmiconfig-5.2.1" = {
+      name = "cosmiconfig";
+      packageName = "cosmiconfig";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha512 = "H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "cross-spawn-3.0.1" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz";
+        sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982";
+      };
+    };
+    "cross-spawn-5.1.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+      };
+    };
+    "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==";
+      };
+    };
+    "cross-spawn-7.0.3" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz";
+        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
+      };
+    };
+    "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==";
+      };
+    };
+    "css-color-names-0.0.4" = {
+      name = "css-color-names";
+      packageName = "css-color-names";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    };
+    "css-declaration-sorter-4.0.1" = {
+      name = "css-declaration-sorter";
+      packageName = "css-declaration-sorter";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==";
+      };
+    };
+    "css-loader-3.6.0" = {
+      name = "css-loader";
+      packageName = "css-loader";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz";
+        sha512 = "M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==";
+      };
+    };
+    "css-select-1.2.0" = {
+      name = "css-select";
+      packageName = "css-select";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    };
+    "css-select-2.1.0" = {
+      name = "css-select";
+      packageName = "css-select";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz";
+        sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
+      };
+    };
+    "css-select-base-adapter-0.1.1" = {
+      name = "css-select-base-adapter";
+      packageName = "css-select-base-adapter";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==";
+      };
+    };
+    "css-tree-1.0.0-alpha.37" = {
+      name = "css-tree";
+      packageName = "css-tree";
+      version = "1.0.0-alpha.37";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
+        sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==";
+      };
+    };
+    "css-tree-1.0.0-alpha.39" = {
+      name = "css-tree";
+      packageName = "css-tree";
+      version = "1.0.0-alpha.39";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz";
+        sha512 = "7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==";
+      };
+    };
+    "css-what-2.1.3" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz";
+        sha512 = "a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==";
+      };
+    };
+    "css-what-3.3.0" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz";
+        sha512 = "pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==";
+      };
+    };
+    "cssesc-3.0.0" = {
+      name = "cssesc";
+      packageName = "cssesc";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz";
+        sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==";
+      };
+    };
+    "cssnano-4.1.10" = {
+      name = "cssnano";
+      packageName = "cssnano";
+      version = "4.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz";
+        sha512 = "5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==";
+      };
+    };
+    "cssnano-preset-default-4.0.7" = {
+      name = "cssnano-preset-default";
+      packageName = "cssnano-preset-default";
+      version = "4.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha512 = "x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==";
+      };
+    };
+    "cssnano-util-get-arguments-4.0.0" = {
+      name = "cssnano-util-get-arguments";
+      packageName = "cssnano-util-get-arguments";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    };
+    "cssnano-util-get-match-4.0.0" = {
+      name = "cssnano-util-get-match";
+      packageName = "cssnano-util-get-match";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    };
+    "cssnano-util-raw-cache-4.0.1" = {
+      name = "cssnano-util-raw-cache";
+      packageName = "cssnano-util-raw-cache";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha512 = "qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==";
+      };
+    };
+    "cssnano-util-same-parent-4.0.1" = {
+      name = "cssnano-util-same-parent";
+      packageName = "cssnano-util-same-parent";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
+      };
+    };
+    "csso-4.0.3" = {
+      name = "csso";
+      packageName = "csso";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz";
+        sha512 = "NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==";
+      };
+    };
+    "currently-unhandled-0.4.1" = {
+      name = "currently-unhandled";
+      packageName = "currently-unhandled";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+        sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "de-indent-1.0.2" = {
+      name = "de-indent";
+      packageName = "de-indent";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "debug-3.2.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";
+      };
+    };
+    "deep-equal-1.1.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
+        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
+      };
+    };
+    "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";
+      };
+    };
+    "deepmerge-1.5.2" = {
+      name = "deepmerge";
+      packageName = "deepmerge";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz";
+        sha512 = "95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==";
+      };
+    };
+    "deepmerge-4.2.2" = {
+      name = "deepmerge";
+      packageName = "deepmerge";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "default-gateway-5.0.5" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz";
+        sha512 = "z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==";
+      };
+    };
+    "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.1" = {
+      name = "des.js";
+      packageName = "des.js";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
+        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
+      };
+    };
+    "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-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-4.0.2" = {
+      name = "diff";
+      packageName = "diff";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz";
+        sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==";
+      };
+    };
+    "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";
+      };
+    };
+    "doctrine-3.0.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
+        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
+      };
+    };
+    "dom-converter-0.2.0" = {
+      name = "dom-converter";
+      packageName = "dom-converter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha512 = "gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==";
+      };
+    };
+    "dom-serializer-0.2.2" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
+        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "domelementtype-1.3.1" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
+      };
+    };
+    "domelementtype-2.0.1" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha512 = "5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==";
+      };
+    };
+    "domhandler-2.4.2" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz";
+        sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
+      };
+    };
+    "domutils-1.5.1" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    };
+    "domutils-1.7.0" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
+        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
+      };
+    };
+    "dot-object-1.9.0" = {
+      name = "dot-object";
+      packageName = "dot-object";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-object/-/dot-object-1.9.0.tgz";
+        sha512 = "7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==";
+      };
+    };
+    "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-8.2.0" = {
+      name = "dotenv";
+      packageName = "dotenv";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz";
+        sha512 = "8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==";
+      };
+    };
+    "dotenv-expand-5.1.0" = {
+      name = "dotenv-expand";
+      packageName = "dotenv-expand";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "easy-stack-1.0.0" = {
+      name = "easy-stack";
+      packageName = "easy-stack";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz";
+        sha1 = "12c91b3085a37f0baa336e9486eac4bf94e3e788";
+      };
+    };
+    "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";
+      };
+    };
+    "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.4" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz";
+        sha512 = "7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==";
+      };
+    };
+    "electron-to-chromium-1.3.393" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.3.393";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.393.tgz";
+        sha512 = "Ko3/VdhZAaMaJBLBFqEJ+M1qMiBI8sJfPY/hSJvDrkB3Do8LJsL9tmXy4w7o9nPXif/jFaZGSlXTQWU8XVsYtg==";
+      };
+    };
+    "electron-to-chromium-1.3.483" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.3.483";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.483.tgz";
+        sha512 = "+05RF8S9rk8S0G8eBCqBRBaRq7+UN3lDs2DAvnG8SBSgQO3hjy0+qt4CmRk5eiuGbTcaicgXfPmBi31a+BD3lg==";
+      };
+    };
+    "elliptic-6.5.2" = {
+      name = "elliptic";
+      packageName = "elliptic";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz";
+        sha512 = "f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==";
+      };
+    };
+    "emoji-regex-7.0.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+      };
+    };
+    "emoji-regex-8.0.0" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
+      };
+    };
+    "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";
+      };
+    };
+    "emojis-list-3.0.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz";
+        sha512 = "/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==";
+      };
+    };
+    "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.1" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
+        sha512 = "98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==";
+      };
+    };
+    "entities-1.1.2" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz";
+        sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
+      };
+    };
+    "entities-2.0.3" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz";
+        sha512 = "MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==";
+      };
+    };
+    "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-stack-parser-2.0.6" = {
+      name = "error-stack-parser";
+      packageName = "error-stack-parser";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz";
+        sha512 = "d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==";
+      };
+    };
+    "es-abstract-1.17.0-next.1" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.17.0-next.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz";
+        sha512 = "7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==";
+      };
+    };
+    "es-abstract-1.17.6" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.17.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz";
+        sha512 = "Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==";
+      };
+    };
+    "es-to-primitive-1.2.1" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
+      };
+    };
+    "escalade-3.0.1" = {
+      name = "escalade";
+      packageName = "escalade";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz";
+        sha512 = "DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==";
+      };
+    };
+    "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";
+      };
+    };
+    "eslint-6.8.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "6.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
+      };
+    };
+    "eslint-config-prettier-6.11.0" = {
+      name = "eslint-config-prettier";
+      packageName = "eslint-config-prettier";
+      version = "6.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz";
+        sha512 = "oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==";
+      };
+    };
+    "eslint-loader-2.2.1" = {
+      name = "eslint-loader";
+      packageName = "eslint-loader";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz";
+        sha512 = "RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==";
+      };
+    };
+    "eslint-plugin-prettier-3.1.4" = {
+      name = "eslint-plugin-prettier";
+      packageName = "eslint-plugin-prettier";
+      version = "3.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz";
+        sha512 = "jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==";
+      };
+    };
+    "eslint-plugin-vue-6.2.2" = {
+      name = "eslint-plugin-vue";
+      packageName = "eslint-plugin-vue";
+      version = "6.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz";
+        sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "eslint-scope-5.0.0" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz";
+        sha512 = "oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==";
+      };
+    };
+    "eslint-utils-1.4.3" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz";
+        sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==";
+      };
+    };
+    "eslint-utils-2.1.0" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz";
+        sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==";
+      };
+    };
+    "eslint-visitor-keys-1.1.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
+        sha512 = "8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==";
+      };
+    };
+    "esm-3.2.25" = {
+      name = "esm";
+      packageName = "esm";
+      version = "3.2.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz";
+        sha512 = "U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==";
+      };
+    };
+    "espree-6.1.2" = {
+      name = "espree";
+      packageName = "espree";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz";
+        sha512 = "2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==";
+      };
+    };
+    "esprima-4.0.1" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+      };
+    };
+    "esquery-1.0.1" = {
+      name = "esquery";
+      packageName = "esquery";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz";
+        sha512 = "SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==";
+      };
+    };
+    "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";
+      };
+    };
+    "event-pubsub-4.3.0" = {
+      name = "event-pubsub";
+      packageName = "event-pubsub";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz";
+        sha512 = "z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==";
+      };
+    };
+    "eventemitter3-4.0.4" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz";
+        sha512 = "rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==";
+      };
+    };
+    "events-3.1.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-3.1.0.tgz";
+        sha512 = "Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "execa-0.8.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz";
+        sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da";
+      };
+    };
+    "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==";
+      };
+    };
+    "execa-3.4.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz";
+        sha512 = "r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "external-editor-3.1.0" = {
+      name = "external-editor";
+      packageName = "external-editor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
+        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
+      };
+    };
+    "extglob-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-deep-equal-3.1.3" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
+      };
+    };
+    "fast-diff-1.2.0" = {
+      name = "fast-diff";
+      packageName = "fast-diff";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz";
+        sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
+      };
+    };
+    "fast-glob-2.2.7" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "2.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz";
+        sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "figgy-pudding-3.5.2" = {
+      name = "figgy-pudding";
+      packageName = "figgy-pudding";
+      version = "3.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz";
+        sha512 = "0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==";
+      };
+    };
+    "figures-3.1.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz";
+        sha512 = "ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==";
+      };
+    };
+    "file-entry-cache-5.0.1" = {
+      name = "file-entry-cache";
+      packageName = "file-entry-cache";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
+      };
+    };
+    "file-loader-4.3.0" = {
+      name = "file-loader";
+      packageName = "file-loader";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz";
+        sha512 = "aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==";
+      };
+    };
+    "file-uri-to-path-1.0.0" = {
+      name = "file-uri-to-path";
+      packageName = "file-uri-to-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+      };
+    };
+    "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";
+      };
+    };
+    "fill-range-7.0.1" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
+      };
+    };
+    "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-0.1.1" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    };
+    "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-cache-dir-3.3.1" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz";
+        sha512 = "t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==";
+      };
+    };
+    "find-up-1.1.2" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    };
+    "find-up-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==";
+      };
+    };
+    "find-up-4.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
+      };
+    };
+    "flat-5.0.2" = {
+      name = "flat";
+      packageName = "flat";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz";
+        sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
+      };
+    };
+    "flat-cache-2.0.1" = {
+      name = "flat-cache";
+      packageName = "flat-cache";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
+      };
+    };
+    "flatted-2.0.1" = {
+      name = "flatted";
+      packageName = "flatted";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz";
+        sha512 = "a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==";
+      };
+    };
+    "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.12.1" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz";
+        sha512 = "tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==";
+      };
+    };
+    "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";
+      };
+    };
+    "fork-ts-checker-webpack-plugin-3.1.1" = {
+      name = "fork-ts-checker-webpack-plugin";
+      packageName = "fork-ts-checker-webpack-plugin";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz";
+        sha512 = "DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-extra-7.0.1" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha512 = "YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==";
+      };
+    };
+    "fs-minipass-2.1.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
+      };
+    };
+    "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.12" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz";
+        sha512 = "Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==";
+      };
+    };
+    "fsevents-2.1.3" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz";
+        sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
+      };
+    };
+    "fstream-1.0.12" = {
+      name = "fstream";
+      packageName = "fstream";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz";
+        sha512 = "WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==";
+      };
+    };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "functional-red-black-tree-1.0.1" = {
+      name = "functional-red-black-tree";
+      packageName = "functional-red-black-tree";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    };
+    "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";
+      };
+    };
+    "gaze-1.1.3" = {
+      name = "gaze";
+      packageName = "gaze";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz";
+        sha512 = "BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==";
+      };
+    };
+    "gensync-1.0.0-beta.1" = {
+      name = "gensync";
+      packageName = "gensync";
+      version = "1.0.0-beta.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz";
+        sha512 = "r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==";
+      };
+    };
+    "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-stdin-4.0.1" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+        sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+      };
+    };
+    "get-stdin-6.0.0" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha512 = "jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==";
+      };
+    };
+    "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-stream-5.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz";
+        sha512 = "EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==";
+      };
+    };
+    "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.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-parent-3.1.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    };
+    "glob-parent-5.1.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz";
+        sha512 = "qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==";
+      };
+    };
+    "glob-parent-5.1.1" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz";
+        sha512 = "FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==";
+      };
+    };
+    "glob-to-regexp-0.3.0" = {
+      name = "glob-to-regexp";
+      packageName = "glob-to-regexp";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "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";
+      };
+    };
+    "globby-9.2.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "9.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz";
+        sha512 = "ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==";
+      };
+    };
+    "globule-1.3.2" = {
+      name = "globule";
+      packageName = "globule";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz";
+        sha512 = "7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "hammerjs-2.0.8" = {
+      name = "hammerjs";
+      packageName = "hammerjs";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz";
+        sha1 = "04ef77862cff2bb79d30f7692095930222bf60f1";
+      };
+    };
+    "handle-thing-2.0.1" = {
+      name = "handle-thing";
+      packageName = "handle-thing";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz";
+        sha512 = "9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==";
+      };
+    };
+    "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-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-symbols-1.0.1" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-sum-1.0.2" = {
+      name = "hash-sum";
+      packageName = "hash-sum";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz";
+        sha1 = "33b40777754c6432573c120cc3808bbd10d47f04";
+      };
+    };
+    "hash-sum-2.0.0" = {
+      name = "hash-sum";
+      packageName = "hash-sum";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz";
+        sha512 = "WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "he-1.2.0" = {
+      name = "he";
+      packageName = "he";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
+      };
+    };
+    "hex-color-regex-1.1.0" = {
+      name = "hex-color-regex";
+      packageName = "hex-color-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha512 = "l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==";
+      };
+    };
+    "highlight.js-9.18.1" = {
+      name = "highlight.js";
+      packageName = "highlight.js";
+      version = "9.18.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz";
+        sha512 = "OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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.5" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==";
+      };
+    };
+    "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";
+      };
+    };
+    "hsl-regex-1.0.0" = {
+      name = "hsl-regex";
+      packageName = "hsl-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    };
+    "hsla-regex-1.0.0" = {
+      name = "hsla-regex";
+      packageName = "hsla-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    };
+    "html-comment-regex-1.1.2" = {
+      name = "html-comment-regex";
+      packageName = "html-comment-regex";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha512 = "P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==";
+      };
+    };
+    "html-entities-1.3.1" = {
+      name = "html-entities";
+      packageName = "html-entities";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz";
+        sha512 = "rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==";
+      };
+    };
+    "html-minifier-3.5.21" = {
+      name = "html-minifier";
+      packageName = "html-minifier";
+      version = "3.5.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz";
+        sha512 = "LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==";
+      };
+    };
+    "html-tags-2.0.0" = {
+      name = "html-tags";
+      packageName = "html-tags";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz";
+        sha1 = "10b30a386085f43cede353cc8fa7cb0deeea668b";
+      };
+    };
+    "html-webpack-plugin-3.2.0" = {
+      name = "html-webpack-plugin";
+      packageName = "html-webpack-plugin";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz";
+        sha1 = "b01abbd723acaaa7b37b6af4492ebda03d9dd37b";
+      };
+    };
+    "htmlparser2-3.10.1" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha512 = "IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==";
+      };
+    };
+    "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-proxy-1.18.1" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.18.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz";
+        sha512 = "7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "human-signals-1.1.1" = {
+      name = "human-signals";
+      packageName = "human-signals";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz";
+        sha512 = "SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "icss-utils-4.1.1" = {
+      name = "icss-utils";
+      packageName = "icss-utils";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz";
+        sha512 = "4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "ignore-4.0.6" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
+        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
+      };
+    };
+    "import-cwd-2.1.0" = {
+      name = "import-cwd";
+      packageName = "import-cwd";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    };
+    "import-fresh-2.0.0" = {
+      name = "import-fresh";
+      packageName = "import-fresh";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    };
+    "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-from-2.1.0" = {
+      name = "import-from";
+      packageName = "import-from";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    };
+    "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";
+      };
+    };
+    "in-publish-2.0.1" = {
+      name = "in-publish";
+      packageName = "in-publish";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz";
+        sha512 = "oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==";
+      };
+    };
+    "indent-string-2.1.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
+        sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
+      };
+    };
+    "indent-string-4.0.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
+        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
+      };
+    };
+    "indexes-of-1.0.1" = {
+      name = "indexes-of";
+      packageName = "indexes-of";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "inquirer-7.0.1" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz";
+        sha512 = "V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==";
+      };
+    };
+    "inquirer-7.2.0" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.2.0.tgz";
+        sha512 = "E0c4rPwr9ByePfNlTIB8z51kK1s2n6jrHuJeEHENl/sbq2G/S1auvibgEwNR4uSyiU+PiYHqSwsgGiXjG8p5ZQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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.1" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
+      };
+    };
+    "is-absolute-url-2.1.0" = {
+      name = "is-absolute-url";
+      packageName = "is-absolute-url";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    };
+    "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-arguments-1.0.4" = {
+      name = "is-arguments";
+      packageName = "is-arguments";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha512 = "xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==";
+      };
+    };
+    "is-arrayish-0.2.1" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    };
+    "is-arrayish-0.3.2" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
+      };
+    };
+    "is-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
+    "is-binary-path-2.1.0" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-callable-1.1.5" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
+      };
+    };
+    "is-callable-1.2.0" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz";
+        sha512 = "pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==";
+      };
+    };
+    "is-ci-1.2.1" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz";
+        sha512 = "s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==";
+      };
+    };
+    "is-color-stop-1.1.0" = {
+      name = "is-color-stop";
+      packageName = "is-color-stop";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    };
+    "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.2" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
+      };
+    };
+    "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-directory-0.3.1" = {
+      name = "is-directory";
+      packageName = "is-directory";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    };
+    "is-docker-2.0.0" = {
+      name = "is-docker";
+      packageName = "is-docker";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz";
+        sha512 = "pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==";
+      };
+    };
+    "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.1.0" = {
+      name = "is-finite";
+      packageName = "is-finite";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz";
+        sha512 = "cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "is-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    };
+    "is-fullwidth-code-point-3.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
+      };
+    };
+    "is-glob-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-number-7.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
+      };
+    };
+    "is-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-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.5" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
+        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
+      };
+    };
+    "is-regex-1.1.0" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz";
+        sha512 = "iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==";
+      };
+    };
+    "is-resolvable-1.1.0" = {
+      name = "is-resolvable";
+      packageName = "is-resolvable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "is-stream-2.0.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
+        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+      };
+    };
+    "is-svg-3.0.0" = {
+      name = "is-svg";
+      packageName = "is-svg";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz";
+        sha512 = "gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==";
+      };
+    };
+    "is-symbol-1.0.3" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
+      };
+    };
+    "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-utf8-0.2.1" = {
+      name = "is-utf8";
+      packageName = "is-utf8";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    };
+    "is-valid-glob-1.0.0" = {
+      name = "is-valid-glob";
+      packageName = "is-valid-glob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz";
+        sha1 = "29bf3eff701be2d4d315dbacc39bc39fe8f601aa";
+      };
+    };
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
+      };
+    };
+    "is-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";
+      };
+    };
+    "is-wsl-2.2.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz";
+        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "javascript-stringify-2.0.1" = {
+      name = "javascript-stringify";
+      packageName = "javascript-stringify";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz";
+        sha512 = "yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==";
+      };
+    };
+    "jest-worker-25.5.0" = {
+      name = "jest-worker";
+      packageName = "jest-worker";
+      version = "25.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz";
+        sha512 = "/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==";
+      };
+    };
+    "js-base64-2.6.2" = {
+      name = "js-base64";
+      packageName = "js-base64";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-base64/-/js-base64-2.6.2.tgz";
+        sha512 = "1hgLrLIrmCgZG+ID3VoLNLOSwjGnoZa8tyrUdEteMeIzsT6PH7PMLyUvbDwzNE56P3PNxyvuIOx4Uh2E5rzQIw==";
+      };
+    };
+    "js-message-1.0.5" = {
+      name = "js-message";
+      packageName = "js-message";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz";
+        sha1 = "2300d24b1af08e89dd095bc1a4c9c9cfcb892d15";
+      };
+    };
+    "js-queue-2.0.0" = {
+      name = "js-queue";
+      packageName = "js-queue";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz";
+        sha1 = "362213cf860f468f0125fc6c96abc1742531f948";
+      };
+    };
+    "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";
+      };
+    };
+    "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-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-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-stable-stringify-without-jsonify-1.0.1" = {
+      name = "json-stable-stringify-without-jsonify";
+      packageName = "json-stable-stringify-without-jsonify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "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.3" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz";
+        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
+      };
+    };
+    "jsonfile-4.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "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.3" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
+        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
+      };
+    };
+    "launch-editor-2.2.1" = {
+      name = "launch-editor";
+      packageName = "launch-editor";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz";
+        sha512 = "On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==";
+      };
+    };
+    "launch-editor-middleware-2.2.1" = {
+      name = "launch-editor-middleware";
+      packageName = "launch-editor-middleware";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz";
+        sha512 = "s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "levenary-1.1.1" = {
+      name = "levenary";
+      packageName = "levenary";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz";
+        sha512 = "mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "lines-and-columns-1.1.6" = {
+      name = "lines-and-columns";
+      packageName = "lines-and-columns";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
+        sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00";
+      };
+    };
+    "load-json-file-1.1.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
+        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+      };
+    };
+    "loader-fs-cache-1.0.3" = {
+      name = "loader-fs-cache";
+      packageName = "loader-fs-cache";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz";
+        sha512 = "ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==";
+      };
+    };
+    "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-0.2.17" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "0.2.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz";
+        sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348";
+      };
+    };
+    "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==";
+      };
+    };
+    "loader-utils-1.4.0" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz";
+        sha512 = "qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "locate-path-5.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
+      };
+    };
+    "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.defaultsdeep-4.6.1" = {
+      name = "lodash.defaultsdeep";
+      packageName = "lodash.defaultsdeep";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz";
+        sha512 = "3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==";
+      };
+    };
+    "lodash.kebabcase-4.1.1" = {
+      name = "lodash.kebabcase";
+      packageName = "lodash.kebabcase";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz";
+        sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36";
+      };
+    };
+    "lodash.mapvalues-4.6.0" = {
+      name = "lodash.mapvalues";
+      packageName = "lodash.mapvalues";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz";
+        sha1 = "1bafa5005de9dd6f4f26668c30ca37230cc9689c";
+      };
+    };
+    "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.transform-4.6.0" = {
+      name = "lodash.transform";
+      packageName = "lodash.transform";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz";
+        sha1 = "12306422f63324aed8483d3f38332b5f670547a0";
+      };
+    };
+    "lodash.uniq-4.5.0" = {
+      name = "lodash.uniq";
+      packageName = "lodash.uniq";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    };
+    "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.8" = {
+      name = "loglevel";
+      packageName = "loglevel";
+      version = "1.6.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz";
+        sha512 = "bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "loud-rejection-1.6.0" = {
+      name = "loud-rejection";
+      packageName = "loud-rejection";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
+        sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+      };
+    };
+    "lower-case-1.1.4" = {
+      name = "lower-case";
+      packageName = "lower-case";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    };
+    "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-2.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
+      };
+    };
+    "make-dir-3.0.2" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz";
+        sha512 = "rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==";
+      };
+    };
+    "make-dir-3.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
+      };
+    };
+    "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-obj-1.0.1" = {
+      name = "map-obj";
+      packageName = "map-obj";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
+        sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+      };
+    };
+    "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";
+      };
+    };
+    "marked-1.1.1" = {
+      name = "marked";
+      packageName = "marked";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz";
+        sha512 = "mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "mdn-data-2.0.4" = {
+      name = "mdn-data";
+      packageName = "mdn-data";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha512 = "iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==";
+      };
+    };
+    "mdn-data-2.0.6" = {
+      name = "mdn-data";
+      packageName = "mdn-data";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz";
+        sha512 = "rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "memory-fs-0.5.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha512 = "jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==";
+      };
+    };
+    "meow-3.7.0" = {
+      name = "meow";
+      packageName = "meow";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";
+        sha1 = "72cb668b425228290abbfa856892587308a801fb";
+      };
+    };
+    "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-source-map-1.1.0" = {
+      name = "merge-source-map";
+      packageName = "merge-source-map";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz";
+        sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "merge2-1.3.0" = {
+      name = "merge2";
+      packageName = "merge2";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz";
+        sha512 = "2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==";
+      };
+    };
+    "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";
+      };
+    };
+    "microevent.ts-0.1.1" = {
+      name = "microevent.ts";
+      packageName = "microevent.ts";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz";
+        sha512 = "jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "micromatch-4.0.2" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
+        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
+      };
+    };
+    "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.6" = {
+      name = "mime";
+      packageName = "mime";
+      version = "2.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz";
+        sha512 = "RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==";
+      };
+    };
+    "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-db-1.44.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.44.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
+        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+      };
+    };
+    "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";
+      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==";
+      };
+    };
+    "mini-css-extract-plugin-0.9.0" = {
+      name = "mini-css-extract-plugin";
+      packageName = "mini-css-extract-plugin";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz";
+        sha512 = "lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==";
+      };
+    };
+    "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.5" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+      };
+    };
+    "minipass-3.1.3" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz";
+        sha512 = "Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==";
+      };
+    };
+    "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-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-pipeline-1.2.3" = {
+      name = "minipass-pipeline";
+      packageName = "minipass-pipeline";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz";
+        sha512 = "cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "mkdirp-0.5.4" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz";
+        sha512 = "iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==";
+      };
+    };
+    "mkdirp-0.5.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "mute-stream-0.0.8" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz";
+        sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "no-case-2.3.2" = {
+      name = "no-case";
+      packageName = "no-case";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz";
+        sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
+      };
+    };
+    "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-gyp-3.8.0" = {
+      name = "node-gyp";
+      packageName = "node-gyp";
+      version = "3.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz";
+        sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
+      };
+    };
+    "node-ipc-9.1.1" = {
+      name = "node-ipc";
+      packageName = "node-ipc";
+      version = "9.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz";
+        sha512 = "FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==";
+      };
+    };
+    "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-releases-1.1.53" = {
+      name = "node-releases";
+      packageName = "node-releases";
+      version = "1.1.53";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz";
+        sha512 = "wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==";
+      };
+    };
+    "node-releases-1.1.58" = {
+      name = "node-releases";
+      packageName = "node-releases";
+      version = "1.1.58";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz";
+        sha512 = "NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==";
+      };
+    };
+    "node-sass-4.14.1" = {
+      name = "node-sass";
+      packageName = "node-sass";
+      version = "4.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz";
+        sha512 = "sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==";
+      };
+    };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
+    "normalize-package-data-2.5.0" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
+      };
+    };
+    "normalize-path-1.0.0" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz";
+        sha1 = "32d0e472f91ff345701c15a8311018d3b0a90379";
+      };
+    };
+    "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-range-0.1.2" = {
+      name = "normalize-range";
+      packageName = "normalize-range";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    };
+    "normalize-url-1.9.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz";
+        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
+      };
+    };
+    "normalize-url-3.3.0" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==";
+      };
+    };
+    "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";
+      };
+    };
+    "npm-run-path-4.0.1" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "nth-check-1.0.2" = {
+      name = "nth-check";
+      packageName = "nth-check";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz";
+        sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
+      };
+    };
+    "num2fraction-1.2.2" = {
+      name = "num2fraction";
+      packageName = "num2fraction";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    };
+    "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";
+      };
+    };
+    "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.7.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
+      };
+    };
+    "object-is-1.1.2" = {
+      name = "object-is";
+      packageName = "object-is";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz";
+        sha512 = "5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==";
+      };
+    };
+    "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.1.0" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
+        sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==";
+      };
+    };
+    "object.pick-1.3.0" = {
+      name = "object.pick";
+      packageName = "object.pick";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    };
+    "object.values-1.1.1" = {
+      name = "object.values";
+      packageName = "object.values";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz";
+        sha512 = "WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
+    "onetime-5.1.0" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz";
+        sha512 = "5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==";
+      };
+    };
+    "open-6.4.0" = {
+      name = "open";
+      packageName = "open";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-6.4.0.tgz";
+        sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "optionator-0.8.3" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
+      };
+    };
+    "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-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-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-finally-2.0.1" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz";
+        sha512 = "vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==";
+      };
+    };
+    "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-limit-2.3.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
+        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
+      };
+    };
+    "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-locate-4.1.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
+      };
+    };
+    "p-map-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-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-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-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.11" = {
+      name = "pako";
+      packageName = "pako";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
+        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "param-case-2.1.1" = {
+      name = "param-case";
+      packageName = "param-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    };
+    "parent-module-1.0.1" = {
+      name = "parent-module";
+      packageName = "parent-module";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
+        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
+      };
+    };
+    "parse-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-2.2.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    };
+    "parse-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-json-5.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz";
+        sha512 = "OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==";
+      };
+    };
+    "parse5-5.1.1" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz";
+        sha512 = "ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==";
+      };
+    };
+    "parse5-htmlparser2-tree-adapter-5.1.1" = {
+      name = "parse5-htmlparser2-tree-adapter";
+      packageName = "parse5-htmlparser2-tree-adapter";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz";
+        sha512 = "CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==";
+      };
+    };
+    "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-2.1.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    };
+    "path-exists-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-exists-4.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "path-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-key-3.1.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
+      };
+    };
+    "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-type-1.1.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
+        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+      };
+    };
+    "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";
+      };
+    };
+    "picomatch-2.2.2" = {
+      name = "picomatch";
+      packageName = "picomatch";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz";
+        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
+      };
+    };
+    "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";
+      };
+    };
+    "pkg-dir-1.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    };
+    "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==";
+      };
+    };
+    "pkg-dir-4.2.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
+      };
+    };
+    "pkg-up-2.0.0" = {
+      name = "pkg-up";
+      packageName = "pkg-up";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    };
+    "pnp-webpack-plugin-1.6.4" = {
+      name = "pnp-webpack-plugin";
+      packageName = "pnp-webpack-plugin";
+      version = "1.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz";
+        sha512 = "7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==";
+      };
+    };
+    "portfinder-1.0.26" = {
+      name = "portfinder";
+      packageName = "portfinder";
+      version = "1.0.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz";
+        sha512 = "Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "postcss-7.0.32" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "7.0.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz";
+        sha512 = "03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==";
+      };
+    };
+    "postcss-calc-7.0.2" = {
+      name = "postcss-calc";
+      packageName = "postcss-calc";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz";
+        sha512 = "rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==";
+      };
+    };
+    "postcss-colormin-4.0.3" = {
+      name = "postcss-colormin";
+      packageName = "postcss-colormin";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha512 = "WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==";
+      };
+    };
+    "postcss-convert-values-4.0.1" = {
+      name = "postcss-convert-values";
+      packageName = "postcss-convert-values";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha512 = "Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==";
+      };
+    };
+    "postcss-discard-comments-4.0.2" = {
+      name = "postcss-discard-comments";
+      packageName = "postcss-discard-comments";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha512 = "RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==";
+      };
+    };
+    "postcss-discard-duplicates-4.0.2" = {
+      name = "postcss-discard-duplicates";
+      packageName = "postcss-discard-duplicates";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha512 = "ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==";
+      };
+    };
+    "postcss-discard-empty-4.0.1" = {
+      name = "postcss-discard-empty";
+      packageName = "postcss-discard-empty";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==";
+      };
+    };
+    "postcss-discard-overridden-4.0.1" = {
+      name = "postcss-discard-overridden";
+      packageName = "postcss-discard-overridden";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha512 = "IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==";
+      };
+    };
+    "postcss-load-config-2.1.0" = {
+      name = "postcss-load-config";
+      packageName = "postcss-load-config";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
+        sha512 = "4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==";
+      };
+    };
+    "postcss-loader-3.0.0" = {
+      name = "postcss-loader";
+      packageName = "postcss-loader";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha512 = "cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==";
+      };
+    };
+    "postcss-merge-longhand-4.0.11" = {
+      name = "postcss-merge-longhand";
+      packageName = "postcss-merge-longhand";
+      version = "4.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha512 = "alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==";
+      };
+    };
+    "postcss-merge-rules-4.0.3" = {
+      name = "postcss-merge-rules";
+      packageName = "postcss-merge-rules";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha512 = "U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==";
+      };
+    };
+    "postcss-minify-font-values-4.0.2" = {
+      name = "postcss-minify-font-values";
+      packageName = "postcss-minify-font-values";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha512 = "j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==";
+      };
+    };
+    "postcss-minify-gradients-4.0.2" = {
+      name = "postcss-minify-gradients";
+      packageName = "postcss-minify-gradients";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha512 = "qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==";
+      };
+    };
+    "postcss-minify-params-4.0.2" = {
+      name = "postcss-minify-params";
+      packageName = "postcss-minify-params";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha512 = "G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==";
+      };
+    };
+    "postcss-minify-selectors-4.0.2" = {
+      name = "postcss-minify-selectors";
+      packageName = "postcss-minify-selectors";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha512 = "D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==";
+      };
+    };
+    "postcss-modules-extract-imports-2.0.0" = {
+      name = "postcss-modules-extract-imports";
+      packageName = "postcss-modules-extract-imports";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
+        sha512 = "LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==";
+      };
+    };
+    "postcss-modules-local-by-default-3.0.2" = {
+      name = "postcss-modules-local-by-default";
+      packageName = "postcss-modules-local-by-default";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz";
+        sha512 = "jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==";
+      };
+    };
+    "postcss-modules-scope-2.2.0" = {
+      name = "postcss-modules-scope";
+      packageName = "postcss-modules-scope";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz";
+        sha512 = "YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==";
+      };
+    };
+    "postcss-modules-values-3.0.0" = {
+      name = "postcss-modules-values";
+      packageName = "postcss-modules-values";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz";
+        sha512 = "1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==";
+      };
+    };
+    "postcss-normalize-charset-4.0.1" = {
+      name = "postcss-normalize-charset";
+      packageName = "postcss-normalize-charset";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha512 = "gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==";
+      };
+    };
+    "postcss-normalize-display-values-4.0.2" = {
+      name = "postcss-normalize-display-values";
+      packageName = "postcss-normalize-display-values";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha512 = "3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==";
+      };
+    };
+    "postcss-normalize-positions-4.0.2" = {
+      name = "postcss-normalize-positions";
+      packageName = "postcss-normalize-positions";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha512 = "Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==";
+      };
+    };
+    "postcss-normalize-repeat-style-4.0.2" = {
+      name = "postcss-normalize-repeat-style";
+      packageName = "postcss-normalize-repeat-style";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha512 = "qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==";
+      };
+    };
+    "postcss-normalize-string-4.0.2" = {
+      name = "postcss-normalize-string";
+      packageName = "postcss-normalize-string";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha512 = "RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==";
+      };
+    };
+    "postcss-normalize-timing-functions-4.0.2" = {
+      name = "postcss-normalize-timing-functions";
+      packageName = "postcss-normalize-timing-functions";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha512 = "acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==";
+      };
+    };
+    "postcss-normalize-unicode-4.0.1" = {
+      name = "postcss-normalize-unicode";
+      packageName = "postcss-normalize-unicode";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha512 = "od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==";
+      };
+    };
+    "postcss-normalize-url-4.0.1" = {
+      name = "postcss-normalize-url";
+      packageName = "postcss-normalize-url";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha512 = "p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==";
+      };
+    };
+    "postcss-normalize-whitespace-4.0.2" = {
+      name = "postcss-normalize-whitespace";
+      packageName = "postcss-normalize-whitespace";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha512 = "tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==";
+      };
+    };
+    "postcss-ordered-values-4.1.2" = {
+      name = "postcss-ordered-values";
+      packageName = "postcss-ordered-values";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha512 = "2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==";
+      };
+    };
+    "postcss-reduce-initial-4.0.3" = {
+      name = "postcss-reduce-initial";
+      packageName = "postcss-reduce-initial";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha512 = "gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==";
+      };
+    };
+    "postcss-reduce-transforms-4.0.2" = {
+      name = "postcss-reduce-transforms";
+      packageName = "postcss-reduce-transforms";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha512 = "EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==";
+      };
+    };
+    "postcss-selector-parser-3.1.2" = {
+      name = "postcss-selector-parser";
+      packageName = "postcss-selector-parser";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz";
+        sha512 = "h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==";
+      };
+    };
+    "postcss-selector-parser-6.0.2" = {
+      name = "postcss-selector-parser";
+      packageName = "postcss-selector-parser";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha512 = "36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==";
+      };
+    };
+    "postcss-svgo-4.0.2" = {
+      name = "postcss-svgo";
+      packageName = "postcss-svgo";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha512 = "C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==";
+      };
+    };
+    "postcss-unique-selectors-4.0.1" = {
+      name = "postcss-unique-selectors";
+      packageName = "postcss-unique-selectors";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==";
+      };
+    };
+    "postcss-value-parser-3.3.1" = {
+      name = "postcss-value-parser";
+      packageName = "postcss-value-parser";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==";
+      };
+    };
+    "postcss-value-parser-4.1.0" = {
+      name = "postcss-value-parser";
+      packageName = "postcss-value-parser";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
+        sha512 = "97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
+    "prettier-1.19.1" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+        sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
+      };
+    };
+    "prettier-linter-helpers-1.0.0" = {
+      name = "prettier-linter-helpers";
+      packageName = "prettier-linter-helpers";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
+        sha512 = "GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==";
+      };
+    };
+    "pretty-error-2.1.1" = {
+      name = "pretty-error";
+      packageName = "pretty-error";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    };
+    "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==";
+      };
+    };
+    "progress-2.0.3" = {
+      name = "progress";
+      packageName = "progress";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
+        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
+      };
+    };
+    "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";
+      };
+    };
+    "proxy-addr-2.0.6" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
+        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+      };
+    };
+    "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.6.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-4.3.4" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz";
+        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
+      };
+    };
+    "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==";
+      };
+    };
+    "read-pkg-1.1.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
+        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+      };
+    };
+    "read-pkg-5.2.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";
+        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
+      };
+    };
+    "read-pkg-up-1.0.1" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+      };
+    };
+    "readable-stream-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.6.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
+        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
+      };
+    };
+    "readdirp-2.2.1" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
+      };
+    };
+    "readdirp-3.4.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz";
+        sha512 = "0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==";
+      };
+    };
+    "redent-1.0.0" = {
+      name = "redent";
+      packageName = "redent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
+        sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
+      };
+    };
+    "regenerate-1.4.1" = {
+      name = "regenerate";
+      packageName = "regenerate";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz";
+        sha512 = "j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==";
+      };
+    };
+    "regenerate-unicode-properties-8.2.0" = {
+      name = "regenerate-unicode-properties";
+      packageName = "regenerate-unicode-properties";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz";
+        sha512 = "F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==";
+      };
+    };
+    "regenerator-runtime-0.13.5" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.13.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz";
+        sha512 = "ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==";
+      };
+    };
+    "regenerator-transform-0.14.4" = {
+      name = "regenerator-transform";
+      packageName = "regenerator-transform";
+      version = "0.14.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz";
+        sha512 = "EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "regexp.prototype.flags-1.3.0" = {
+      name = "regexp.prototype.flags";
+      packageName = "regexp.prototype.flags";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
+        sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==";
+      };
+    };
+    "regexpp-2.0.1" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz";
+        sha512 = "lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==";
+      };
+    };
+    "regexpp-3.1.0" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz";
+        sha512 = "ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==";
+      };
+    };
+    "regexpu-core-4.7.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz";
+        sha512 = "TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==";
+      };
+    };
+    "regjsgen-0.5.2" = {
+      name = "regjsgen";
+      packageName = "regjsgen";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz";
+        sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
+      };
+    };
+    "regjsparser-0.6.4" = {
+      name = "regjsparser";
+      packageName = "regjsparser";
+      version = "0.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz";
+        sha512 = "64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==";
+      };
+    };
+    "relateurl-0.2.7" = {
+      name = "relateurl";
+      packageName = "relateurl";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    };
+    "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";
+      };
+    };
+    "renderkid-2.0.3" = {
+      name = "renderkid";
+      packageName = "renderkid";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz";
+        sha512 = "z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==";
+      };
+    };
+    "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.2" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
+        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-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";
+      };
+    };
+    "resize-observer-polyfill-1.5.1" = {
+      name = "resize-observer-polyfill";
+      packageName = "resize-observer-polyfill";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
+        sha512 = "LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==";
+      };
+    };
+    "resolve-1.14.1" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
+      };
+    };
+    "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-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-from-4.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
+      };
+    };
+    "resolve-url-0.2.1" = {
+      name = "resolve-url";
+      packageName = "resolve-url";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    };
+    "restore-cursor-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";
+      };
+    };
+    "restore-cursor-3.1.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz";
+        sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
+      };
+    };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+      };
+    };
+    "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";
+      };
+    };
+    "rgb-regex-1.0.1" = {
+      name = "rgb-regex";
+      packageName = "rgb-regex";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    };
+    "rgba-regex-1.0.0" = {
+      name = "rgba-regex";
+      packageName = "rgba-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    };
+    "rimraf-2.6.3" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+      };
+    };
+    "rimraf-2.7.1" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+      };
+    };
+    "rimraf-3.0.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
+        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "run-async-2.3.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    };
+    "run-async-2.4.1" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz";
+        sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "sass-graph-2.2.5" = {
+      name = "sass-graph";
+      packageName = "sass-graph";
+      version = "2.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz";
+        sha512 = "VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==";
+      };
+    };
+    "sass-loader-8.0.2" = {
+      name = "sass-loader";
+      packageName = "sass-loader";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz";
+        sha512 = "7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "schema-utils-2.6.1" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz";
+        sha512 = "0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==";
+      };
+    };
+    "schema-utils-2.7.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz";
+        sha512 = "0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==";
+      };
+    };
+    "scss-tokenizer-0.2.3" = {
+      name = "scss-tokenizer";
+      packageName = "scss-tokenizer";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz";
+        sha1 = "8eb06db9a9723333824d3f5530641149847ce5d1";
+      };
+    };
+    "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.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    };
+    "semver-5.7.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "semver-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-7.3.2" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz";
+        sha512 = "OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==";
+      };
+    };
+    "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-2.1.2" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
+        sha512 = "rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==";
+      };
+    };
+    "serialize-javascript-3.1.0" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz";
+        sha512 = "JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-command-2.0.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
+      };
+    };
+    "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";
+      };
+    };
+    "shebang-regex-3.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
+      };
+    };
+    "shell-quote-1.7.2" = {
+      name = "shell-quote";
+      packageName = "shell-quote";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";
+        sha512 = "mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==";
+      };
+    };
+    "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-swizzle-0.2.2" = {
+      name = "simple-swizzle";
+      packageName = "simple-swizzle";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    };
+    "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==";
+      };
+    };
+    "slice-ansi-2.1.0" = {
+      name = "slice-ansi";
+      packageName = "slice-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+      };
+    };
+    "snapdragon-0.8.2" = {
+      name = "snapdragon";
+      packageName = "snapdragon";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
+      };
+    };
+    "snapdragon-node-2.1.1" = {
+      name = "snapdragon-node";
+      packageName = "snapdragon-node";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
+      };
+    };
+    "snapdragon-util-3.0.1" = {
+      name = "snapdragon-util";
+      packageName = "snapdragon-util";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
+      };
+    };
+    "sockjs-0.3.20" = {
+      name = "sockjs";
+      packageName = "sockjs";
+      version = "0.3.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz";
+        sha512 = "SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==";
+      };
+    };
+    "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-1.1.2" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz";
+        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
+      };
+    };
+    "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.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "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-0.7.3" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz";
+        sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
+      };
+    };
+    "source-map-resolve-0.5.3" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
+      };
+    };
+    "source-map-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";
+      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.2" = {
+      name = "spdy";
+      packageName = "spdy";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz";
+        sha512 = "r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "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";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz";
+        sha512 = "ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==";
+      };
+    };
+    "stackframe-1.2.0" = {
+      name = "stackframe";
+      packageName = "stackframe";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz";
+        sha512 = "GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==";
+      };
+    };
+    "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";
+      };
+    };
+    "stdout-stream-1.4.1" = {
+      name = "stdout-stream";
+      packageName = "stdout-stream";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz";
+        sha512 = "j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==";
+      };
+    };
+    "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.1" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
+        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
+      };
+    };
+    "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-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-width-4.2.0" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz";
+        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
+      };
+    };
+    "string.prototype.trimend-1.0.1" = {
+      name = "string.prototype.trimend";
+      packageName = "string.prototype.trimend";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz";
+        sha512 = "LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==";
+      };
+    };
+    "string.prototype.trimleft-2.1.1" = {
+      name = "string.prototype.trimleft";
+      packageName = "string.prototype.trimleft";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
+        sha512 = "iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==";
+      };
+    };
+    "string.prototype.trimright-2.1.1" = {
+      name = "string.prototype.trimright";
+      packageName = "string.prototype.trimright";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
+        sha512 = "qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==";
+      };
+    };
+    "string.prototype.trimstart-1.0.1" = {
+      name = "string.prototype.trimstart";
+      packageName = "string.prototype.trimstart";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz";
+        sha512 = "XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==";
+      };
+    };
+    "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-ansi-6.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
+        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
+      };
+    };
+    "strip-bom-2.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
+        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+      };
+    };
+    "strip-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";
+      };
+    };
+    "strip-final-newline-2.0.0" = {
+      name = "strip-final-newline";
+      packageName = "strip-final-newline";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
+        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
+      };
+    };
+    "strip-indent-1.0.1" = {
+      name = "strip-indent";
+      packageName = "strip-indent";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
+        sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
+      };
+    };
+    "strip-indent-2.0.0" = {
+      name = "strip-indent";
+      packageName = "strip-indent";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz";
+        sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68";
+      };
+    };
+    "strip-json-comments-3.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha512 = "VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==";
+      };
+    };
+    "stylehacks-4.0.3" = {
+      name = "stylehacks";
+      packageName = "stylehacks";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "svg-tags-1.0.0" = {
+      name = "svg-tags";
+      packageName = "svg-tags";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz";
+        sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764";
+      };
+    };
+    "svgo-1.3.2" = {
+      name = "svgo";
+      packageName = "svgo";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
+        sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
+      };
+    };
+    "table-5.4.6" = {
+      name = "table";
+      packageName = "table";
+      version = "5.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz";
+        sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
+      };
+    };
+    "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==";
+      };
+    };
+    "tar-2.2.2" = {
+      name = "tar";
+      packageName = "tar";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz";
+        sha512 = "FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==";
+      };
+    };
+    "terser-4.6.10" = {
+      name = "terser";
+      packageName = "terser";
+      version = "4.6.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz";
+        sha512 = "qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==";
+      };
+    };
+    "terser-4.8.0" = {
+      name = "terser";
+      packageName = "terser";
+      version = "4.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz";
+        sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
+      };
+    };
+    "terser-webpack-plugin-1.4.3" = {
+      name = "terser-webpack-plugin";
+      packageName = "terser-webpack-plugin";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
+        sha512 = "QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==";
+      };
+    };
+    "terser-webpack-plugin-2.3.7" = {
+      name = "terser-webpack-plugin";
+      packageName = "terser-webpack-plugin";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz";
+        sha512 = "xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==";
+      };
+    };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
+    "thenify-3.3.1" = {
+      name = "thenify";
+      packageName = "thenify";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz";
+        sha512 = "RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==";
+      };
+    };
+    "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";
+      };
+    };
+    "thread-loader-2.1.3" = {
+      name = "thread-loader";
+      packageName = "thread-loader";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz";
+        sha512 = "wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==";
+      };
+    };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
+    "through2-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.1.0" = {
+      name = "thunky";
+      packageName = "thunky";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
+        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "timsort-0.3.0" = {
+      name = "timsort";
+      packageName = "timsort";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    };
+    "tmp-0.0.33" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
+      };
+    };
+    "to-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-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";
+      };
+    };
+    "to-regex-range-5.0.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "toposort-1.0.7" = {
+      name = "toposort";
+      packageName = "toposort";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz";
+        sha1 = "2e68442d9f64ec720b8cc89e6443ac6caa950029";
+      };
+    };
+    "tough-cookie-2.5.0" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
+      };
+    };
+    "trim-newlines-1.0.0" = {
+      name = "trim-newlines";
+      packageName = "trim-newlines";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
+        sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
+      };
+    };
+    "true-case-path-1.0.3" = {
+      name = "true-case-path";
+      packageName = "true-case-path";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz";
+        sha512 = "m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==";
+      };
+    };
+    "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-loader-6.2.2" = {
+      name = "ts-loader";
+      packageName = "ts-loader";
+      version = "6.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz";
+        sha512 = "HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==";
+      };
+    };
+    "ts-pnp-1.2.0" = {
+      name = "ts-pnp";
+      packageName = "ts-pnp";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz";
+        sha512 = "csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "tslint-5.20.1" = {
+      name = "tslint";
+      packageName = "tslint";
+      version = "5.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
+      };
+    };
+    "tsutils-2.29.0" = {
+      name = "tsutils";
+      packageName = "tsutils";
+      version = "2.29.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz";
+        sha512 = "g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==";
+      };
+    };
+    "tsutils-3.17.1" = {
+      name = "tsutils";
+      packageName = "tsutils";
+      version = "3.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz";
+        sha512 = "kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==";
+      };
+    };
+    "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-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-fest-0.6.0" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";
+        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
+      };
+    };
+    "type-fest-0.8.1" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
+        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
+      };
+    };
+    "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";
+      };
+    };
+    "typescript-3.9.5" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.9.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz";
+        sha512 = "hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==";
+      };
+    };
+    "uglify-js-3.4.10" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz";
+        sha512 = "Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==";
+      };
+    };
+    "unicode-canonical-property-names-ecmascript-1.0.4" = {
+      name = "unicode-canonical-property-names-ecmascript";
+      packageName = "unicode-canonical-property-names-ecmascript";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha512 = "jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==";
+      };
+    };
+    "unicode-match-property-ecmascript-1.0.4" = {
+      name = "unicode-match-property-ecmascript";
+      packageName = "unicode-match-property-ecmascript";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha512 = "L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==";
+      };
+    };
+    "unicode-match-property-value-ecmascript-1.2.0" = {
+      name = "unicode-match-property-value-ecmascript";
+      packageName = "unicode-match-property-value-ecmascript";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz";
+        sha512 = "wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==";
+      };
+    };
+    "unicode-property-aliases-ecmascript-1.1.0" = {
+      name = "unicode-property-aliases-ecmascript";
+      packageName = "unicode-property-aliases-ecmascript";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz";
+        sha512 = "PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "uniq-1.0.1" = {
+      name = "uniq";
+      packageName = "uniq";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    };
+    "uniqs-2.0.0" = {
+      name = "uniqs";
+      packageName = "uniqs";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    };
+    "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==";
+      };
+    };
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+      };
+    };
+    "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";
+      };
+    };
+    "unquote-1.1.1" = {
+      name = "unquote";
+      packageName = "unquote";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    };
+    "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==";
+      };
+    };
+    "upper-case-1.1.3" = {
+      name = "upper-case";
+      packageName = "upper-case";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-loader-2.3.0" = {
+      name = "url-loader";
+      packageName = "url-loader";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz";
+        sha512 = "goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "util.promisify-1.0.1" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz";
+        sha512 = "g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==";
+      };
+    };
+    "utila-0.4.0" = {
+      name = "utila";
+      packageName = "utila";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    };
+    "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==";
+      };
+    };
+    "uuid-3.4.0" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
+      };
+    };
+    "v-lazy-image-1.4.0" = {
+      name = "v-lazy-image";
+      packageName = "v-lazy-image";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v-lazy-image/-/v-lazy-image-1.4.0.tgz";
+        sha512 = "Xp/fM786hdXlP10HatvtNsvvPjW6yOsH17lvVEEuGiNMnyiafT9XVomQRRM4t+IzN21cz3SQcw9cqd486yhpgQ==";
+      };
+    };
+    "v8-compile-cache-2.1.0" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha512 = "usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==";
+      };
+    };
+    "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";
+      };
+    };
+    "vendors-1.0.4" = {
+      name = "vendors";
+      packageName = "vendors";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz";
+        sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==";
+      };
+    };
+    "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.2" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
+        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
+      };
+    };
+    "vue-2.6.12" = {
+      name = "vue";
+      packageName = "vue";
+      version = "2.6.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz";
+        sha512 = "uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==";
+      };
+    };
+    "vue-class-component-7.2.5" = {
+      name = "vue-class-component";
+      packageName = "vue-class-component";
+      version = "7.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.5.tgz";
+        sha512 = "0CSftHY0bDTD+4FbYkuFf6+iKDjZ4h2in2YYJDRMk5daZIjrgT9LjFHvP7Rzqy9/s1pij3zDtTSLRUjsPWMwqg==";
+      };
+    };
+    "vue-cli-plugin-buefy-0.3.7" = {
+      name = "vue-cli-plugin-buefy";
+      packageName = "vue-cli-plugin-buefy";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-cli-plugin-buefy/-/vue-cli-plugin-buefy-0.3.7.tgz";
+        sha512 = "w+1Wnj1VmoLJmv0yHoLUErnFkLSzz4yTGhCz7GudDKX7vB5NpVK+/xWmiFOytuDkleWeYrJgHN8CIOY7xe26jQ==";
+      };
+    };
+    "vue-cli-plugin-fontawesome-0.2.0" = {
+      name = "vue-cli-plugin-fontawesome";
+      packageName = "vue-cli-plugin-fontawesome";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-cli-plugin-fontawesome/-/vue-cli-plugin-fontawesome-0.2.0.tgz";
+        sha512 = "/4DzKldf4e6CcZ1E3hO19ZFVX36DqjewCytzXekpBL74KFcpWAFaAZEJkisPfMVsalbVn6AOk27VOA8nfnZAFg==";
+      };
+    };
+    "vue-cli-plugin-i18n-1.0.1" = {
+      name = "vue-cli-plugin-i18n";
+      packageName = "vue-cli-plugin-i18n";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-1.0.1.tgz";
+        sha512 = "sLo6YzudaWgn5dOMvrKixE5bb/onYGxcxm+0YexqoOx0QtR+7hZ/P5WPFBMM9v/2i1ec2YYe2PvKTBel7KE+tA==";
+      };
+    };
+    "vue-dragscroll-2.1.0" = {
+      name = "vue-dragscroll";
+      packageName = "vue-dragscroll";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-dragscroll/-/vue-dragscroll-2.1.0.tgz";
+        sha512 = "ZNcvOdrnq9w4US2RqZOfp2cCJzEz1p4xZ1w4I+xKSAFlEOrXbryLe/iclspHH57dco5QT3Azd8/KD930WzadiQ==";
+      };
+    };
+    "vue-eslint-parser-7.0.0" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz";
+        sha512 = "yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g==";
+      };
+    };
+    "vue-hot-reload-api-2.3.4" = {
+      name = "vue-hot-reload-api";
+      packageName = "vue-hot-reload-api";
+      version = "2.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz";
+        sha512 = "BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==";
+      };
+    };
+    "vue-i18n-8.21.0" = {
+      name = "vue-i18n";
+      packageName = "vue-i18n";
+      version = "8.21.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.21.0.tgz";
+        sha512 = "pKBq6Kg5hNacFHMFgPbpYsFlDIMRu4Ew/tpvTWns14CZoCxt7B3tmSNdrLruGMMivnJu1rhhRqsQqT6YwHkuQQ==";
+      };
+    };
+    "vue-i18n-extract-1.0.2" = {
+      name = "vue-i18n-extract";
+      packageName = "vue-i18n-extract";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz";
+        sha512 = "+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw==";
+      };
+    };
+    "vue-loader-15.9.3" = {
+      name = "vue-loader";
+      packageName = "vue-loader";
+      version = "15.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz";
+        sha512 = "Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==";
+      };
+    };
+    "vue-property-decorator-9.0.0" = {
+      name = "vue-property-decorator";
+      packageName = "vue-property-decorator";
+      version = "9.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-9.0.0.tgz";
+        sha512 = "oegTNPItuHOkW0AP1MnbdNwkmyhfsUIIXvIRHpgC18tVoEo21/i6kItyeekjMs8JgZJeuHzsaTc/DZaJFH4IWQ==";
+      };
+    };
+    "vue-router-3.4.3" = {
+      name = "vue-router";
+      packageName = "vue-router";
+      version = "3.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-router/-/vue-router-3.4.3.tgz";
+        sha512 = "BADg1mjGWX18Dpmy6bOGzGNnk7B/ZA0RxuA6qedY/YJwirMfKXIDzcccmHbQI0A6k5PzMdMloc0ElHfyOoX35A==";
+      };
+    };
+    "vue-style-loader-4.1.2" = {
+      name = "vue-style-loader";
+      packageName = "vue-style-loader";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz";
+        sha512 = "0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==";
+      };
+    };
+    "vue-template-compiler-2.6.12" = {
+      name = "vue-template-compiler";
+      packageName = "vue-template-compiler";
+      version = "2.6.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz";
+        sha512 = "OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==";
+      };
+    };
+    "vue-template-es2015-compiler-1.9.1" = {
+      name = "vue-template-es2015-compiler";
+      packageName = "vue-template-es2015-compiler";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz";
+        sha512 = "4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==";
+      };
+    };
+    "vuex-3.5.1" = {
+      name = "vuex";
+      packageName = "vuex";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz";
+        sha512 = "w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==";
+      };
+    };
+    "vuex-class-component-2.3.5" = {
+      name = "vuex-class-component";
+      packageName = "vuex-class-component";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuex-class-component/-/vuex-class-component-2.3.5.tgz";
+        sha512 = "e7BhLrh5jZNHoeUajfQ5NFwA9gnVj69HKxBGRiw6FRZVpXTGewPo23S1//lb5Ed1RucIfQlqfwVpC/2mtej6bw==";
+      };
+    };
+    "watchpack-1.6.1" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz";
+        sha512 = "+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==";
+      };
+    };
+    "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";
+      };
+    };
+    "webpack-4.42.1" = {
+      name = "webpack";
+      packageName = "webpack";
+      version = "4.42.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.42.1.tgz";
+        sha512 = "SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg==";
+      };
+    };
+    "webpack-bundle-analyzer-3.8.0" = {
+      name = "webpack-bundle-analyzer";
+      packageName = "webpack-bundle-analyzer";
+      version = "3.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz";
+        sha512 = "PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==";
+      };
+    };
+    "webpack-chain-6.4.0" = {
+      name = "webpack-chain";
+      packageName = "webpack-chain";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.4.0.tgz";
+        sha512 = "f97PYqxU+9/u0IUqp/ekAHRhBD1IQwhBv3wlJo2nvyELpr2vNnUqO3XQEk+qneg0uWGP54iciotszpjfnEExFA==";
+      };
+    };
+    "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.11.0" = {
+      name = "webpack-dev-server";
+      packageName = "webpack-dev-server";
+      version = "3.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz";
+        sha512 = "PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==";
+      };
+    };
+    "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-merge-4.2.2" = {
+      name = "webpack-merge";
+      packageName = "webpack-merge";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz";
+        sha512 = "TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==";
+      };
+    };
+    "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-driver-0.6.5" = {
+      name = "websocket-driver";
+      packageName = "websocket-driver";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz";
+        sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
+      };
+    };
+    "websocket-extensions-0.1.4" = {
+      name = "websocket-extensions";
+      packageName = "websocket-extensions";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
+        sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
+      };
+    };
+    "which-1.3.1" = {
+      name = "which";
+      packageName = "which";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+      };
+    };
+    "which-2.0.2" = {
+      name = "which";
+      packageName = "which";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
+    "which-module-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";
+      };
+    };
+    "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==";
+      };
+    };
+    "word-wrap-1.2.3" = {
+      name = "word-wrap";
+      packageName = "word-wrap";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "worker-rpc-0.1.1" = {
+      name = "worker-rpc";
+      packageName = "worker-rpc";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz";
+        sha512 = "P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "wrap-ansi-6.2.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "write-1.0.3" = {
+      name = "write";
+      packageName = "write";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write/-/write-1.0.3.tgz";
+        sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "yargs-13.3.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz";
+        sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
+      };
+    };
+    "yargs-15.3.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "15.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz";
+        sha512 = "92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==";
+      };
+    };
+    "yargs-parser-13.1.2" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
+      };
+    };
+    "yargs-parser-18.1.3" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "18.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz";
+        sha512 = "o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==";
+      };
+    };
+    "yorkie-2.0.0" = {
+      name = "yorkie";
+      packageName = "yorkie";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz";
+        sha512 = "jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==";
+      };
+    };
+  };
+  args = {
+    name = "ldgallery-viewer";
+    packageName = "ldgallery-viewer";
+    version = "2.0.0";
+    src = ./.;
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/compat-data-7.10.3" // {
+        dependencies = [
+          sources."browserslist-4.12.2"
+          sources."caniuse-lite-1.0.30001090"
+          sources."electron-to-chromium-1.3.483"
+          sources."node-releases-1.1.58"
+        ];
+      })
+      (sources."@babel/core-7.10.3" // {
+        dependencies = [
+          sources."@babel/code-frame-7.10.3"
+          sources."@babel/highlight-7.10.3"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."@babel/generator-7.10.3" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."@babel/helper-annotate-as-pure-7.10.1"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.3"
+      (sources."@babel/helper-compilation-targets-7.10.2" // {
+        dependencies = [
+          sources."browserslist-4.12.2"
+          sources."caniuse-lite-1.0.30001090"
+          sources."electron-to-chromium-1.3.483"
+          sources."node-releases-1.1.58"
+        ];
+      })
+      sources."@babel/helper-create-class-features-plugin-7.10.3"
+      sources."@babel/helper-create-regexp-features-plugin-7.10.1"
+      sources."@babel/helper-define-map-7.10.3"
+      sources."@babel/helper-explode-assignable-expression-7.10.3"
+      sources."@babel/helper-function-name-7.10.3"
+      sources."@babel/helper-get-function-arity-7.10.3"
+      sources."@babel/helper-hoist-variables-7.10.3"
+      sources."@babel/helper-member-expression-to-functions-7.10.3"
+      sources."@babel/helper-module-imports-7.10.3"
+      sources."@babel/helper-module-transforms-7.10.1"
+      sources."@babel/helper-optimise-call-expression-7.10.3"
+      sources."@babel/helper-plugin-utils-7.10.3"
+      sources."@babel/helper-regex-7.10.1"
+      sources."@babel/helper-remap-async-to-generator-7.10.3"
+      sources."@babel/helper-replace-supers-7.10.1"
+      sources."@babel/helper-simple-access-7.10.1"
+      sources."@babel/helper-split-export-declaration-7.10.1"
+      sources."@babel/helper-validator-identifier-7.10.3"
+      sources."@babel/helper-wrap-function-7.10.1"
+      sources."@babel/helpers-7.10.1"
+      sources."@babel/highlight-7.5.0"
+      sources."@babel/parser-7.10.3"
+      sources."@babel/plugin-proposal-async-generator-functions-7.10.3"
+      sources."@babel/plugin-proposal-class-properties-7.10.1"
+      sources."@babel/plugin-proposal-decorators-7.10.3"
+      sources."@babel/plugin-proposal-dynamic-import-7.10.1"
+      sources."@babel/plugin-proposal-json-strings-7.10.1"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.10.1"
+      sources."@babel/plugin-proposal-numeric-separator-7.10.1"
+      sources."@babel/plugin-proposal-object-rest-spread-7.10.3"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.10.1"
+      sources."@babel/plugin-proposal-optional-chaining-7.10.3"
+      sources."@babel/plugin-proposal-private-methods-7.10.1"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.10.1"
+      sources."@babel/plugin-syntax-async-generators-7.8.4"
+      sources."@babel/plugin-syntax-class-properties-7.10.1"
+      sources."@babel/plugin-syntax-decorators-7.10.1"
+      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
+      sources."@babel/plugin-syntax-json-strings-7.8.3"
+      sources."@babel/plugin-syntax-jsx-7.10.1"
+      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
+      sources."@babel/plugin-syntax-numeric-separator-7.10.1"
+      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
+      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
+      sources."@babel/plugin-syntax-top-level-await-7.10.1"
+      sources."@babel/plugin-transform-arrow-functions-7.10.1"
+      sources."@babel/plugin-transform-async-to-generator-7.10.1"
+      sources."@babel/plugin-transform-block-scoped-functions-7.10.1"
+      sources."@babel/plugin-transform-block-scoping-7.10.1"
+      sources."@babel/plugin-transform-classes-7.10.3"
+      sources."@babel/plugin-transform-computed-properties-7.10.3"
+      sources."@babel/plugin-transform-destructuring-7.10.1"
+      sources."@babel/plugin-transform-dotall-regex-7.10.1"
+      sources."@babel/plugin-transform-duplicate-keys-7.10.1"
+      sources."@babel/plugin-transform-exponentiation-operator-7.10.1"
+      sources."@babel/plugin-transform-for-of-7.10.1"
+      sources."@babel/plugin-transform-function-name-7.10.1"
+      sources."@babel/plugin-transform-literals-7.10.1"
+      sources."@babel/plugin-transform-member-expression-literals-7.10.1"
+      sources."@babel/plugin-transform-modules-amd-7.10.1"
+      sources."@babel/plugin-transform-modules-commonjs-7.10.1"
+      sources."@babel/plugin-transform-modules-systemjs-7.10.3"
+      sources."@babel/plugin-transform-modules-umd-7.10.1"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.10.3"
+      sources."@babel/plugin-transform-new-target-7.10.1"
+      sources."@babel/plugin-transform-object-super-7.10.1"
+      sources."@babel/plugin-transform-parameters-7.10.1"
+      sources."@babel/plugin-transform-property-literals-7.10.1"
+      sources."@babel/plugin-transform-regenerator-7.10.3"
+      sources."@babel/plugin-transform-reserved-words-7.10.1"
+      sources."@babel/plugin-transform-runtime-7.10.3"
+      sources."@babel/plugin-transform-shorthand-properties-7.10.1"
+      sources."@babel/plugin-transform-spread-7.10.1"
+      sources."@babel/plugin-transform-sticky-regex-7.10.1"
+      sources."@babel/plugin-transform-template-literals-7.10.3"
+      sources."@babel/plugin-transform-typeof-symbol-7.10.1"
+      sources."@babel/plugin-transform-unicode-escapes-7.10.1"
+      sources."@babel/plugin-transform-unicode-regex-7.10.1"
+      (sources."@babel/preset-env-7.10.3" // {
+        dependencies = [
+          sources."browserslist-4.12.2"
+          sources."caniuse-lite-1.0.30001090"
+          sources."electron-to-chromium-1.3.483"
+          sources."node-releases-1.1.58"
+        ];
+      })
+      sources."@babel/preset-modules-0.1.3"
+      sources."@babel/runtime-7.10.3"
+      (sources."@babel/template-7.10.3" // {
+        dependencies = [
+          sources."@babel/code-frame-7.10.3"
+          sources."@babel/highlight-7.10.3"
+        ];
+      })
+      (sources."@babel/traverse-7.10.3" // {
+        dependencies = [
+          sources."@babel/code-frame-7.10.3"
+          sources."@babel/highlight-7.10.3"
+        ];
+      })
+      sources."@babel/types-7.10.3"
+      sources."@fortawesome/fontawesome-common-types-0.2.30"
+      sources."@fortawesome/fontawesome-svg-core-1.2.30"
+      sources."@fortawesome/free-regular-svg-icons-5.14.0"
+      sources."@fortawesome/free-solid-svg-icons-5.14.0"
+      sources."@fortawesome/vue-fontawesome-2.0.0"
+      sources."@hapi/address-2.1.4"
+      sources."@hapi/bourne-1.3.2"
+      sources."@hapi/hoek-8.5.1"
+      sources."@hapi/joi-15.1.1"
+      sources."@hapi/topo-3.1.6"
+      sources."@intervolga/optimize-cssnano-plugin-1.0.6"
+      sources."@mrmlnc/readdir-enhanced-2.2.1"
+      sources."@nodelib/fs.stat-1.1.3"
+      (sources."@soda/friendly-errors-webpack-plugin-1.7.1" // {
+        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."@soda/get-current-script-1.0.2"
+      sources."@types/anymatch-1.3.1"
+      sources."@types/color-name-1.1.1"
+      sources."@types/eslint-visitor-keys-1.0.0"
+      sources."@types/events-3.0.0"
+      sources."@types/glob-7.1.1"
+      sources."@types/hammerjs-2.0.36"
+      sources."@types/json-schema-7.0.4"
+      sources."@types/marked-1.1.0"
+      sources."@types/minimatch-3.0.3"
+      sources."@types/node-13.9.8"
+      sources."@types/normalize-package-data-2.4.0"
+      sources."@types/q-1.5.4"
+      sources."@types/source-list-map-0.1.2"
+      sources."@types/tapable-1.0.6"
+      sources."@types/uglify-js-3.9.3"
+      sources."@types/webpack-4.41.22"
+      sources."@types/webpack-env-1.15.2"
+      (sources."@types/webpack-sources-1.4.2" // {
+        dependencies = [
+          sources."source-map-0.7.3"
+        ];
+      })
+      (sources."@typescript-eslint/eslint-plugin-2.34.0" // {
+        dependencies = [
+          sources."@typescript-eslint/experimental-utils-2.34.0"
+          sources."@typescript-eslint/typescript-estree-2.34.0"
+          sources."eslint-utils-2.1.0"
+          sources."semver-7.3.2"
+        ];
+      })
+      (sources."@typescript-eslint/experimental-utils-2.34.0" // {
+        dependencies = [
+          sources."eslint-utils-2.1.0"
+        ];
+      })
+      sources."@typescript-eslint/parser-2.34.0"
+      (sources."@typescript-eslint/typescript-estree-2.34.0" // {
+        dependencies = [
+          sources."semver-7.3.2"
+        ];
+      })
+      sources."@vue/babel-helper-vue-jsx-merge-props-1.0.0"
+      sources."@vue/babel-plugin-transform-vue-jsx-1.1.2"
+      (sources."@vue/babel-preset-app-4.4.6" // {
+        dependencies = [
+          sources."core-js-3.6.5"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@vue/babel-preset-jsx-1.1.2"
+      sources."@vue/babel-sugar-functional-vue-1.1.2"
+      sources."@vue/babel-sugar-inject-h-1.1.2"
+      sources."@vue/babel-sugar-v-model-1.1.2"
+      sources."@vue/babel-sugar-v-on-1.1.2"
+      sources."@vue/cli-overlay-4.4.6"
+      (sources."@vue/cli-plugin-babel-4.4.6" // {
+        dependencies = [
+          sources."@vue/cli-shared-utils-4.4.6"
+          sources."request-2.88.2"
+          sources."semver-6.3.0"
+          sources."tough-cookie-2.5.0"
+        ];
+      })
+      (sources."@vue/cli-plugin-eslint-4.4.6" // {
+        dependencies = [
+          sources."@vue/cli-shared-utils-4.4.6"
+          sources."ansi-styles-4.2.1"
+          sources."cli-cursor-3.1.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          (sources."inquirer-7.2.0" // {
+            dependencies = [
+              sources."chalk-3.0.0"
+            ];
+          })
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."onetime-5.1.0"
+          sources."request-2.88.2"
+          sources."restore-cursor-3.1.0"
+          sources."run-async-2.4.1"
+          sources."semver-6.3.0"
+          sources."string-width-4.2.0"
+          sources."supports-color-7.1.0"
+          sources."tough-cookie-2.5.0"
+        ];
+      })
+      (sources."@vue/cli-plugin-router-4.4.6" // {
+        dependencies = [
+          sources."@vue/cli-shared-utils-4.4.6"
+          sources."request-2.88.2"
+          sources."semver-6.3.0"
+          sources."tough-cookie-2.5.0"
+        ];
+      })
+      sources."@vue/cli-plugin-typescript-4.4.6"
+      sources."@vue/cli-plugin-vuex-4.4.6"
+      (sources."@vue/cli-service-4.4.6" // {
+        dependencies = [
+          sources."@vue/cli-plugin-router-4.4.6"
+          sources."@vue/cli-plugin-vuex-4.4.6"
+          sources."@vue/cli-shared-utils-4.4.6"
+          sources."acorn-7.3.1"
+          sources."ajv-6.12.2"
+          sources."browserslist-4.12.2"
+          sources."cacache-13.0.1"
+          sources."caniuse-lite-1.0.30001090"
+          sources."cliui-6.0.0"
+          sources."electron-to-chromium-1.3.483"
+          sources."fast-deep-equal-3.1.3"
+          sources."find-cache-dir-3.3.1"
+          sources."find-up-4.1.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."locate-path-5.0.0"
+          sources."make-dir-3.1.0"
+          sources."node-releases-1.1.58"
+          sources."p-limit-2.3.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."pkg-dir-4.2.0"
+          sources."request-2.88.2"
+          sources."schema-utils-2.7.0"
+          sources."semver-6.3.0"
+          sources."serialize-javascript-3.1.0"
+          sources."ssri-7.1.0"
+          sources."string-width-4.2.0"
+          sources."terser-4.8.0"
+          sources."terser-webpack-plugin-2.3.7"
+          sources."tough-cookie-2.5.0"
+        ];
+      })
+      (sources."@vue/cli-shared-utils-4.4.6" // {
+        dependencies = [
+          sources."request-2.88.2"
+          sources."semver-6.3.0"
+          sources."tough-cookie-2.5.0"
+        ];
+      })
+      (sources."@vue/component-compiler-utils-3.1.2" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."@vue/eslint-config-typescript-5.0.2"
+      sources."@vue/preload-webpack-plugin-1.1.1"
+      sources."@vue/web-component-wrapper-1.2.0"
+      sources."@webassemblyjs/ast-1.9.0"
+      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
+      sources."@webassemblyjs/helper-api-error-1.9.0"
+      sources."@webassemblyjs/helper-buffer-1.9.0"
+      sources."@webassemblyjs/helper-code-frame-1.9.0"
+      sources."@webassemblyjs/helper-fsm-1.9.0"
+      sources."@webassemblyjs/helper-module-context-1.9.0"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
+      sources."@webassemblyjs/helper-wasm-section-1.9.0"
+      sources."@webassemblyjs/ieee754-1.9.0"
+      sources."@webassemblyjs/leb128-1.9.0"
+      sources."@webassemblyjs/utf8-1.9.0"
+      sources."@webassemblyjs/wasm-edit-1.9.0"
+      sources."@webassemblyjs/wasm-gen-1.9.0"
+      sources."@webassemblyjs/wasm-opt-1.9.0"
+      sources."@webassemblyjs/wasm-parser-1.9.0"
+      sources."@webassemblyjs/wast-parser-1.9.0"
+      sources."@webassemblyjs/wast-printer-1.9.0"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."abbrev-1.1.1"
+      sources."accepts-1.3.7"
+      sources."acorn-6.4.1"
+      sources."acorn-jsx-5.1.0"
+      sources."acorn-walk-7.2.0"
+      sources."address-1.1.2"
+      sources."aggregate-error-3.0.1"
+      sources."ajv-6.10.2"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.4.1"
+      sources."alphanum-sort-1.0.2"
+      sources."amdefine-1.0.1"
+      sources."ansi-colors-3.2.4"
+      (sources."ansi-escapes-4.3.0" // {
+        dependencies = [
+          sources."type-fest-0.8.1"
+        ];
+      })
+      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" // {
+        dependencies = [
+          sources."normalize-path-2.1.1"
+        ];
+      })
+      sources."aproba-1.2.0"
+      sources."arch-2.1.2"
+      sources."are-we-there-yet-1.1.5"
+      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-find-index-1.0.2"
+      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."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-2.6.3"
+      sources."async-each-1.0.3"
+      sources."async-foreach-0.1.3"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      (sources."autoprefixer-9.8.4" // {
+        dependencies = [
+          sources."browserslist-4.12.2"
+          sources."caniuse-lite-1.0.30001090"
+          sources."electron-to-chromium-1.3.483"
+          sources."node-releases-1.1.58"
+        ];
+      })
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.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."js-tokens-3.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."babel-loader-8.1.0" // {
+        dependencies = [
+          sources."ajv-6.12.2"
+          sources."emojis-list-3.0.0"
+          sources."fast-deep-equal-3.1.3"
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
+          sources."mkdirp-0.5.5"
+          sources."schema-utils-2.7.0"
+        ];
+      })
+      sources."babel-plugin-dynamic-import-node-2.3.3"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+        ];
+      })
+      sources."base64-js-1.3.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."bindings-1.5.0"
+      sources."block-stream-0.0.9"
+      sources."bluebird-3.7.2"
+      sources."bn.js-4.11.8"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."qs-6.7.0"
+        ];
+      })
+      (sources."bonjour-3.5.0" // {
+        dependencies = [
+          sources."array-flatten-2.1.2"
+        ];
+      })
+      sources."boolbase-1.0.0"
+      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.11.1"
+      sources."buefy-0.8.15"
+      sources."buffer-4.9.2"
+      sources."buffer-from-1.1.1"
+      sources."buffer-indexof-1.1.1"
+      sources."buffer-json-2.0.0"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-modules-1.1.1"
+      sources."builtin-status-codes-3.0.0"
+      sources."bulma-0.7.5"
+      sources."bytes-3.1.0"
+      sources."cacache-12.0.4"
+      sources."cache-base-1.0.1"
+      (sources."cache-loader-4.1.0" // {
+        dependencies = [
+          sources."find-cache-dir-3.3.1"
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
+          sources."make-dir-3.0.2"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."pkg-dir-4.2.0"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."call-me-maybe-1.0.1"
+      sources."caller-callsite-2.0.0"
+      sources."caller-path-2.0.0"
+      sources."callsites-2.0.0"
+      sources."camel-case-3.0.0"
+      sources."camelcase-5.3.1"
+      (sources."camelcase-keys-2.1.0" // {
+        dependencies = [
+          sources."camelcase-2.1.1"
+        ];
+      })
+      sources."caniuse-api-3.0.0"
+      sources."caniuse-lite-1.0.30001038"
+      sources."case-sensitive-paths-webpack-plugin-2.3.0"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."chardet-0.7.0"
+      sources."check-types-8.0.3"
+      sources."chokidar-2.1.8"
+      sources."chownr-1.1.4"
+      sources."chrome-trace-event-1.0.2"
+      sources."ci-info-1.6.0"
+      sources."cipher-base-1.0.4"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."clean-css-4.2.3"
+      sources."clean-stack-2.2.0"
+      sources."cli-cursor-2.1.0"
+      (sources."cli-highlight-2.1.4" // {
+        dependencies = [
+          sources."ansi-styles-4.2.1"
+          sources."chalk-3.0.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."cli-spinners-2.2.0"
+      sources."cli-table3-0.5.1"
+      sources."cli-width-2.2.0"
+      (sources."clipboardy-2.3.0" // {
+        dependencies = [
+          sources."is-wsl-2.2.0"
+        ];
+      })
+      (sources."cliui-5.0.0" // {
+        dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."wrap-ansi-5.1.0"
+        ];
+      })
+      sources."clone-1.0.4"
+      sources."clone-deep-4.0.1"
+      sources."coa-2.0.2"
+      sources."code-point-at-1.1.0"
+      sources."collection-visit-1.0.0"
+      sources."color-3.1.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.5.3"
+      sources."colorette-1.2.0"
+      sources."colors-1.4.0"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      (sources."compressible-2.0.18" // {
+        dependencies = [
+          sources."mime-db-1.44.0"
+        ];
+      })
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."bytes-3.0.0"
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."connect-history-api-fallback-1.6.0"
+      sources."console-browserify-1.2.0"
+      sources."console-control-strings-1.1.0"
+      sources."consolidate-0.15.1"
+      sources."constants-browserify-1.0.0"
+      sources."content-disposition-0.5.3"
+      sources."content-type-1.0.4"
+      sources."convert-source-map-1.7.0"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      (sources."copy-webpack-plugin-5.1.1" // {
+        dependencies = [
+          sources."globby-7.1.1"
+          sources."ignore-3.3.10"
+          sources."pify-3.0.0"
+          sources."schema-utils-1.0.0"
+          sources."slash-1.0.0"
+        ];
+      })
+      sources."core-js-3.6.5"
+      (sources."core-js-compat-3.6.5" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      (sources."cosmiconfig-5.2.1" // {
+        dependencies = [
+          sources."parse-json-4.0.0"
+        ];
+      })
+      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."css-color-names-0.0.4"
+      sources."css-declaration-sorter-4.0.1"
+      (sources."css-loader-3.6.0" // {
+        dependencies = [
+          sources."ajv-6.12.2"
+          sources."fast-deep-equal-3.1.3"
+          sources."schema-utils-2.7.0"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."css-select-2.1.0"
+      sources."css-select-base-adapter-0.1.1"
+      sources."css-tree-1.0.0-alpha.37"
+      sources."css-what-3.3.0"
+      sources."cssesc-3.0.0"
+      sources."cssnano-4.1.10"
+      sources."cssnano-preset-default-4.0.7"
+      sources."cssnano-util-get-arguments-4.0.0"
+      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-4.0.3" // {
+        dependencies = [
+          sources."css-tree-1.0.0-alpha.39"
+          sources."mdn-data-2.0.6"
+        ];
+      })
+      sources."currently-unhandled-0.4.1"
+      sources."cyclist-1.0.1"
+      sources."dashdash-1.14.1"
+      sources."de-indent-1.0.2"
+      sources."debug-4.1.1"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."deep-equal-1.1.1"
+      sources."deep-is-0.1.3"
+      sources."deepmerge-1.5.2"
+      (sources."default-gateway-5.0.5" // {
+        dependencies = [
+          sources."cross-spawn-7.0.3"
+          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.1"
+          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."defaults-1.0.3"
+      sources."define-properties-1.1.3"
+      (sources."define-property-2.0.2" // {
+        dependencies = [
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+        ];
+      })
+      (sources."del-4.1.1" // {
+        dependencies = [
+          (sources."globby-6.1.0" // {
+            dependencies = [
+              sources."pify-2.3.0"
+            ];
+          })
+          sources."p-map-2.1.0"
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."des.js-1.0.1"
+      sources."destroy-1.0.4"
+      sources."detect-node-2.0.4"
+      sources."diff-4.0.2"
+      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."doctrine-3.0.0"
+      sources."dom-converter-0.2.0"
+      (sources."dom-serializer-0.2.2" // {
+        dependencies = [
+          sources."domelementtype-2.0.1"
+        ];
+      })
+      sources."domain-browser-1.2.0"
+      sources."domelementtype-1.3.1"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.7.0"
+      sources."dot-object-1.9.0"
+      sources."dot-prop-5.2.0"
+      sources."dotenv-8.2.0"
+      sources."dotenv-expand-5.1.0"
+      sources."duplexer-0.1.1"
+      sources."duplexify-3.7.1"
+      sources."easy-stack-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."ee-first-1.1.1"
+      sources."ejs-2.7.4"
+      sources."electron-to-chromium-1.3.393"
+      sources."elliptic-6.5.2"
+      sources."emoji-regex-8.0.0"
+      sources."emojis-list-2.1.0"
+      sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
+      (sources."enhanced-resolve-4.1.1" // {
+        dependencies = [
+          sources."memory-fs-0.5.0"
+        ];
+      })
+      sources."entities-2.0.3"
+      sources."errno-0.1.7"
+      sources."error-ex-1.3.2"
+      sources."error-stack-parser-2.0.6"
+      sources."es-abstract-1.17.0-next.1"
+      sources."es-to-primitive-1.2.1"
+      sources."escalade-3.0.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      (sources."eslint-6.8.0" // {
+        dependencies = [
+          sources."glob-parent-5.1.0"
+          sources."globals-12.3.0"
+          sources."import-fresh-3.2.1"
+          sources."regexpp-2.0.1"
+          sources."resolve-from-4.0.0"
+          sources."semver-6.3.0"
+          sources."strip-ansi-5.2.0"
+          sources."type-fest-0.8.1"
+        ];
+      })
+      (sources."eslint-config-prettier-6.11.0" // {
+        dependencies = [
+          sources."get-stdin-6.0.0"
+        ];
+      })
+      sources."eslint-loader-2.2.1"
+      sources."eslint-plugin-prettier-3.1.4"
+      sources."eslint-plugin-vue-6.2.2"
+      sources."eslint-scope-5.0.0"
+      sources."eslint-utils-1.4.3"
+      sources."eslint-visitor-keys-1.1.0"
+      sources."esm-3.2.25"
+      (sources."espree-6.1.2" // {
+        dependencies = [
+          sources."acorn-7.1.1"
+        ];
+      })
+      sources."esprima-4.0.1"
+      sources."esquery-1.0.1"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."etag-1.8.1"
+      sources."event-pubsub-4.3.0"
+      sources."eventemitter3-4.0.4"
+      sources."events-3.1.0"
+      sources."eventsource-1.0.7"
+      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."ms-2.0.0"
+        ];
+      })
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."qs-6.7.0"
+        ];
+      })
+      sources."extend-3.0.2"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."external-editor-3.1.0"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+        ];
+      })
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-diff-1.2.0"
+      sources."fast-glob-2.2.7"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."faye-websocket-0.10.0"
+      sources."figgy-pudding-3.5.2"
+      sources."figures-3.1.0"
+      sources."file-entry-cache-5.0.1"
+      sources."file-loader-4.3.0"
+      sources."file-uri-to-path-1.0.0"
+      sources."filesize-3.6.1"
+      (sources."fill-range-4.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."find-cache-dir-2.1.0"
+      sources."find-up-3.0.0"
+      sources."flat-5.0.2"
+      (sources."flat-cache-2.0.1" // {
+        dependencies = [
+          sources."rimraf-2.6.3"
+        ];
+      })
+      sources."flatted-2.0.1"
+      sources."flush-write-stream-1.1.1"
+      sources."follow-redirects-1.12.1"
+      sources."for-in-1.0.2"
+      sources."forever-agent-0.6.1"
+      (sources."fork-ts-checker-webpack-plugin-3.1.1" // {
+        dependencies = [
+          sources."anymatch-3.1.1"
+          sources."binary-extensions-2.1.0"
+          sources."braces-3.0.2"
+          sources."chokidar-3.4.0"
+          sources."fill-range-7.0.1"
+          sources."fsevents-2.1.3"
+          sources."glob-parent-5.1.1"
+          sources."is-binary-path-2.1.0"
+          sources."is-number-7.0.0"
+          sources."readdirp-3.4.0"
+          sources."to-regex-range-5.0.1"
+        ];
+      })
+      sources."form-data-2.3.3"
+      sources."forwarded-0.1.2"
+      sources."fragment-cache-0.2.1"
+      sources."fresh-0.5.2"
+      sources."from2-2.3.0"
+      sources."fs-extra-7.0.1"
+      sources."fs-minipass-2.1.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.12"
+      sources."fstream-1.0.12"
+      sources."function-bind-1.1.1"
+      sources."functional-red-black-tree-1.0.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."gaze-1.1.3"
+      sources."gensync-1.0.0-beta.1"
+      sources."get-caller-file-2.0.5"
+      sources."get-stdin-4.0.1"
+      sources."get-stream-4.1.0"
+      sources."get-value-2.0.6"
+      sources."getpass-0.1.7"
+      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."globals-11.12.0"
+      sources."globby-9.2.0"
+      sources."globule-1.3.2"
+      sources."graceful-fs-4.2.3"
+      sources."gzip-size-5.1.1"
+      sources."hammerjs-2.0.8"
+      sources."handle-thing-2.0.1"
+      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-symbols-1.0.1"
+      sources."has-unicode-2.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-sum-2.0.0"
+      sources."hash.js-1.1.7"
+      sources."he-1.2.0"
+      sources."hex-color-regex-1.1.0"
+      sources."highlight.js-9.18.1"
+      sources."hmac-drbg-1.0.1"
+      sources."hoopy-0.1.4"
+      sources."hosted-git-info-2.8.5"
+      sources."hpack.js-2.1.6"
+      sources."hsl-regex-1.0.0"
+      sources."hsla-regex-1.0.0"
+      sources."html-comment-regex-1.1.2"
+      sources."html-entities-1.3.1"
+      (sources."html-minifier-3.5.21" // {
+        dependencies = [
+          sources."commander-2.17.1"
+        ];
+      })
+      sources."html-tags-2.0.0"
+      (sources."html-webpack-plugin-3.2.0" // {
+        dependencies = [
+          sources."big.js-3.2.0"
+          sources."json5-0.5.1"
+          sources."loader-utils-0.2.17"
+          sources."util.promisify-1.0.0"
+        ];
+      })
+      (sources."htmlparser2-3.10.1" // {
+        dependencies = [
+          sources."entities-1.1.2"
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."http-deceiver-1.2.7"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."http-proxy-1.18.1"
+      sources."http-proxy-middleware-0.19.1"
+      sources."http-signature-1.2.0"
+      sources."https-browserify-1.0.0"
+      sources."human-signals-1.1.1"
+      sources."iconv-lite-0.4.24"
+      sources."icss-utils-4.1.1"
+      sources."ieee754-1.1.13"
+      sources."iferr-0.1.5"
+      sources."ignore-4.0.6"
+      sources."import-cwd-2.1.0"
+      sources."import-fresh-2.0.0"
+      sources."import-from-2.1.0"
+      sources."import-local-2.0.0"
+      sources."imurmurhash-0.1.4"
+      sources."in-publish-2.0.1"
+      sources."indent-string-4.0.0"
+      sources."indexes-of-1.0.1"
+      sources."infer-owner-1.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      (sources."inquirer-7.0.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."cli-cursor-3.1.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."onetime-5.1.0"
+          sources."restore-cursor-3.1.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."internal-ip-4.3.0" // {
+        dependencies = [
+          sources."default-gateway-4.2.0"
+        ];
+      })
+      sources."invariant-2.2.4"
+      sources."ip-1.1.5"
+      sources."ip-regex-2.1.0"
+      sources."ipaddr.js-1.9.1"
+      sources."is-absolute-url-2.1.0"
+      (sources."is-accessor-descriptor-0.1.6" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-arguments-1.0.4"
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-callable-1.1.5"
+      sources."is-ci-1.2.1"
+      sources."is-color-stop-1.1.0"
+      (sources."is-data-descriptor-0.1.4" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-date-object-1.0.2"
+      (sources."is-descriptor-0.1.6" // {
+        dependencies = [
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."is-directory-0.3.1"
+      sources."is-docker-2.0.0"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-finite-1.1.0"
+      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-obj-2.0.0"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-in-cwd-2.1.0"
+      sources."is-path-inside-2.1.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-plain-object-2.0.4"
+      sources."is-promise-2.1.0"
+      sources."is-regex-1.0.5"
+      sources."is-resolvable-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-svg-3.0.0"
+      sources."is-symbol-1.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."is-valid-glob-1.0.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."isstream-0.1.2"
+      sources."javascript-stringify-2.0.1"
+      (sources."jest-worker-25.5.0" // {
+        dependencies = [
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
+      sources."js-base64-2.6.2"
+      sources."js-message-1.0.5"
+      sources."js-queue-2.0.0"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.13.1"
+      sources."jsbn-0.1.1"
+      sources."jsesc-2.5.2"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stable-stringify-without-jsonify-1.0.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."json3-3.3.3"
+      sources."json5-2.1.3"
+      sources."jsonfile-4.0.0"
+      sources."jsprim-1.4.1"
+      sources."killable-1.0.1"
+      sources."kind-of-6.0.3"
+      sources."launch-editor-2.2.1"
+      sources."launch-editor-middleware-2.2.1"
+      sources."leven-3.1.0"
+      sources."levenary-1.1.1"
+      sources."levn-0.3.0"
+      sources."lines-and-columns-1.1.6"
+      (sources."load-json-file-1.1.0" // {
+        dependencies = [
+          sources."parse-json-2.2.0"
+          sources."pify-2.3.0"
+        ];
+      })
+      (sources."loader-fs-cache-1.0.3" // {
+        dependencies = [
+          sources."find-cache-dir-0.1.1"
+          sources."find-up-1.1.2"
+          sources."path-exists-2.1.0"
+          sources."pkg-dir-1.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."lodash.defaultsdeep-4.6.1"
+      sources."lodash.kebabcase-4.1.1"
+      sources."lodash.mapvalues-4.6.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.transform-4.6.0"
+      sources."lodash.uniq-4.5.0"
+      sources."log-symbols-2.2.0"
+      sources."loglevel-1.6.8"
+      sources."loose-envify-1.4.0"
+      sources."loud-rejection-1.6.0"
+      sources."lower-case-1.1.4"
+      sources."lru-cache-5.1.1"
+      sources."make-dir-2.1.0"
+      sources."map-cache-0.2.2"
+      sources."map-obj-1.0.1"
+      sources."map-visit-1.0.0"
+      sources."marked-1.1.1"
+      sources."md5.js-1.3.5"
+      sources."mdn-data-2.0.4"
+      sources."media-typer-0.3.0"
+      sources."memory-fs-0.4.1"
+      sources."meow-3.7.0"
+      sources."merge-descriptors-1.0.1"
+      sources."merge-source-map-1.1.0"
+      sources."merge-stream-2.0.0"
+      sources."merge2-1.3.0"
+      sources."methods-1.1.2"
+      sources."microevent.ts-0.1.1"
+      sources."micromatch-3.1.10"
+      sources."miller-rabin-4.0.1"
+      sources."mime-2.4.6"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-1.2.0"
+      (sources."mini-css-extract-plugin-0.9.0" // {
+        dependencies = [
+          sources."normalize-url-1.9.1"
+          sources."schema-utils-1.0.0"
+        ];
+      })
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
+      (sources."minipass-3.1.3" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      sources."minipass-collect-1.0.2"
+      sources."minipass-flush-1.0.5"
+      sources."minipass-pipeline-1.2.3"
+      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."multicast-dns-6.2.3"
+      sources."multicast-dns-service-types-1.1.0"
+      sources."mute-stream-0.0.8"
+      sources."mz-2.7.0"
+      sources."nan-2.14.0"
+      sources."nanomatch-1.2.13"
+      sources."natural-compare-1.4.0"
+      sources."negotiator-0.6.2"
+      sources."neo-async-2.6.1"
+      sources."nice-try-1.0.5"
+      sources."no-case-2.3.2"
+      sources."node-forge-0.9.0"
+      (sources."node-gyp-3.8.0" // {
+        dependencies = [
+          sources."semver-5.3.0"
+        ];
+      })
+      sources."node-ipc-9.1.1"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."node-releases-1.1.53"
+      (sources."node-sass-4.14.1" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."cross-spawn-3.0.1"
+          sources."lru-cache-4.1.5"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."nopt-3.0.6"
+      sources."normalize-package-data-2.5.0"
+      sources."normalize-path-3.0.0"
+      sources."normalize-range-0.1.2"
+      sources."normalize-url-3.3.0"
+      sources."npm-run-path-2.0.2"
+      sources."npmlog-4.1.2"
+      sources."nth-check-1.0.2"
+      sources."num2fraction-1.2.2"
+      sources."number-is-nan-1.0.1"
+      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."kind-of-3.2.2"
+        ];
+      })
+      sources."object-hash-1.3.1"
+      sources."object-inspect-1.7.0"
+      (sources."object-is-1.1.2" // {
+        dependencies = [
+          sources."es-abstract-1.17.6"
+          sources."is-callable-1.2.0"
+          sources."is-regex-1.1.0"
+        ];
+      })
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
+      sources."object.pick-1.3.0"
+      sources."object.values-1.1.1"
+      sources."obuf-1.1.2"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."open-6.4.0"
+      sources."opener-1.5.1"
+      sources."opn-5.5.0"
+      sources."optionator-0.8.3"
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."original-1.0.2"
+      sources."os-browserify-0.3.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-finally-1.0.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-map-3.0.0"
+      sources."p-retry-3.0.1"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.11"
+      sources."parallel-transform-1.2.0"
+      sources."param-case-2.1.1"
+      (sources."parent-module-1.0.1" // {
+        dependencies = [
+          sources."callsites-3.1.0"
+        ];
+      })
+      sources."parse-asn1-5.1.5"
+      sources."parse-json-5.0.0"
+      sources."parse5-5.1.1"
+      sources."parse5-htmlparser2-tree-adapter-5.1.1"
+      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-0.1.7"
+      (sources."path-type-3.0.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."pbkdf2-3.0.17"
+      sources."performance-now-2.1.0"
+      sources."picomatch-2.2.2"
+      sources."pify-4.0.1"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pkg-dir-3.0.0"
+      (sources."pkg-up-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."pnp-webpack-plugin-1.6.4"
+      (sources."portfinder-1.0.26" // {
+        dependencies = [
+          sources."debug-3.2.6"
+        ];
+      })
+      sources."posix-character-classes-0.1.1"
+      (sources."postcss-7.0.32" // {
+        dependencies = [
+          sources."supports-color-6.1.0"
+        ];
+      })
+      sources."postcss-calc-7.0.2"
+      (sources."postcss-colormin-4.0.3" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-convert-values-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-discard-comments-4.0.2"
+      sources."postcss-discard-duplicates-4.0.2"
+      sources."postcss-discard-empty-4.0.1"
+      sources."postcss-discard-overridden-4.0.1"
+      sources."postcss-load-config-2.1.0"
+      (sources."postcss-loader-3.0.0" // {
+        dependencies = [
+          sources."schema-utils-1.0.0"
+        ];
+      })
+      (sources."postcss-merge-longhand-4.0.11" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-merge-rules-4.0.3" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      (sources."postcss-minify-font-values-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-gradients-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-params-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-selectors-4.0.2" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      sources."postcss-modules-extract-imports-2.0.0"
+      sources."postcss-modules-local-by-default-3.0.2"
+      sources."postcss-modules-scope-2.2.0"
+      sources."postcss-modules-values-3.0.0"
+      sources."postcss-normalize-charset-4.0.1"
+      (sources."postcss-normalize-display-values-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-positions-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-repeat-style-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-string-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-timing-functions-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-unicode-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-url-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-whitespace-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-ordered-values-4.1.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-reduce-initial-4.0.3"
+      (sources."postcss-reduce-transforms-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-selector-parser-6.0.2"
+      (sources."postcss-svgo-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-unique-selectors-4.0.1"
+      sources."postcss-value-parser-4.1.0"
+      sources."prelude-ls-1.1.2"
+      sources."prepend-http-1.0.4"
+      sources."prettier-1.19.1"
+      sources."prettier-linter-helpers-1.0.0"
+      sources."pretty-error-2.1.1"
+      sources."private-0.1.8"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."progress-2.0.3"
+      sources."promise-inflight-1.0.1"
+      sources."proxy-addr-2.0.6"
+      sources."prr-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."psl-1.6.0"
+      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."q-1.5.1"
+      sources."qs-6.5.2"
+      sources."query-string-4.3.4"
+      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.0"
+      sources."read-pkg-5.2.0"
+      (sources."read-pkg-up-1.0.1" // {
+        dependencies = [
+          sources."find-up-1.1.2"
+          sources."path-exists-2.1.0"
+          sources."path-type-1.1.0"
+          sources."pify-2.3.0"
+          sources."read-pkg-1.1.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.2.1"
+      (sources."redent-1.0.0" // {
+        dependencies = [
+          sources."indent-string-2.1.0"
+          sources."strip-indent-1.0.1"
+        ];
+      })
+      sources."regenerate-1.4.1"
+      sources."regenerate-unicode-properties-8.2.0"
+      sources."regenerator-runtime-0.13.5"
+      sources."regenerator-transform-0.14.4"
+      sources."regex-not-1.0.2"
+      sources."regexp.prototype.flags-1.3.0"
+      sources."regexpp-3.1.0"
+      sources."regexpu-core-4.7.0"
+      sources."regjsgen-0.5.2"
+      (sources."regjsparser-0.6.4" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."relateurl-0.2.7"
+      sources."remove-trailing-separator-1.1.0"
+      (sources."renderkid-2.0.3" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."css-select-1.2.0"
+          sources."css-what-2.1.3"
+          sources."domutils-1.5.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."repeating-2.0.1"
+      sources."request-2.88.2"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."requires-port-1.0.0"
+      sources."resize-observer-polyfill-1.5.1"
+      sources."resolve-1.14.1"
+      sources."resolve-cwd-2.0.0"
+      sources."resolve-from-3.0.0"
+      sources."resolve-url-0.2.1"
+      sources."restore-cursor-2.0.0"
+      sources."ret-0.1.15"
+      sources."retry-0.12.0"
+      sources."rgb-regex-1.0.1"
+      sources."rgba-regex-1.0.0"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."run-async-2.3.0"
+      sources."run-queue-1.0.3"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      (sources."sass-graph-2.2.5" // {
+        dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
+        ];
+      })
+      (sources."sass-loader-8.0.2" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."sax-1.2.4"
+      sources."schema-utils-2.6.1"
+      (sources."scss-tokenizer-0.2.3" // {
+        dependencies = [
+          sources."source-map-0.4.4"
+        ];
+      })
+      sources."select-hose-2.0.0"
+      sources."selfsigned-1.10.7"
+      sources."semver-5.7.1"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."mime-1.6.0"
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serialize-javascript-2.1.2"
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."ms-2.0.0"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."setimmediate-1.0.5"
+      sources."setprototypeof-1.1.1"
+      sources."sha.js-2.4.11"
+      sources."shallow-clone-3.0.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shell-quote-1.7.2"
+      sources."signal-exit-3.0.2"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
+      sources."slash-2.0.0"
+      sources."slice-ansi-2.1.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."ms-2.0.0"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      (sources."sockjs-0.3.20" // {
+        dependencies = [
+          sources."uuid-3.4.0"
+        ];
+      })
+      (sources."sockjs-client-1.4.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."faye-websocket-0.11.3"
+        ];
+      })
+      sources."sort-keys-1.1.2"
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.6.1"
+      sources."source-map-resolve-0.5.3"
+      sources."source-map-support-0.5.16"
+      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.2"
+      (sources."spdy-transport-3.0.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.16.1"
+      sources."ssri-6.0.1"
+      sources."stable-0.1.8"
+      sources."stackframe-1.2.0"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."statuses-1.5.0"
+      sources."stdout-stream-1.4.1"
+      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."strict-uri-encode-1.1.0"
+      (sources."string-width-2.1.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      (sources."string.prototype.trimend-1.0.1" // {
+        dependencies = [
+          sources."es-abstract-1.17.6"
+          sources."is-callable-1.2.0"
+          sources."is-regex-1.1.0"
+        ];
+      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      (sources."string.prototype.trimstart-1.0.1" // {
+        dependencies = [
+          sources."es-abstract-1.17.6"
+          sources."is-callable-1.2.0"
+          sources."is-regex-1.1.0"
+        ];
+      })
+      sources."string_decoder-1.1.1"
+      (sources."strip-ansi-6.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+        ];
+      })
+      sources."strip-bom-2.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-3.0.1"
+      (sources."stylehacks-4.0.3" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      sources."supports-color-5.5.0"
+      sources."svg-tags-1.0.0"
+      sources."svgo-1.3.2"
+      (sources."table-5.4.6" // {
+        dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."tapable-1.1.3"
+      sources."tar-2.2.2"
+      sources."terser-4.6.10"
+      (sources."terser-webpack-plugin-1.4.3" // {
+        dependencies = [
+          sources."schema-utils-1.0.0"
+        ];
+      })
+      sources."text-table-0.2.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
+      sources."thread-loader-2.1.3"
+      sources."through-2.3.8"
+      sources."through2-2.0.5"
+      sources."thunky-1.1.0"
+      sources."timers-browserify-2.0.11"
+      sources."timsort-0.3.0"
+      sources."tmp-0.0.33"
+      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."toidentifier-1.0.0"
+      sources."toposort-1.0.7"
+      sources."tough-cookie-2.5.0"
+      sources."trim-newlines-1.0.0"
+      sources."true-case-path-1.0.3"
+      sources."tryer-1.0.1"
+      (sources."ts-loader-6.2.2" // {
+        dependencies = [
+          sources."braces-3.0.2"
+          sources."fill-range-7.0.1"
+          sources."is-number-7.0.0"
+          sources."micromatch-4.0.2"
+          sources."semver-6.3.0"
+          sources."to-regex-range-5.0.1"
+        ];
+      })
+      sources."ts-pnp-1.2.0"
+      sources."tslib-1.10.0"
+      (sources."tslint-5.20.1" // {
+        dependencies = [
+          sources."tsutils-2.29.0"
+        ];
+      })
+      sources."tsutils-3.17.1"
+      sources."tty-browserify-0.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.3.2"
+      sources."type-fest-0.6.0"
+      sources."type-is-1.6.18"
+      sources."typedarray-0.0.6"
+      sources."typescript-3.9.5"
+      (sources."uglify-js-3.4.10" // {
+        dependencies = [
+          sources."commander-2.19.0"
+        ];
+      })
+      sources."unicode-canonical-property-names-ecmascript-1.0.4"
+      sources."unicode-match-property-ecmascript-1.0.4"
+      sources."unicode-match-property-value-ecmascript-1.2.0"
+      sources."unicode-property-aliases-ecmascript-1.1.0"
+      sources."union-value-1.0.1"
+      sources."uniq-1.0.1"
+      sources."uniqs-2.0.0"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
+      sources."universalify-0.1.2"
+      sources."unpipe-1.0.0"
+      sources."unquote-1.1.1"
+      (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."upper-case-1.1.3"
+      sources."uri-js-4.2.2"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."url-loader-2.3.0"
+      sources."url-parse-1.4.7"
+      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.1" // {
+        dependencies = [
+          sources."es-abstract-1.17.6"
+          sources."is-callable-1.2.0"
+          sources."is-regex-1.1.0"
+        ];
+      })
+      sources."utila-0.4.0"
+      sources."utils-merge-1.0.1"
+      sources."uuid-3.3.3"
+      sources."v-lazy-image-1.4.0"
+      sources."v8-compile-cache-2.1.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vary-1.1.2"
+      sources."vendors-1.0.4"
+      sources."verror-1.10.0"
+      sources."vm-browserify-1.1.2"
+      sources."vue-2.6.12"
+      sources."vue-class-component-7.2.5"
+      sources."vue-cli-plugin-buefy-0.3.7"
+      sources."vue-cli-plugin-fontawesome-0.2.0"
+      (sources."vue-cli-plugin-i18n-1.0.1" // {
+        dependencies = [
+          sources."deepmerge-4.2.2"
+          sources."rimraf-3.0.2"
+        ];
+      })
+      sources."vue-dragscroll-2.1.0"
+      sources."vue-eslint-parser-7.0.0"
+      sources."vue-hot-reload-api-2.3.4"
+      sources."vue-i18n-8.21.0"
+      (sources."vue-i18n-extract-1.0.2" // {
+        dependencies = [
+          sources."emoji-regex-7.0.3"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
+        ];
+      })
+      (sources."vue-loader-15.9.3" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+        ];
+      })
+      sources."vue-property-decorator-9.0.0"
+      sources."vue-router-3.4.3"
+      (sources."vue-style-loader-4.1.2" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+        ];
+      })
+      sources."vue-template-compiler-2.6.12"
+      sources."vue-template-es2015-compiler-1.9.1"
+      sources."vuex-3.5.1"
+      sources."vuex-class-component-2.3.5"
+      sources."watchpack-1.6.1"
+      sources."wbuf-1.7.3"
+      sources."wcwidth-1.0.1"
+      (sources."webpack-4.42.1" // {
+        dependencies = [
+          sources."eslint-scope-4.0.3"
+          sources."mkdirp-0.5.4"
+          sources."schema-utils-1.0.0"
+        ];
+      })
+      (sources."webpack-bundle-analyzer-3.8.0" // {
+        dependencies = [
+          sources."acorn-7.3.1"
+        ];
+      })
+      sources."webpack-chain-6.4.0"
+      sources."webpack-dev-middleware-3.7.2"
+      (sources."webpack-dev-server-3.11.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."emoji-regex-7.0.3"
+          sources."is-absolute-url-3.0.3"
+          sources."schema-utils-1.0.0"
+          sources."semver-6.3.0"
+          (sources."string-width-3.1.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+              sources."strip-ansi-5.2.0"
+            ];
+          })
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-6.1.0"
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
+        ];
+      })
+      sources."webpack-log-2.0.0"
+      sources."webpack-merge-4.2.2"
+      sources."webpack-sources-1.4.3"
+      sources."websocket-driver-0.6.5"
+      sources."websocket-extensions-0.1.4"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      sources."wide-align-1.1.3"
+      sources."word-wrap-1.2.3"
+      sources."worker-farm-1.7.0"
+      sources."worker-rpc-0.1.1"
+      (sources."wrap-ansi-6.2.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.1"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.0"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."write-1.0.3"
+      sources."ws-6.2.1"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yallist-3.1.1"
+      (sources."yargs-15.3.1" // {
+        dependencies = [
+          sources."cliui-6.0.0"
+          sources."find-up-4.1.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."string-width-4.2.0"
+        ];
+      })
+      sources."yargs-parser-18.1.3"
+      (sources."yorkie-2.0.0" // {
+        dependencies = [
+          sources."cross-spawn-5.1.0"
+          sources."execa-0.8.0"
+          sources."get-stream-3.0.0"
+          sources."lru-cache-4.1.5"
+          sources."normalize-path-1.0.0"
+          sources."yallist-2.1.2"
+        ];
+      })
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      homepage = https://ldgallery.pacien.org/;
+      license = "AGPL-3";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = false;
+  };
+in
+{
+  args = args;
+  sources = sources;
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
index 4507c4fed853..948b590249fd 100644
--- a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , libjpeg
 , libpng
+, jbigkit
 , flex
 , zlib
 , perl
@@ -12,19 +13,20 @@
 , libtiff
 , enableX11 ? false
 , libX11
+, buildPackages
 }:
 
 stdenv.mkDerivation {
   # Determine version and revision from:
   # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
-  name = "netpbm-10.89.1";
+  name = "netpbm-10.92.0";
 
   outputs = [ "bin" "out" "dev" ];
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/netpbm/code/advanced";
-    rev = "3735";
-    sha256 = "1m7ks6k53gsjsdazgf22g16dfgj3pqvqy9mhxzlwszv5808sj5w5";
+    rev = "3972";
+    sha256 = "09fpy4n4f867j23pr3b719wpvp8hjrr4drxp0r1csw74p8j6vfy3";
   };
 
   nativeBuildInputs = [
@@ -40,10 +42,17 @@ stdenv.mkDerivation {
     libjpeg
     libxml2
     libtiff
+    jbigkit
   ] ++ lib.optional enableX11 libX11;
 
+
+  strictDeps = true;
+
   enableParallelBuilding = true;
 
+  # Environment variables
+  STRIPPROG = "${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip";
+
   postPatch = ''
     # Install libnetpbm.so symlink to correct destination
     substituteInPlace lib/Makefile \
@@ -58,11 +67,22 @@ stdenv.mkDerivation {
     # Disable building static library
     echo "STATICLIB_TOO = N" >> config.mk
 
+    # Enable cross-compilation
+    echo 'AR = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar' >> config.mk
+    echo 'CC = ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' >> config.mk
+    echo 'CC_FOR_BUILD = ${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc' >> config.mk
+    echo 'LD_FOR_BUILD = $(CC_FOR_BUILD)' >> config.mk
+    echo 'PKG_CONFIG = ${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config' >> config.mk
+    echo 'RANLIB = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib' >> config.mk
+
     # Use libraries from Nixpkgs
     echo "TIFFLIB = libtiff.so" >> config.mk
     echo "TIFFLIB_NEEDS_JPEG = N" >> config.mk
     echo "TIFFLIB_NEEDS_Z = N" >> config.mk
     echo "JPEGLIB = libjpeg.so" >> config.mk
+    echo "JBIGLIB = libjbig.a" >> config.mk
+    # Insecure
+    echo "JASPERLIB = NONE" >> config.mk
 
     # Fix path to rgb.txt
     echo "RGB_DB_PATH = $out/share/netpbm/misc/rgb.txt" >> config.mk
@@ -70,7 +90,7 @@ stdenv.mkDerivation {
     echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk
     echo "NETPBMLIBTYPE = dylib" >> config.mk
     echo "NETPBMLIBSUFFIX = dylib" >> config.mk
-
+  '' + ''
     runHook postConfigure
   '';
 
diff --git a/nixpkgs/pkgs/tools/graphics/optar/default.nix b/nixpkgs/pkgs/tools/graphics/optar/default.nix
index 4eee8acb9798..3061a5cebaf9 100644
--- a/nixpkgs/pkgs/tools/graphics/optar/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/optar/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "Optar stands for OPTical ARchiver - it's a codec for encoding data on paper";
+    description = "OPTical ARchiver - it's a codec for encoding data on paper";
     homepage = "http://ronja.twibright.com/optar/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/nixpkgs/pkgs/tools/graphics/optipng/default.nix b/nixpkgs/pkgs/tools/graphics/optipng/default.nix
index 93c2f2c35025..571e89297c78 100644
--- a/nixpkgs/pkgs/tools/graphics/optipng/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/optipng/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, libpng, static ? false
+{ stdenv, fetchurl, libpng
+, static ? stdenv.hostPlatform.isStatic
 }:
 
 # This package comes with its own copy of zlib, libpng and pngxtern
diff --git a/nixpkgs/pkgs/tools/graphics/oxipng/default.nix b/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
index 965c799a217f..1c89a1574c54 100644
--- a/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/oxipng/default.nix
@@ -1,20 +1,15 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchCrate, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
-  version = "3.0.1";
+  version = "4.0.2";
   pname = "oxipng";
 
-  src = fetchFromGitHub {
-    owner = "shssoichiro";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "11lncwxksm7aqczy9ay1qnba2wmgfsirhgrl6vv1jlgj41b7mzi5";
+  src = fetchCrate {
+    inherit version pname;
+    sha256 = "0m36af9w1l6pc71fjbgyzcsszizwayvcv5d750zz2bnj23c77m69";
   };
 
-  cargoSha256 = "0lalb981qzlnmqfg170mh6lnc0qlzb94wc39mf859g2jvxk3pkrl";
-
-  # https://crates.io/crates/cloudflare-zlib#arm-vs-nightly-rust
-  cargoBuildFlags = [ "--features=cloudflare-zlib/arm-always" ];
+  cargoSha256 = "16fby8ncdq0dyg9r0glrqwi04sja34br306c5sj22cq1dm3bb64q";
 
   doCheck = !stdenv.isAarch64 && !stdenv.isDarwin;
 
diff --git a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
index 1c437a3f05cd..f570251374cf 100644
--- a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, cmake, pkgconfig, darwin
+{ stdenv, mkDerivation, fetchurl, cmake, pkgconfig, darwin
 , openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
-, fftw, gsl, libexif, perl, opencv2, qt5, netpbm
+, fftw, gsl, libexif, perl, opencv2, qtbase, netpbm
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "pfstools";
   version = "2.1.0";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
     openexr zlib imagemagick fftwFloat
-    fftw gsl libexif perl opencv2 qt5.qtbase netpbm
+    fftw gsl libexif perl opencv2 qtbase netpbm
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
   ]) else [
diff --git a/nixpkgs/pkgs/tools/graphics/piglit/default.nix b/nixpkgs/pkgs/tools/graphics/piglit/default.nix
new file mode 100644
index 000000000000..e2c2b6e6e972
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/piglit/default.nix
@@ -0,0 +1,77 @@
+{ stdenv
+, fetchFromGitLab
+, lib
+, cmake
+, freeglut
+, libGL
+, libGLU
+, libglvnd
+, makeWrapper
+, ninja
+, pkg-config
+, python3
+, waffle
+, wayland
+, libX11
+, libXrender
+, libxcb
+, libxkbcommon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "piglit";
+  version = "unstable-2020-10-23";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "mesa";
+    repo = "piglit";
+    rev = "59e695c16fdcdd4ea4f16365f0e397a93cef7b80";
+    sha256 = "kx0+2Sdvdc3SbpAIl2OuGCWCpaLJC/7cXG+ZLvf92g8=";
+  };
+
+  buildInputs = [
+    freeglut
+    libGL
+    libGLU
+    libglvnd
+    libX11
+    libXrender
+    libxcb
+    libxkbcommon
+    (python3.withPackages (ps: with ps; [
+      Mako
+      numpy
+    ]))
+    waffle
+    wayland
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+    ninja
+    pkg-config
+  ];
+
+  # Find data dir: piglit searches for the data directory in some places, however as it is wrapped,
+  # it search in ../lib/.piglit-wrapped, we just replace the script name with "piglit" again.
+  prePatch = ''
+    substituteInPlace piglit \
+      --replace 'script_basename_noext = os.path.splitext(os.path.basename(__file__))[0]' 'script_basename_noext = "piglit"'
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/piglit \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libGL libglvnd ]} \
+      --prefix PATH : "${waffle}/bin"
+  '';
+
+  meta = with lib; {
+    description = "An OpenGL test suite, and test-suite runner";
+    homepage = "https://gitlab.freedesktop.org/mesa/piglit";
+    license = licenses.free; # custom license. See COPYING in the source repo.
+    platforms = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/resvg/default.nix b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
new file mode 100644
index 000000000000..71df0186068a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
@@ -0,0 +1,24 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "resvg";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "RazrFalcon";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0iqlg0wmx9y81ncbw4ihd6pr7ddpfsvk35zmhzsq4plwzbxgp0w1";
+  };
+
+  cargoSha256 = "0jgczhvm5rsv4vwd5wx6gshy6322im4c3wi79klk249czr6vlwsg";
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "An SVG rendering library";
+    homepage = "https://github.com/RazrFalcon/resvg";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/vips/default.nix b/nixpkgs/pkgs/tools/graphics/vips/default.nix
index 334cb00f3c17..2e745fc1a7c9 100644
--- a/nixpkgs/pkgs/tools/graphics/vips/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vips/default.nix
@@ -13,6 +13,7 @@
 , libgsf
 , libexif
 , libheif
+, librsvg
 , ApplicationServices
 , python27
 , libpng
@@ -26,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.10.0";
+  version = "8.10.2";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "1v5kfmv1vmzyvz1198jm1kl763s2i3mgnsn69vh6dslasbh769di";
+    sha256 = "1psi39a4h0awwbyizbsk467z0djwq0rh8hvkklbsd5b92m7768sp";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
     libexif
     libheif
     libpng
+    librsvg
     python27
     libpng
     expat
diff --git a/nixpkgs/pkgs/tools/graphics/viu/default.nix b/nixpkgs/pkgs/tools/graphics/viu/default.nix
index a434b38453eb..39b12326e806 100644
--- a/nixpkgs/pkgs/tools/graphics/viu/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/viu/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viu";
-  version = "1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "atanunq";
     repo = "viu";
     rev = "v${version}";
-    sha256 = "1algvndpl63g3yzp3hhbgm7839njpbmw954nsiwf0j591spz4lph";
+    sha256 = "1q248jnbv64mkvg18465dpvjkw2v2hfqyvdvdixyrwyrnlv5cicv";
   };
   # tests are failing, reported at upstream: https://github.com/atanunq/viu/issues/40
   doCheck = false;
 
-  cargoSha256 = "1jccaln72aqa9975nbs95gimndqx5kgfkjmh40z6chx1hvn4m2ga";
+  cargoSha256 = "18rskn8fchlgk295yk8sc2g1x6h43rmhqif871hgzdx1i35sbajr";
 
   meta = with lib; {
     description = "A command-line application to view images from the terminal written in Rust";
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
new file mode 100644
index 000000000000..3a7473530d60
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, cmake, writeText, vulkan-headers, jq }:
+
+stdenv.mkDerivation rec {
+  pname = "vulkan-extension-layer";
+  version = "2020-11-20";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-ExtensionLayer";
+    rev = "7474cb8e1f70e9f4a8bf382708a7f15465453af5";
+    sha256 = "1lxkgcnv32wqk4hlckv13xy84g38jzgc4qxp9vsbkrgz87hkdvwj";
+  };
+
+  nativeBuildInputs = [ cmake jq ];
+
+  buildInputs = [ vulkan-headers ];
+
+  # Help vulkan-loader find the validation layers
+  setupHook = writeText "setup-hook" ''
+    export XDG_DATA_DIRS=@out@/share:$XDG_DATA_DIRS
+  '';
+
+  # Include absolute paths to layer libraries in their associated
+  # layer definition json files.
+  preFixup = ''
+    for f in "$out"/share/vulkan/explicit_layer.d/*.json "$out"/share/vulkan/implicit_layer.d/*.json; do
+      jq <"$f" >tmp.json ".layer.library_path = \"$out/lib/\" + .layer.library_path"
+      mv tmp.json "$f"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Layers providing Vulkan features when native support is unavailable";
+    homepage = "https://github.com/KhronosGroup/Vulkan-ExtensionLayer/";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
new file mode 100644
index 000000000000..784d03216640
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, cmake, expat, fetchFromGitHub, jq, lib, libXdmcp, libXrandr, libffi
+, libxcb, pkgconfig, python3, symlinkJoin, vulkan-headers, vulkan-loader
+, vulkan-validation-layers, wayland, writeText, xcbutilkeysyms, xcbutilwm
+, xlibsWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "vulkan-tools-lunarg";
+  # The version must match that in vulkan-headers
+  version = "1.2.162.0";
+
+  src = (assert version == vulkan-headers.version;
+    fetchFromGitHub {
+      owner = "LunarG";
+      repo = "VulkanTools";
+      rev = "sdk-${version}";
+      sha256 = "13v4202bfd7d7nwi8w12ja9k1vi10p9xxypzkpi063hmsgzxm5k5";
+      fetchSubmodules = true;
+    });
+
+  nativeBuildInputs = [ cmake pkgconfig python3 jq ];
+
+  buildInputs = [
+    expat
+    libXdmcp
+    libXrandr
+    libffi
+    libxcb
+    wayland
+    xcbutilkeysyms
+    xcbutilwm
+    xlibsWrapper
+  ];
+
+  cmakeFlags = [
+    "-DVULKAN_HEADERS_INSTALL_DIR=${vulkan-headers}"
+    "-DVULKAN_LOADER_INSTALL_DIR=${vulkan-loader}"
+    "-DVULKAN_VALIDATIONLAYERS_INSTALL_DIR=${
+      symlinkJoin {
+        name = "vulkan-validation-layers-merged";
+        paths = [ vulkan-validation-layers.headers vulkan-validation-layers ];
+      }
+    }"
+  ];
+
+  preConfigure = ''
+    # We need to run this update script which generates some source files,
+    # Remove the line in it which calls 'git submodule update' though.
+    # Also patch the scripts in ./scripts
+    update=update_external_sources.sh
+    patchShebangs $update
+    patchShebangs scripts/*
+    sed -i '/^git /d' $update
+    ./$update
+  '';
+
+  # Include absolute paths to layer libraries in their associated
+  # layer definition json files.
+  preFixup = ''
+    for f in "$out"/etc/vulkan/explicit_layer.d/*.json "$out"/etc/vulkan/implicit_layer.d/*.json; do
+      jq <"$f" >tmp.json ".layer.library_path = \"$out/lib/\" + .layer.library_path"
+      mv tmp.json "$f"
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  # Same as vulkan-validation-layers
+  libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
+  dontPatchELF = true;
+
+  # Help vulkan-loader find the validation layers
+  setupHook = writeText "setup-hook" ''
+    export XDG_CONFIG_DIRS=@out@/etc''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LunarG Vulkan Tools and Utilities";
+    longDescription = ''
+      Tools to aid in Vulkan development including useful layers, trace and
+      replay, and tests.
+    '';
+    homepage = "https://github.com/LunarG/VulkanTools";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = [ maintainers.expipiplus1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
index 71bcdc2e2691..76c1df3213ce 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,26 +1,42 @@
-{ stdenv, fetchFromGitHub, cmake, python3, vulkan-loader, vulkan-headers,
-  glslang, pkgconfig, xlibsWrapper, libxcb, libXrandr, wayland }:
+{ stdenv, lib, fetchFromGitHub, cmake, python3, vulkan-loader,
+ vulkan-headers, glslang, pkgconfig, xlibsWrapper, libxcb,
+ libXrandr, wayland }:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-tools";
-  version = "1.2.131.1";
+  version = "1.2.162.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-Tools";
     rev = "sdk-${version}";
-    sha256 = "0ws47ansrr8cq4qjf6k4q0ygm9wwd3w7mhwqcl1qxms8lh5vmhfq";
+    sha256 = "088vqh956zma3p1qc3p6rsygf5s395b6cv8b1x0whp2a0a1y81xz";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ python3 vulkan-headers vulkan-loader xlibsWrapper libxcb libXrandr wayland ];
   enableParallelBuilding = true;
 
-  cmakeFlags = [ "-DBUILD_ICD=OFF" "-DGLSLANG_INSTALL_DIR=${glslang}" ];
+  libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
+
+  dontPatchELF = true;
+
+  cmakeFlags = [
+    # Don't build the mock ICD as it may get used instead of other drivers, if installed
+    "-DBUILD_ICD=OFF"
+    "-DGLSLANG_INSTALL_DIR=${glslang}"
+    # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
+    "-DCMAKE_INSTALL_RPATH=${libraryPath}"
+  ];
 
   meta = with stdenv.lib; {
-    description = "LunarG Vulkan loader";
-    homepage    = "https://www.lunarg.com";
+    description = "Khronos official Vulkan Tools and Utilities";
+    longDescription = ''
+      This project provides Vulkan tools and utilities that can assist
+      development by enabling developers to verify their applications correct
+      use of the Vulkan API.
+    '';
+    homepage    = "https://github.com/KhronosGroup/Vulkan-Tools";
     platforms   = platforms.linux;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
diff --git a/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
index 66c8b1d5cc74..fa2088ca297b 100644
--- a/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
@@ -1,16 +1,16 @@
-{ cmake, fetchFromGitHub, opencv3, stdenv, opencl-headers
+{ cmake, fetchFromGitHub, makeWrapper, opencv3, stdenv, ocl-icd, opencl-headers
 , cudaSupport ? false, cudatoolkit ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "waifu2x-converter-cpp";
-  version = "5.2.4";
+  version = "5.3.3";
 
   src = fetchFromGitHub {
     owner = "DeadSix27";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r7xcjqbyaa20gsgmjj7645640g3nb2bn1pc1nlfplwlzjxmz213";
+    sha256 = "04r0xyjknvcwk70ilj1p3qwlcz3i6sqgcp0qbc9qwxnsgrrgz09w";
   };
 
   patchPhase = ''
@@ -19,10 +19,14 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    opencv3 opencl-headers
+    ocl-icd opencv3 opencl-headers
   ] ++ stdenv.lib.optional cudaSupport cudatoolkit;
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake makeWrapper ];
+
+  preFixup = ''
+    wrapProgram $out/bin/waifu2x-converter-cpp --prefix LD_LIBRARY_PATH : "${ocl-icd}/lib"
+  '';
 
   meta = {
     description = "Improved fork of Waifu2X C++ using OpenCL and OpenCV";
diff --git a/nixpkgs/pkgs/tools/graphics/yafaray-core/default.nix b/nixpkgs/pkgs/tools/graphics/yafaray-core/default.nix
index 3ca9a7b5e8d6..9a52d4531854 100644
--- a/nixpkgs/pkgs/tools/graphics/yafaray-core/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/yafaray-core/default.nix
@@ -7,13 +7,13 @@
 stdenv.mkDerivation rec {
 
     pname = "yafaray-core";
-    version = "3.5.0";
+    version = "3.5.1";
 
     src = fetchFromGitHub {
       owner  = "YafaRay";
       repo   = "Core";
       rev    = "v${version}";
-      sha256 = "05r08ynm6p9jq9l3v1v3lqkrfx3bm6zlqcxm1yk7mdv1zv2yxikd";
+      sha256 = "043ixf3h4ay2fahsw9lh0pha82f7ri04mlfhvn2pg251012jvhrx";
     };
 
     preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix b/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
index a8901dfb0e43..dc6d3a09bfa4 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fusuma/default.nix
@@ -18,7 +18,7 @@ bundlerApp {
     description = "Multitouch gestures with libinput driver on X11, Linux";
     homepage = "https://github.com/iberianpig/fusuma";
     license = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ];
+    maintainers = with maintainers; [ jfrankenau nicknovitski Br1ght0ne ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/hime/default.nix b/nixpkgs/pkgs/tools/inputmethods/hime/default.nix
new file mode 100644
index 000000000000..4d2b44456ae7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/hime/default.nix
@@ -0,0 +1,34 @@
+{
+stdenv, fetchFromGitHub, pkgconfig, which, gtk2, gtk3, qt4, qt5, libXtst, lib,
+}:
+
+# chewing and anthy do not work well
+# so we do not enable these input method at this moment
+
+stdenv.mkDerivation {
+  name = "hime";
+  version = "unstable-2020-06-27";
+
+  src = fetchFromGitHub {
+    owner = "hime-ime";
+    repo = "hime";
+    rev = "c89751a58836906e6916355fd037fc74fd7a7a15";
+    sha256 = "024w67q0clzxigsrvqbxpiy8firjvrqi7wbkkcapzzhzapv3nm8x";
+  };
+
+  nativeBuildInputs = [ which pkgconfig ];
+  buildInputs = [ libXtst gtk2 gtk3 qt4 qt5.qtbase ];
+
+  preConfigure = "patchShebangs configure";
+  configureFlags = [ "--disable-lib64" "--disable-qt5-immodule" ];
+
+
+  meta = with stdenv.lib; {
+    homepage = "http://hime-ime.github.io/";
+    downloadPage = "https://github.com/hime-ime/hime/downloads";
+    description = "A useful input method engine for Asia region";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ yanganto ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
index b34206e6cf6d..18e878b47b5c 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-bamboo";
-  version = "0.6.6";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "BambooEngine";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bjcc2dm6c6s0v271nyslmwf5z0xxpcbvmk4lyirs48hc1bzv3n6";
+    sha256 = "17zgxqlsjkqyjywynqzmymw310aypcsjdrwnc7hx7v7xwal8iwjk";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
index 978ac675581f..f6ceece34e19 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-hangul";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchurl {
     url = "https://github.com/choehwanjin/ibus-hangul/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1400ba2p34vr9q285lqvjm73f6m677cgfdymmjpiwyrjgbbiqrjy";
+    sha256 = "1q6g2pnrn5gqn9jqnm3975v9hh60hc5gn9x3zbrdjgy0n3wpxwm9";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix
new file mode 100644
index 000000000000..9c5f2cefb517
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, makeWrapper, pkg-config, ibus, gtk3, libthai }:
+
+stdenv.mkDerivation rec {
+  pname = "ibus-libthai";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "https://linux.thai.net/pub/ThaiLinux/software/libthai/ibus-libthai-${version}.tar.xz";
+    sha256 = "0iam7308rxkx2xwaabc5wyj7vrxgd4cr95pvwrkm8fr9gh2xnwgv";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gtk3 ibus libthai ];
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    homepage = "https://linux.thai.net/projects/ibus-libthai";
+    description = "Thai input method engine for IBus";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 41a04d018355..695a45d81ffc 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -1,5 +1,5 @@
-{ clangStdenv, fetchFromGitHub, fetchpatch, which, ninja, python, gyp, pkgconfig
-, protobuf, ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese }:
+{ stdenv, fetchFromGitHub, which, ninja, python, pkgconfig, protobuf
+, ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese, python3Packages }:
 
 let
   japanese_usage_dictionary = fetchFromGitHub {
@@ -8,11 +8,11 @@ let
     rev    = "e5b3425575734c323e1d947009dd74709437b684";
     sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
   };
-in clangStdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   name = "ibus-mozc-${version}";
-  version = "2.23.2815.102";
+  version = "2.23.4206.102";
 
-  meta = with clangStdenv.lib; {
+  meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "Japanese input method from Google";
     homepage     = "https://github.com/google/mozc";
@@ -21,37 +21,28 @@ in clangStdenv.mkDerivation rec {
     maintainers  = with maintainers; [ gebner ericsagnes ];
   };
 
-  nativeBuildInputs = [ which ninja python gyp pkgconfig qt5.wrapQtAppsHook ];
+  nativeBuildInputs = [ which ninja python3Packages.python python3Packages.six
+                        python3Packages.gyp pkgconfig qt5.wrapQtAppsHook ];
   buildInputs = [ protobuf ibus gtk2 zinnia qt5.qtbase libxcb ];
 
   src = fetchFromGitHub {
     owner  = "google";
     repo   = "mozc";
-    rev    = "afb03ddfe72dde4cf2409863a3bfea160f7a66d8";
-    sha256 = "0w2dy2j9x5nc7x3g95j17r3m60vbfyn5j617h7js9xryv33yzpgx";
+    rev    = "91cc1e19ef34aeb12888b697fefa52907f1a834d";
+    sha256 = "1fyy9g1pnaq6s5nkf56aqmp5mgyibbmp1ylc64fqc6g1plg90zk2";
+    fetchSubmodules = true;
   };
 
-  patches = [
-    # https://github.com/google/mozc/pull/444 - fix for gcc8 STL
-    (fetchpatch {
-      url = "https://github.com/google/mozc/commit/82d38f929882a9c62289b179c6fe41efed249987.patch";
-      sha256 = "07cja1b7qfsd3i76nscf1zwiav74h7d6h2g9g2w4bs3h1mc9jwla";
-    })
-    # Support dates after 2019
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/mozc/-/raw/master/debian/patches/add_support_new_japanese_era.patch";
-      sha256 = "1dsiiglrmm8i8shn2hv0j2b8pv6miysjrimj4569h606j4lwmcw2";
-    })
-  ];
-
   postUnpack = ''
-    rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/
+    rm -rf $sourceRoot/src/third_party/japanese_usage_dictionary/
     ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    sed -i 's/-lc++/-lstdc++/g' $sourceRoot/src/gyp/common.gypi
   '';
 
   configurePhase = ''
     export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model"
-    cd src && python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc
+    cd src && python build_mozc.py gyp --gypdir=${python3Packages.gyp}/bin --server_dir=$out/lib/mozc
   '';
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix
new file mode 100644
index 000000000000..03a801abbeb0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, gdk-pixbuf, glib, ibus, libnotify
+, librime, brise }:
+
+stdenv.mkDerivation rec {
+  pname = "ibus-rime";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "rime";
+    repo = "ibus-rime";
+    rev = version;
+    sha256 = "0zbajz7i18vrqwdyclzywvsjg6qzaih64jhi3pkxp7mbw8jc5vhy";
+  };
+
+  buildInputs = [ gdk-pixbuf glib ibus libnotify librime brise ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+  dontUseCmakeConfigure = true;
+
+  prePatch = ''
+    substituteInPlace Makefile \
+       --replace 'cmake' 'cmake -DRIME_DATA_DIR=${brise}/share/rime-data'
+
+    substituteInPlace rime_config.h \
+       --replace '/usr' $out
+
+    substituteInPlace rime_config.h \
+       --replace 'IBUS_RIME_SHARED_DATA_DIR IBUS_RIME_INSTALL_PREFIX' \
+                 'IBUS_RIME_SHARED_DATA_DIR "${brise}"'
+
+    substituteInPlace rime.xml \
+       --replace '/usr' $out
+  '';
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description = "Rime input method engine for IBus";
+    homepage = "https://rime.im/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pengmeiyu ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
index 238e133495c9..32db48503919 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus/default.nix
@@ -60,13 +60,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.22";
+  version = "1.5.23";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "09ynn7gq84q18hhbg6wq2yrliwil42qbzxbwbpggry1s955jg5xb";
+    sha256 = "0qnblqhz8wyhchnm36zrxhbvi9g4fcwcgmw7p60yjybdlhq4asc7";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/keyfuzz/default.nix b/nixpkgs/pkgs/tools/inputmethods/keyfuzz/default.nix
index 489a24c3a589..0b2883f70a45 100644
--- a/nixpkgs/pkgs/tools/inputmethods/keyfuzz/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/keyfuzz/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   version = "0.2";
 
   meta = with stdenv.lib; {
-    description = "Manipulate the scancode/keycode translation tables of keyboard drivers.";
+    description = "Manipulate the scancode/keycode translation tables of keyboard drivers";
     homepage    = "http://0pointer.de/lennart/projects/keyfuzz/";
     license     = licenses.gpl2Plus;
     platforms   = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/inputmethods/netevent/default.nix b/nixpkgs/pkgs/tools/inputmethods/netevent/default.nix
new file mode 100644
index 000000000000..f845111f4b94
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/netevent/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, docutils, installShellFiles }:
+
+stdenv.mkDerivation {
+  pname = "netevent";
+  version = "20201018";
+
+  src = fetchFromGitHub {
+    owner = "Blub";
+    repo = "netevent";
+    rev = "ddd330f0dc956a95a111c58ad10546071058e4c1";
+    sha256 = "0myk91pmim0m51h4b8hplkbxvns0icvfmv0401r0hw8md828nh5c";
+  };
+
+  buildInputs = [ docutils ];
+  nativeBuildInputs = [ installShellFiles ];
+
+  outputs = [ "out" "doc" "man" ];
+
+  configurePhase = ''
+    export RST2MAN=rst2man
+    ./configure
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -m 0755 netevent $out/bin/
+
+    installManPage doc/netevent.1
+
+    mkdir -p $doc/share/doc/netevent
+    cp doc/netevent.rst $doc/share/doc/netevent/netevent.rst
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Share linux event devices with other machines";
+    homepage = "https://github.com/Blub/netevent";
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rgrunbla ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/3mux/default.nix b/nixpkgs/pkgs/tools/misc/3mux/default.nix
index 45c0209e917e..945ebea0cb89 100644
--- a/nixpkgs/pkgs/tools/misc/3mux/default.nix
+++ b/nixpkgs/pkgs/tools/misc/3mux/default.nix
@@ -2,21 +2,27 @@
 
 buildGoModule rec {
   pname = "3mux";
-  version = "0.3.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "aaronjanse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "164jylifkdfsi3r6vmlp5afgly73fqfbad7lbr58wmy21l9x5rcj";
+    sha256 = "sha256-auEMG3txO2JS/2dMFBtEujv9s5I0A80Vwts5kXjH600=";
   };
 
-  vendorSha256 = "0dc1c0z3xkfpwmwb3hafsv7qa6lc7bzz78by5w20rxrrk4r87gic";
+  vendorSha256 = "sha256-rcbnyScD2GU1DLY6dTEPgFNXZfgkxXPn5lt6HRqa0d8=";
 
   meta = with stdenv.lib; {
     description = "Terminal multiplexer inspired by i3";
+    longDescription = ''
+      3mux is a terminal multiplexer with out-of-the-box support for search,
+      mouse-controlled scrollback, and i3-like keybindings. Imagine tmux with a
+      smaller learning curve and more sane defaults.
+    '';
     homepage = "https://github.com/aaronjanse/3mux";
     license = licenses.mit;
-    maintainers = with maintainers; [ aaronjanse filalex77 ];
+    maintainers = with maintainers; [ aaronjanse Br1ght0ne ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
index be47d42dc89f..31ef3e2487be 100644
--- a/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
@@ -20,7 +20,7 @@ buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/pycampers/ampy";
     license = licenses.mit;
-    description = "Utility to interact with a MicroPython board over a serial connection.";
+    description = "Utility to interact with a MicroPython board over a serial connection";
     maintainers = with maintainers; [ etu ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/agedu/default.nix b/nixpkgs/pkgs/tools/misc/agedu/default.nix
index c9bad789ad26..3cdfa36337f8 100644
--- a/nixpkgs/pkgs/tools/misc/agedu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/agedu/default.nix
@@ -1,15 +1,17 @@
 {stdenv, fetchgit, autoreconfHook, halibut}:
 let
-  date = "20200206";
-  rev = "963bc9d";
+  date = "20200705";
+  rev = "2a7d4a2";
 in
 stdenv.mkDerivation {
-  name = "agedu-${date}.${rev}";
+  pname = "agedu";
+  version = "${date}.${rev}";
+
   # upstream provides tarballs but it seems they disappear after the next version is released
   src = fetchgit {
     url = "https://git.tartarus.org/simon/agedu.git";
     inherit rev;
-    sha256 = "1jmvgg2v6aqgbgpxbndrdhgfhlglrq4yv4sdbjaj6bsz9fb8lqhc";
+    sha256 = "gRNscl/vhBoZaHFCs9JjDBHDRoEpILJLtiI4YV+K/b4=";
   };
 
   nativeBuildInputs = [autoreconfHook halibut];
diff --git a/nixpkgs/pkgs/tools/misc/aptly/default.nix b/nixpkgs/pkgs/tools/misc/aptly/default.nix
index 3c97c1684290..6af3238dbd77 100644
--- a/nixpkgs/pkgs/tools/misc/aptly/default.nix
+++ b/nixpkgs/pkgs/tools/misc/aptly/default.nix
@@ -2,14 +2,14 @@
 
 let
 
-  version = "1.3.0";
+  version = "1.4.0";
   rev = "v${version}";
 
   aptlySrc = fetchFromGitHub {
     inherit rev;
     owner = "aptly-dev";
     repo = "aptly";
-    sha256 = "032gw8qkxcgc0jyrvzqh7jkbmk4k0gf7j74hyhclfnjmd9548f5l";
+    sha256 = "06cq761r3bxybb9xn58jii0ggp79mcp3810z1r2z3xcvplwhwnhy";
   };
 
   aptlyCompletionSrc = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/tools/misc/archi/default.nix b/nixpkgs/pkgs/tools/misc/archi/default.nix
new file mode 100644
index 000000000000..41562ccbf711
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/archi/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, fetchurl
+, fetchzip
+, autoPatchelfHook
+, libsecret
+}:
+
+stdenv.mkDerivation rec {
+  pname = "Archi";
+  version = "4.7.1";
+
+  src =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      fetchurl {
+        url = "https://www.archimatetool.com/downloads/archi/Archi-Linux64-${version}.tgz";
+        sha256 = "0sd57cfnh5q2p17sd86c8wgmqyipg29rz6iaa5brq8mwn8ps2fdw";
+      }
+    else if stdenv.hostPlatform.system == "x86_64-darwin" then
+      fetchzip {
+        url = "https://www.archimatetool.com/downloads/archi/Archi-Mac-${version}.zip";
+        sha256 = "1h05lal5jnjwm30dbqvd6gisgrmf1an8xf34f01gs9pwqvqfvmxc";
+      }
+    else
+      throw "Unsupported system";
+
+  buildInputs = [
+    libsecret
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  installPhase =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      ''
+      mkdir -p $out/bin
+        for f in configuration features p2 plugins Archi.ini Archi; do
+          cp $f $out/bin/
+        done
+
+        install -D -m755 Archi $out/bin/Archi
+      ''
+    else
+      ''
+        mkdir -p "$out/Applications"
+        mv Archi.app "$out/Applications/"
+      '';
+
+  meta = with stdenv.lib; {
+    description = "ArchiMate modelling toolkit";
+    longDescription = ''
+      Archi is an open source modelling toolkit to create ArchiMate
+      models and sketches.
+    '';
+    homepage = "https://www.archimatetool.com/";
+    license = licenses.mit;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ earldouglas SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/as-tree/cargo-lock.patch b/nixpkgs/pkgs/tools/misc/as-tree/cargo-lock.patch
new file mode 100644
index 000000000000..f7a06c050d2d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/as-tree/cargo-lock.patch
@@ -0,0 +1,13 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 991ecd8..9e94574 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -11,7 +11,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "as-tree"
+-version = "0.11.1"
++version = "0.12.0"
+ dependencies = [
+  "ansi_term",
+  "atty",
diff --git a/nixpkgs/pkgs/tools/misc/as-tree/default.nix b/nixpkgs/pkgs/tools/misc/as-tree/default.nix
new file mode 100644
index 000000000000..7cc97fd79e46
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/as-tree/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "as-tree";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "jez";
+    repo = pname;
+    rev = version;
+    sha256 = "0c0g32pkyhyvqpgvzlw9244c80npq6s8mxy3may7q4qyd7hi3dz5";
+  };
+
+  cargoSha256 = "0yhd9svdxg7akv61msn7rf3rfblb7kxnyn955dfdwyxbxq48qwpr";
+  # the upstream 0.12.0 release didn't update the Cargo.lock file properly
+  # they have updated their release script, so this patch can be removed
+  # when the next version is released.
+  cargoPatches = [ ./cargo-lock.patch ];
+
+  meta = with lib; {
+    description = "Print a list of paths as a tree of paths";
+    homepage = "https://github.com/jez/as-tree";
+    license = with licenses; [ blueOak100 ];
+    maintainers = with maintainers; [ jshholland ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/asciinema-scenario/default.nix b/nixpkgs/pkgs/tools/misc/asciinema-scenario/default.nix
index 29538f940178..cff96a4ec86c 100644
--- a/nixpkgs/pkgs/tools/misc/asciinema-scenario/default.nix
+++ b/nixpkgs/pkgs/tools/misc/asciinema-scenario/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "109ij5h31bhn44l0wywgpnnlfjgyairxr5l19s6bz47sbka0xyxk";
 
   meta = with stdenv.lib; {
-    description = "Create asciinema videos from a text file.";
+    description = "Create asciinema videos from a text file";
     homepage = "https://github.com/garbas/asciinema-scenario/";
     maintainers = with maintainers; [ garbas ];
     license = with licenses; [ mit ];
diff --git a/nixpkgs/pkgs/tools/misc/autojump/default.nix b/nixpkgs/pkgs/tools/misc/autojump/default.nix
index 85e500388341..c1a55256b35a 100644
--- a/nixpkgs/pkgs/tools/misc/autojump/default.nix
+++ b/nixpkgs/pkgs/tools/misc/autojump/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python, bash }:
+{ stdenv, fetchFromGitHub, python3, bash }:
 
 stdenv.mkDerivation rec {
   pname = "autojump";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws";
   };
 
-  buildInputs = [ python bash ];
+  buildInputs = [ python3 bash ];
   dontBuild = true;
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/autorandr/default.nix b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
index b2bbb161f289..376b66181669 100644
--- a/nixpkgs/pkgs/tools/misc/autorandr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.10.1";
+  version = "1.11";
 in
   stdenv.mkDerivation {
     pname = "autorandr";
@@ -21,6 +21,8 @@ in
         --replace '["xrandr"]' '["${xrandr}/bin/xrandr"]'
     '';
 
+    outputs = [ "out" "man" ];
+
     installPhase = ''
       runHook preInstall
       make install TARGETS='autorandr' PREFIX=$out
@@ -29,6 +31,8 @@ in
 
       make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out
 
+      make install TARGETS='manpage' PREFIX=$man
+
       ${if systemd != null then ''
         make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \
           SYSTEMD_UNIT_DIR=/lib/systemd/system \
@@ -49,7 +53,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = version;
-      sha256 = "0msw9b1hdy3gbq9w5d04mfizhyirz1c648x84mlcbzl8salm7vpg";
+      sha256 = "0rmnqk2bi6bbd2if1rll37mlzlqxzmnazfffdhcpzskxwyaj4yn5";
     };
 
     meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix b/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
index 5de77aea0e04..024454a3472d 100644
--- a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
@@ -1,38 +1,37 @@
 { stdenv, fetchurl, nasm }:
 
 let
-  arch =
-    if      stdenv.hostPlatform.system == "x86_64-linux" then "bandwidth64"
-    else if stdenv.hostPlatform.system == "i686-linux" then "bandwidth32"
-    else if stdenv.hostPlatform.system == "x86_64-darwin" then "bandwidth-mac64"
-    else if stdenv.hostPlatform.system == "i686-darwin" then "bandwidth-mac32"
-    else if stdenv.hostPlatform.system == "i686-cygwin" then "bandwidth-win32"
-    else throw "Unknown architecture";
+  inherit (stdenv.hostPlatform.parsed.cpu) bits;
+  arch = "bandwidth${toString bits}";
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
-    sha256 = "0zpv2qgkbak0llw47qcakhyh2z3zv4d69kasldmpdlpqryd9za84";
+    sha256 = "0x798xj3vhiwq2hal0vmf92sq4h7yalp3i6ylqwhnnpv99m2zws4";
   };
 
-  buildInputs = [ nasm ];
+  postPatch = ''
+    sed -i 's,^CC=gcc .*,,' OOC/Makefile Makefile*
+    sed -i 's,ar ,$(AR) ,g' OOC/Makefile
+  '';
+
+  nativeBuildInputs = [ nasm ];
 
-  buildFlags = [ arch ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ "CC=clang" "LD=clang" ];
+  buildFlags = [ arch ];
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ${arch} $out/bin
-    ln -s ${arch} $out/bin/bandwidth
+    cp ${arch} $out/bin/bandwidth
   '';
 
   meta = with stdenv.lib; {
     homepage = "https://zsmith.co/bandwidth.html";
     description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
-    license = licenses.mit;
-    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
+    platforms = platforms.x86;
+    maintainers = with maintainers; [ r-burns ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/barman/default.nix b/nixpkgs/pkgs/tools/misc/barman/default.nix
index 2105ad0ae017..da79110f9a82 100644
--- a/nixpkgs/pkgs/tools/misc/barman/default.nix
+++ b/nixpkgs/pkgs/tools/misc/barman/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonApplication rec {
   pname = "barman";
-  version = "2.11";
+  version = "2.12";
 
   outputs = [ "out" "man" ];
   src = fetchurl {
     url = "mirror://sourceforge/pgbarman/${version}/barman-${version}.tar.gz";
-    sha256 = "0w5lh4aavab9ynfy2mq09ga6j4vss4k0vlc3g6f5a9i4175g9pmr";
+    sha256 = "Ts8I6tlP2GRp90OIIKXy+cRWWvUO3Sm86zq2dtVP5YE=";
   };
 
   propagatedBuildInputs = [ dateutil argh psycopg2 boto3 argcomplete ];
diff --git a/nixpkgs/pkgs/tools/misc/bat/default.nix b/nixpkgs/pkgs/tools/misc/bat/default.nix
index b4e5501fb739..5c60305a2e74 100644
--- a/nixpkgs/pkgs/tools/misc/bat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bat/default.nix
@@ -1,27 +1,35 @@
-{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, less
-, Security, libiconv, installShellFiles, makeWrapper
+{ stdenv
+, nixosTests
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, less
+, Security
+, libiconv
+, installShellFiles
+, makeWrapper
 }:
 
 rustPlatform.buildRustPackage rec {
-  pname   = "bat";
-  version = "0.15.4";
+  pname = "bat";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
-    owner  = "sharkdp";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "0pjdba2c6p7ldgx2yfffxqlpasrcfrlkw63m1ma34zdq0f287w3p";
+    owner = "sharkdp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kbziqm00skj65gpjq6m83hmfk9g3xyx88gai1r80pzsx8g239w1";
   };
 
-  cargoSha256 = "0myz06hjv4hwzmyqa9l36i9j9d213a0mnq8rvx6wyff7mr9zk99i";
+  cargoSha256 = "1pdja5jhk036hpgv77xc3fcvra1sw0z5jc1ry53i0r7362lnwapz";
 
-  nativeBuildInputs = [ pkgconfig installShellFiles makeWrapper ];
+  nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security libiconv ];
 
   postInstall = ''
     installManPage $releaseDir/build/bat-*/out/assets/manual/bat.1
-    installShellCompletion $releaseDir/build/bat-*/out/assets/completions/bat.fish
+    installShellCompletion $releaseDir/build/bat-*/out/assets/completions/bat.{fish,zsh}
   '';
 
   # Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as
@@ -31,10 +39,12 @@ rustPlatform.buildRustPackage rec {
       --prefix PATH : "${stdenv.lib.makeBinPath [ less ]}"
   '';
 
+  passthru.tests = { inherit (nixosTests) bat; };
+
   meta = with stdenv.lib; {
     description = "A cat(1) clone with syntax highlighting and Git integration";
-    homepage    = "https://github.com/sharkdp/bat";
-    license     = with licenses; [ asl20 /* or */ mit ];
+    homepage = "https://github.com/sharkdp/bat";
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ dywedir lilyball zowoq ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
index 966e71bb6d3b..d7faaf460203 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.196";
+  version = "1.200";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "042ly91525q2qj7985qih4njhjk5ndz8jiz01v860jc38bvw595p";
+    sha256 = "07z686h2fv9b3446fcym0sfzxwgkm9cc4bd3zhpv6j8bdfadnjxw";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix b/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
index e7a9d98aaf23..728967ec3da8 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2sfd";
-  version = "1.1.3";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "fcambus";
     repo = pname;
     rev = version;
-    sha256 = "0v1kkds35qfyv1h5kxc2m7f2gsprg9c7jzpsm3p4f71qn982wry6";
+    sha256 = "1bpadw25barzmmsz9bkrsj3iwbgf945zqfakbgq1yscfb85bfgsp";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/betterdiscordctl/default.nix b/nixpkgs/pkgs/tools/misc/betterdiscordctl/default.nix
new file mode 100644
index 000000000000..9d6159bda50e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/betterdiscordctl/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "betterdiscordctl";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "bb010g";
+    repo = "betterdiscordctl";
+    rev = "v${version}";
+    sha256 = "0qpmm5l8jhm7k0kqblc0bnr9fl4b6z8iddhjar03bb4kqgr962fa";
+  };
+
+  patches = [
+    (fetchpatch { # Required till https://github.com/bb010g/betterdiscordctl/pull/67 is merged upstream.
+      url = "https://github.com/bb010g/betterdiscordctl/pull/67/commits/f1c7170fc2626d9aec4d244977b5a73c401aa1d4.patch";
+      sha256 = "003zqd9ljb9h674sjwjvvdfs7q4cw0p1ydg3lax132vb4vz9k0zi";
+    })
+  ];
+
+  preBuild = "sed -i 's/^nix=$/&yes/g;s/^DISABLE_UPGRADE=$/&yes/g' ./betterdiscordctl";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/doc/betterdiscordctl
+    install -Dm744 betterdiscordctl $out/bin/betterdiscordctl
+    install -Dm644 README.md $out/share/doc/betterdiscordctl/README.md
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/bb010g/betterdiscordctl";
+    description = "A utility for managing BetterDiscord on Linux";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ivar bb010g ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/birdfont/default.nix b/nixpkgs/pkgs/tools/misc/birdfont/default.nix
index 7cec0cab996e..c3361739f0bb 100644
--- a/nixpkgs/pkgs/tools/misc/birdfont/default.nix
+++ b/nixpkgs/pkgs/tools/misc/birdfont/default.nix
@@ -4,11 +4,11 @@ gobject-introspection, gsettings-desktop-schemas, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "birdfont";
-  version = "2.29.0";
+  version = "2.29.1";
 
   src = fetchurl {
     url = "https://birdfont.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "18z3qbrsbfpn00c4xq3ck1mnmvrnqgl9g1s7m4dgc1871fi6sv8w";
+    sha256 = "0620bppcbm9pb8l0d4sc56gfwkr97gw4zjirjz5ikk5lj0m801yi";
   };
 
   nativeBuildInputs = [ python3 pkgconfig vala_0_44 gobject-introspection wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix b/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
index eddcba1c9c89..2d0d43871e83 100644
--- a/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
+++ b/nixpkgs/pkgs/tools/misc/birdfont/xmlbird.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlbird";
-  version = "1.2.11";
+  version = "1.2.12";
 
   src = fetchurl {
     url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz";
-    sha256 = "1ycbgjvywnlc0garw8qjqd18s0xnrwjvssdrb410yschv3wjq1i0";
+    sha256 = "15z4rvii3p54g2hasibjnf83c1702d84367fnl8pbisjqqrdcl04";
   };
 
   nativeBuildInputs = [ python3 pkgconfig vala gobject-introspection ];
diff --git a/nixpkgs/pkgs/tools/misc/bmon/default.nix b/nixpkgs/pkgs/tools/misc/bmon/default.nix
index d99cce78bbfd..a98b2075ada6 100644
--- a/nixpkgs/pkgs/tools/misc/bmon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bmon/default.nix
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses libconfuse libnl ];
 
+  preConfigure = ''
+    # Must be an absolute path
+    export PKG_CONFIG="$(command -v "$PKG_CONFIG")"
+  '';
+
   meta = with stdenv.lib; {
     description = "Network bandwidth monitor";
     homepage = "https://github.com/tgraf/bmon";
diff --git a/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix b/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
index c40ccad5e396..96b13c060e4b 100644
--- a/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, python2Packages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-python2Packages.buildPythonApplication {
+python3Packages.buildPythonApplication {
   pname = "broadlink-cli";
-  inherit (python2Packages.broadlink) version;
+  inherit (python3Packages.broadlink) version;
 
   # the tools are available as part of the source distribution from GH but
   # not pypi, so we have to fetch them here.
   src = fetchFromGitHub {
     owner  = "mjg59";
     repo   = "python-broadlink";
-    # this rev is version 0.9
-    rev    = "766b7b00fb1cec868e3d5fca66f1aada208959ce";
-    sha256 = "0j0idzxmpwkb1lbgvi9df2hbxafm5hxjc6mgg5481lq7z4z1r4nb";
+    # this rev is version 0.15.0
+    rev    = "99add9e6feea6e47be4f3a58783556d7838b759c";
+    sha256 = "1q1q62brvfjcb18i0j4ca5cxqzjwv1iywdrdby0yjqa4wm6ywq6b";
   };
 
   format = "other";
 
-  propagatedBuildInputs = with python2Packages; [
+  propagatedBuildInputs = with python3Packages; [
     broadlink
   ];
 
@@ -32,6 +32,6 @@ python2Packages.buildPythonApplication {
   meta = with stdenv.lib; {
     description = "Tools for interfacing with Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs";
     maintainers = with maintainers; [ peterhoeg ];
-    inherit (python2Packages.broadlink.meta) homepage license;
+    inherit (python3Packages.broadlink.meta) homepage license;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index 62ca179cfdec..e4561c382280 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broot/default.nix
@@ -5,26 +5,24 @@
 , makeWrapper
 , coreutils
 , libiconv
-, xcbuild
 , zlib
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.0.0";
+  version = "1.1.10";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "1dc6lb6ihj4s0mcp1say16j9yr61jdbzhmayxxsm4ansngbzmw45";
+    sha256 = "04nidx43w4nnccgbrw30wg9ai8p7hbklxpn1gc6gr2325yhqvwhl";
   };
 
-  cargoSha256 = "0nqmincayjv1snxz94i14fypc9dv69fxfqqdz3qbcvc2cs62zayg";
+  cargoHash = "sha256-4F9HIQ1BQx4EikyH0DwlDAkYIeUJJbMsj7ZX23QD+K8=";
 
   nativeBuildInputs = [
     makeWrapper
     installShellFiles
-    xcbuild # The cc crate attempts to run xcbuild.
   ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/tools/misc/buildtorrent/default.nix b/nixpkgs/pkgs/tools/misc/buildtorrent/default.nix
index 150371f82b6e..d3d3651c2b05 100644
--- a/nixpkgs/pkgs/tools/misc/buildtorrent/default.nix
+++ b/nixpkgs/pkgs/tools/misc/buildtorrent/default.nix
@@ -1,20 +1,18 @@
 { stdenv, fetchurl }:
 
-let version = "0.8"; in
-
 stdenv.mkDerivation rec {
   pname = "buildtorrent";
-  inherit version;
+  version = "0.8";
 
   src = fetchurl {
     url = "https://mathr.co.uk/blog/code/${pname}-${version}.tar.gz";
-    sha256 = "e8e27647bdb38873ac570d46c1a9689a92b01bb67f59089d1cdd08784f7052d0";
+    sha256 = "sha256-6OJ2R72ziHOsVw1GwalompKwG7Z/WQidHN0IeE9wUtA=";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A simple commandline torrent creator";
-    homepage = "http://mathr.co.uk/blog/torrent.html";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.all;
+    homepage = "https://mathr.co.uk/blog/torrent.html";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/byobu/default.nix b/nixpkgs/pkgs/tools/misc/byobu/default.nix
index ad17c5edd6ee..695ae54d876e 100644
--- a/nixpkgs/pkgs/tools/misc/byobu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/byobu/default.nix
@@ -1,5 +1,11 @@
-{ stdenv, fetchurl, python3, perl, textual-window-manager }:
+{ stdenv, fetchurl, makeWrapper
+, ncurses, python3, perl, textual-window-manager
+, gettext, vim, bc, screen }:
 
+let
+  inherit (stdenv) lib;
+  pythonEnv = python3.withPackages (ps: with ps; [ snack ]);
+in
 stdenv.mkDerivation rec {
   version = "5.133";
   name = "byobu-" + version;
@@ -11,26 +17,59 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  buildInputs = [ python3 perl ];
-  propagatedBuildInputs = [ textual-window-manager ];
+  buildInputs = [ perl makeWrapper gettext ];
+  propagatedBuildInputs = [ textual-window-manager screen ];
 
-  meta = {
+  postPatch = ''
+    substituteInPlace usr/bin/byobu-export.in \
+      --replace "gettext" "${gettext}/bin/gettext"
+    substituteInPlace usr/lib/byobu/menu \
+      --replace "gettext" "${gettext}/bin/gettext"
+  '';
+
+  postInstall = ''
+    # Byobu does not compile its po files for some reason
+    for po in po/*.po; do
+      lang=''${po#po/}
+      lang=''${lang%.po}
+      # Path where byobu looks for translations as observed in the source code and strace
+      mkdir -p $out/share/byobu/po/$lang/LC_MESSAGES/
+      msgfmt $po -o $out/share/byobu/po/$lang/LC_MESSAGES/byobu.mo
+    done
+
+    # Override the symlinks otherwise they mess with the wrapping
+    cp --remove-destination $out/bin/byobu $out/bin/byobu-screen
+    cp --remove-destination $out/bin/byobu $out/bin/byobu-tmux
+
+    for i in $out/bin/byobu*; do
+      # We don't use the usual ".$package-wrapped" because arg0 within the shebang scripts
+      # points to the filename and byobu matches against this to know which backend
+      # to start with
+      file=".$(basename $i)"
+      mv $i $out/bin/$file
+      makeWrapper "$out/bin/$file" "$out/bin/$(basename $i)" --argv0 $(basename $i) \
+        --set BYOBU_PATH ${lib.escapeShellArg (lib.makeBinPath [ vim bc ])} \
+        --set BYOBU_PYTHON "${pythonEnv}/bin/python"
+    done
+  '';
+
+  meta = with stdenv.lib; {
     homepage = "https://launchpad.net/byobu/";
     description = "Text-based window manager and terminal multiplexer";
 
     longDescription =
-      ''Byobu is a GPLv3 open source text-based window manager and terminal multiplexer. 
-        It was originally designed to provide elegant enhancements to the otherwise functional, 
-        plain, practical GNU Screen, for the Ubuntu server distribution. 
-        Byobu now includes an enhanced profiles, convenient keybindings, 
-        configuration utilities, and toggle-able system status notifications for both 
-        the GNU Screen window manager and the more modern Tmux terminal multiplexer, 
+      ''Byobu is a GPLv3 open source text-based window manager and terminal multiplexer.
+        It was originally designed to provide elegant enhancements to the otherwise functional,
+        plain, practical GNU Screen, for the Ubuntu server distribution.
+        Byobu now includes an enhanced profiles, convenient keybindings,
+        configuration utilities, and toggle-able system status notifications for both
+        the GNU Screen window manager and the more modern Tmux terminal multiplexer,
         and works on most Linux, BSD, and Mac distributions.
       '';
 
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
 
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.qknight ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ qknight berbiche ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/calamares/default.nix b/nixpkgs/pkgs/tools/misc/calamares/default.nix
index 8f365d023d2c..a671090460ea 100644
--- a/nixpkgs/pkgs/tools/misc/calamares/default.nix
+++ b/nixpkgs/pkgs/tools/misc/calamares/default.nix
@@ -1,23 +1,24 @@
 { lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore
 , kservice, libatasmart, libxcb, libyamlcpp, parted, polkit-qt, python, qtbase
-, qtquickcontrols, qtsvg, qttools, qtwebengine, utillinux, glibc, tzdata
+, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, glibc, tzdata
 , ckbcomp, xkeyboard_config, mkDerivation
 }:
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.17.1";
+  version = "3.2.35.1";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "156zpjyw8w4y23aa60mvg3d3mr0kzfq5jkl7ixgahq33zpc17ms8";
+    sha256 = "s2wnwcdrcJLG5NhugSkntBCYfPuv3T/9+PclbmK0BJ4=";
   };
 
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
-    boost cmake extra-cmake-modules kparts.dev kpmcore.out kservice.dev
+    boost kparts.dev kpmcore.out kservice.dev
     libatasmart libxcb libyamlcpp parted polkit-qt python qtbase
-    qtquickcontrols qtsvg qttools qtwebengine.dev utillinux
+    qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
   ];
 
   enableParallelBuilding = false;
@@ -32,18 +33,14 @@ mkDerivation rec {
 
   POLKITQT-1_POLICY_FILES_INSTALL_DIR = "$(out)/share/polkit-1/actions";
 
-  patchPhase = ''
+  postPatch = ''
     sed -e "s,/usr/bin/calamares,$out/bin/calamares," \
         -i calamares.desktop \
         -i com.github.calamares.calamares.policy
 
     sed -e 's,/usr/share/zoneinfo,${tzdata}/share/zoneinfo,' \
-        -i src/modules/locale/timezonewidget/localeconst.h \
         -i src/modules/locale/SetTimezoneJob.cpp
 
-    sed -e 's,/usr/share/i18n/locales,${glibc.out}/share/i18n/locales,' \
-        -i src/modules/locale/timezonewidget/localeconst.h
-
     sed -e 's,/usr/share/X11/xkb/rules/base.lst,${xkeyboard_config}/share/X11/xkb/rules/base.lst,' \
         -i src/modules/keyboard/keyboardwidget/keyboardglobal.h
 
@@ -56,8 +53,8 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Distribution-independent installer framework";
-    license = licenses.gpl3;
-    maintainers = with lib.maintainers; [ manveru ];
+    license = with licenses; [ gpl3Plus bsd2 ];
+    maintainers = with maintainers; [ manveru ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/chafa/default.nix b/nixpkgs/pkgs/tools/misc/chafa/default.nix
index 9afdd93ad0a5..5ed477c93a2f 100644
--- a/nixpkgs/pkgs/tools/misc/chafa/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chafa/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
                    ];
 
   meta = with stdenv.lib; {
-    description = "Terminal graphics for the 21st century.";
+    description = "Terminal graphics for the 21st century";
     homepage = "https://hpjansson.org/chafa/";
     license = licenses.lgpl3Plus;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index d7b7646afec3..0722fca4370b 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.8.5";
+  version = "1.8.9";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "16sv1kbd66rllnnl851y3x54wkl0p7g0qsblprvfr9715svk1835";
+    sha256 = "07jsakihci98ww1hgppilq942raz05c5xi2pzq632vq5i11fi0nj";
   };
 
-  vendorSha256 = "1i9d672mzmb97s26n0v01m70g4viyl9pdk25haxr6ny4rab2wbi7";
+  vendorSha256 = "0adva7crl6dachbf76920aniki3zcq9chdjjrzssasm89zqgwicf";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
index 1c38e7c3b8f5..ceef26b577d6 100644
--- a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, unstableGitUpdater
 , makeWrapper
 , curl
 , ncurses
@@ -35,6 +36,8 @@ stdenv.mkDerivation {
       --prefix PATH : "${stdenv.lib.makeBinPath [ curl rlwrap ncurses xsel ]}"
   '';
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with stdenv.lib; {
     description = "CLI client for cheat.sh, a community driven cheat sheet";
     license = licenses.mit;
@@ -42,4 +45,3 @@ stdenv.mkDerivation {
     homepage = "https://github.com/chubin/cheat.sh";
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/misc/clac/default.nix b/nixpkgs/pkgs/tools/misc/clac/default.nix
index 8aea37ebddff..8d6e464e9bb0 100644
--- a/nixpkgs/pkgs/tools/misc/clac/default.nix
+++ b/nixpkgs/pkgs/tools/misc/clac/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub }:
+
 stdenv.mkDerivation rec {
   pname = "clac";
-  version = "0.0.0.20170503";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "soveran";
     repo = "clac";
-    rev = "e92bd5cbab0d694cef945e3478820c9505e06f04";
-    sha256 = "0j8p1npgq32s377c9lw959h5i2csq4yb27cvg7av17bji46816bv";
+    rev = version;
+    sha256 = "rsag8MWl/udwXC0Gj864fAuQ6ts1gzrN2N/zelazqjE=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
@@ -17,12 +18,12 @@ stdenv.mkDerivation rec {
     cp README* LICENSE "$out/share/doc/${pname}"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     inherit version;
     description = "Interactive stack-based calculator";
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
     homepage = "https://github.com/soveran/clac";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/clex/default.nix b/nixpkgs/pkgs/tools/misc/clex/default.nix
index 7a6a78af59a9..af21e971fe07 100644
--- a/nixpkgs/pkgs/tools/misc/clex/default.nix
+++ b/nixpkgs/pkgs/tools/misc/clex/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "clex";
-  version = "4.6.patch9";
+  version = "4.6.patch10";
 
   src = fetchurl {
-    sha256 = "1qj5yp8k90wag5sb3zrm2pn90qqx3zbrgf2gqpqpdqmlgffnv1jc";
+    sha256 = "03niihqk57px7rm2c84qira5jm5vw8lj5s58dximk0w5gsis4fhw";
     url = "${meta.homepage}/download/${pname}-${version}.tar.gz";
   };
 
diff --git a/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix b/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
index d5c5b0ee783d..1bd3def87c41 100644
--- a/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix
@@ -1,31 +1,49 @@
 { stdenv, fetchurl, makeWrapper
-, gawk, gnused, utillinux, file
+, gawk, gnused, util-linux, file
 , wget, python3, qemu-utils, euca2ools
-, e2fsprogs, cdrkit }:
+, e2fsprogs, cdrkit
+, gptfdisk }:
 
-stdenv.mkDerivation rec {
+let
+  # according to https://packages.debian.org/sid/cloud-image-utils + https://packages.debian.org/sid/admin/cloud-guest-utils
+  guestDeps = [
+    e2fsprogs gptfdisk gawk gnused util-linux
+  ];
+  binDeps = guestDeps ++ [
+    wget file qemu-utils cdrkit
+  ];
+in stdenv.mkDerivation rec {
   # NOTICE: if you bump this, make sure to run
   # $ nix-build nixos/release-combined.nix -A nixos.tests.ec2-nixops
   # growpart is needed in initrd in nixos/system/boot/grow-partition.nix
   pname = "cloud-utils";
-  version = "0.31";
+  version = "0.32";
   src = fetchurl {
     url = "https://launchpad.net/cloud-utils/trunk/${version}/+download/cloud-utils-${version}.tar.gz";
-    sha256 = "07fl3dlqwdzw4xx7mcxhpkks6dnmaxha80zgs9f6wmibgzni8z0r";
+    sha256 = "0xxdi55lzw7j91zfajw7jhd2ilsqj2dy04i9brlk8j3pvb5ma8hk";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ python3 ];
   installFlags = [ "LIBDIR=$(out)/lib" "BINDIR=$(out)/bin" "MANDIR=$(out)/man/man1" "DOCDIR=$(out)/doc" ];
 
-  # according to https://packages.ubuntu.com/source/zesty/cloud-utils
-  binDeps = [
-    wget e2fsprogs file gnused gawk utillinux qemu-utils euca2ools cdrkit
-  ];
+  # $guest output contains all executables needed for cloud-init and $out the rest + $guest
+  # This is similar to debian's package split into cloud-image-utils and cloud-guest-utils
+  # The reason is to reduce the closure size
+  outputs = [ "out" "guest"];
 
   postFixup = ''
+    moveToOutput bin/ec2metadata $guest
+    moveToOutput bin/growpart $guest
+    moveToOutput bin/vcs-run $guest
+
     for i in $out/bin/*; do
       wrapProgram $i --prefix PATH : "${stdenv.lib.makeBinPath binDeps}:$out/bin"
     done
+
+    for i in $guest/bin/*; do
+      wrapProgram $i --prefix PATH : "${stdenv.lib.makeBinPath guestDeps}:$guest/bin"
+      ln -s $i $out/bin
+    done
   '';
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/cod/default.nix b/nixpkgs/pkgs/tools/misc/cod/default.nix
index 945f4c61f1d2..6dad6173ed4b 100644
--- a/nixpkgs/pkgs/tools/misc/cod/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cod/default.nix
@@ -4,8 +4,6 @@ buildGoModule rec {
   pname = "cod";
   version = "unstable-2020-09-10";
 
-  goPackagePath = "cod";
-
   src = fetchFromGitHub {
     owner = "dim-an";
     repo = pname;
diff --git a/nixpkgs/pkgs/tools/misc/code-minimap/default.nix b/nixpkgs/pkgs/tools/misc/code-minimap/default.nix
new file mode 100644
index 000000000000..8c43e2b903ca
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/code-minimap/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "code-minimap";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "wfxr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03azqy4i15kfpd0gzjaw2di9xva4xdf95yb65b93z3y9y5wy4krc";
+  };
+
+  cargoSha256 = "1rxrdavj07i7qa5rf1i3aj7zdcp7c6lrg8yiy75r6lm4g98izzww";
+
+  meta = with stdenv.lib; {
+    description = "A high performance code minimap render";
+    homepage = "https://github.com/wfxr/code-minimap";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ bsima ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/codebraid/default.nix b/nixpkgs/pkgs/tools/misc/codebraid/default.nix
index eea5260a989c..79ed7dd01fca 100644
--- a/nixpkgs/pkgs/tools/misc/codebraid/default.nix
+++ b/nixpkgs/pkgs/tools/misc/codebraid/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "codebraid";
-  version = "0.5.0-unstable-2020-07-01";
+  version = "0.5.0-unstable-2020-08-14";
 
   src = fetchFromGitHub {
     owner = "gpoore";
     repo = pname;
-    rev = "c7962587e7f1e619b5dcf9a5e901eb7042520b00";
-    sha256 = "1f31yaiwc33ivjbipym7sggsqwqxn70kgf9dixi8392pk70jzq6p";
+    rev = "526a223c4fc32c37d6c5c9133524dfa0e1811ca4";
+    sha256 = "0qkqaj49k584qzgx9jlsf5vlv4lq7x403s1kig8v87i0kgh55p56";
   };
 
   propagatedBuildInputs = with python3Packages; [ bespon ];
diff --git a/nixpkgs/pkgs/tools/misc/colord/default.nix b/nixpkgs/pkgs/tools/misc/colord/default.nix
index 79d27129173a..1db776c8ff0d 100644
--- a/nixpkgs/pkgs/tools/misc/colord/default.nix
+++ b/nixpkgs/pkgs/tools/misc/colord/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colord";
-  version = "1.4.4";
+  version = "1.4.5";
 
   outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/colord/releases/${pname}-${version}.tar.xz";
-    sha256 = "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws";
+    sha256 = "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/convbin/default.nix b/nixpkgs/pkgs/tools/misc/convbin/default.nix
new file mode 100644
index 000000000000..0abf10710caa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/convbin/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "convbin";
+  version = "3.0";
+
+  src = fetchFromGitHub {
+    owner = "mateoconlechuga";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0n502zj8igm583kbfvyv7zhd97vb71jac41ncb9jr2yz2v5ir8j9";
+  };
+
+  makeFlags = [ "CC=cc" ];
+
+  checkPhase = ''
+    pushd test
+    patchShebangs test.sh
+    ./test.sh
+    popd
+  '';
+
+  doCheck = true;
+
+  installPhase = ''
+    install -Dm755 bin/convbin $out/bin/convbin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Converts files to other formats";
+    longDescription = ''
+      This program is used to convert files to other formats,
+      specifically for the TI84+CE and related calculators.
+    '';
+    homepage = "https://github.com/mateoconlechuga/convbin";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/convfont/default.nix b/nixpkgs/pkgs/tools/misc/convfont/default.nix
new file mode 100644
index 000000000000..0cc181082a4f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/convfont/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "convfont";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "drdnar";
+    repo = pname;
+    rev = "v20190438";
+    sha256 = "1lj24yq5gj9hxhy1srk73521q95zyqzkws0q4v271hf5wmqaxa2f";
+  };
+
+  makeFlags = [ "CC=cc" ];
+
+  installPhase = ''
+    install -Dm755 convfont $out/bin/convfont
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Converts font for use with FontLibC";
+    homepage = "https://github.com/drdnar/convfont";
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/convimg/default.nix b/nixpkgs/pkgs/tools/misc/convimg/default.nix
new file mode 100644
index 000000000000..f9de88cb01e5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/convimg/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "convimg";
+  version = "8.3";
+
+  src = fetchFromGitHub {
+    owner = "mateoconlechuga";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1k2fkzfg08y2gcm8jabmb2plgqmgw6y30m73ys4mmbskxgy7hc3s";
+    fetchSubmodules = true;
+  };
+
+  makeFlags = [ "CC=cc" ];
+
+  checkPhase = ''
+    pushd test
+    patchShebangs test.sh
+    ./test.sh
+    popd
+  '';
+
+  doCheck = true;
+
+  installPhase = ''
+    install -Dm755 bin/convimg $out/bin/convimg
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Image palette quantization";
+    longDescription = ''
+      This program is used to convert images to other formats,
+      specifically for the TI84+CE and related calculators.
+    '';
+    homepage = "https://github.com/mateoconlechuga/convimg";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
index 39e2e041e326..84a5d3b32554 100644
--- a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, zlib, pciutils, coreutils, acpica-tools, iasl, makeWrapper, gnugrep, gnused, file, buildEnv }:
 
 let
-  version = "4.12";
+  version = "4.13";
 
   commonMeta = with stdenv.lib; {
     description = "Various coreboot-related tools";
@@ -16,7 +16,7 @@ let
 
     src = fetchurl {
       url = "https://coreboot.org/releases/coreboot-${version}.tar.xz";
-      sha256 = "1qibds9lsk22wf1sxwg0jg32fgcvc9an39vf74y1hwwvxq0d1jpd";
+      sha256 = "0sl50aajnah4a138sr3jjm3ydc8gfh5vvlhviz3ypp95b9jdlya7";
     };
 
     enableParallelBuilding = true;
@@ -89,7 +89,7 @@ let
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
       installPhase = "install -Dm755 acpidump-all $out/bin/acpidump-all";
-      postFixup = let 
+      postFixup = let
         binPath = [ coreutils  acpica-tools iasl gnugrep  gnused  file ];
       in "wrapProgram $out/bin/acpidump-all --set PATH ${stdenv.lib.makeBinPath binPath}";
     };
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/avoid-false-positive-in-date-debug-test.patch b/nixpkgs/pkgs/tools/misc/coreutils/avoid-false-positive-in-date-debug-test.patch
deleted file mode 100644
index ae1a02d4d202..000000000000
--- a/nixpkgs/pkgs/tools/misc/coreutils/avoid-false-positive-in-date-debug-test.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 0251229bfd9617e8a35cf9dd7d338d63fff74a0c Mon Sep 17 00:00:00 2001
-From: Assaf Gordon <assafgordon@gmail.com>
-Date: Mon, 13 May 2019 16:37:40 -0600
-Subject: [PATCH] tests: avoid false-positive in date-debug test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When debugging an invalid date due to DST switching, the intermediate
-'normalized time' should not be checked - its value can differ between
-systems (e.g. glibc vs musl).
-
-Reported by Niklas Hambüchen in
-https://lists.gnu.org/r/coreutils/2019-05/msg00031.html
-Analyzed by Rich Felker in
-https://lists.gnu.org/r/coreutils/2019-05/msg00039.html
-
-* tests/misc/date-debug.sh: Replace the exact normalized time
-with 'XX:XX:XX' so different values would not trigger test failure.
----
- tests/misc/date-debug.sh | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/tests/misc/date-debug.sh b/tests/misc/date-debug.sh
-index aa47f1abb..2ce6f4ce8 100755
---- a/tests/misc/date-debug.sh
-+++ b/tests/misc/date-debug.sh
-@@ -71,7 +71,7 @@ date: input timezone: TZ="America/Edmonton" in date string
- date: using specified time as starting value: '02:30:00'
- date: error: invalid date/time value:
- date:     user provided time: '(Y-M-D) 2006-04-02 02:30:00'
--date:        normalized time: '(Y-M-D) 2006-04-02 03:30:00'
-+date:        normalized time: '(Y-M-D) 2006-04-02 XX:XX:XX'
- date:                                             --
- date:      possible reasons:
- date:        non-existing due to daylight-saving time;
-@@ -81,7 +81,14 @@ date: invalid date 'TZ="America/Edmonton" 2006-04-02 02:30:00'
- EOF
- 
- # date should return 1 (error) for invalid date
--returns_ 1 date --debug -d "$in2" >out2 2>&1 || fail=1
-+returns_ 1 date --debug -d "$in2" >out2-t 2>&1 || fail=1
-+
-+# The output line of "normalized time" can differ between systems
-+# (e.g. glibc vs musl) and should not be checked.
-+# See: https://lists.gnu.org/archive/html/coreutils/2019-05/msg00039.html
-+sed '/normalized time:/s/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/ XX:XX:XX/' \
-+    out2-t > out2 || framework_failure_
-+
- compare exp2 out2 || fail=1
- 
- ##
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-android-cross.patch b/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-android-cross.patch
deleted file mode 100644
index 97d95d1c5b19..000000000000
--- a/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-android-cross.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 3bd82a82cf4ba693d2c31c7b95aaec4e56dc92a4 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 11 Mar 2019 16:40:29 -0700
-Subject: [PATCH 1/1] strtod: fix clash with strtold
-
-Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
-* lib/strtod.c (compute_minus_zero, minus_zero):
-Simplify by remving the macro / external variable,
-and having just a function.  User changed.  This avoids
-the need for an external variable that might clash.
----
- ChangeLog    |  9 +++++++++
- lib/strtod.c | 11 +++++------
- 2 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/lib/strtod.c b/lib/strtod.c
-index b9eaa51..69b1564 100644
---- a/lib/strtod.c
-+++ b/lib/strtod.c
-@@ -294,16 +294,15 @@ parse_number (const char *nptr,
-    ICC 10.0 has a bug when optimizing the expression -zero.
-    The expression -MIN * MIN does not work when cross-compiling
-    to PowerPC on Mac OS X 10.5.  */
--#if defined __hpux || defined __sgi || defined __ICC
- static DOUBLE
--compute_minus_zero (void)
-+minus_zero (void)
- {
-+#if defined __hpux || defined __sgi || defined __ICC
-   return -MIN * MIN;
--}
--# define minus_zero compute_minus_zero ()
- #else
--DOUBLE minus_zero = -0.0;
-+  return -0.0;
- #endif
-+}
- 
- /* Convert NPTR to a DOUBLE.  If ENDPTR is not NULL, a pointer to the
-    character after the last one used in the number is put in *ENDPTR.  */
-@@ -479,6 +478,6 @@ STRTOD (const char *nptr, char **endptr)
-   /* Special case -0.0, since at least ICC miscompiles negation.  We
-      can't use copysign(), as that drags in -lm on some platforms.  */
-   if (!num && negative)
--    return minus_zero;
-+    return minus_zero ();
-   return negative ? -num : num;
- }
--- 
-1.9.1
-
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch b/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch
deleted file mode 100644
index 02b0b85db312..000000000000
--- a/nixpkgs/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch
+++ /dev/null
@@ -1,1153 +0,0 @@
-From 453ff940449bbbde9ec00f0bbf82a359c5598fc7 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Sat, 23 Mar 2019 23:00:52 +0100
-Subject: [PATCH 1/1] Support cross-compilation to musl libc.
-
-Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
-
-* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
-musl libc.
-* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
-* m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
-* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
-* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
-* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
-* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
-* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
-* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
-* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
-* m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
-* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
-* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
-* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.  // removed
-* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.  // removed
-* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.  // removed
-* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.  // removed
-* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
-* m4/log.m4 (gl_FUNC_LOG): Likewise.  // removed
-* m4/logf.m4 (gl_FUNC_LOGF): Likewise.  // removed
-* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.  // removed
-* m4/log10.m4 (gl_FUNC_LOG10): Likewise.  // removed
-* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.  // removed
-* m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.  // removed
-* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.  // removed
-* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.  // removed
-* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.  // removed
-* m4/log2.m4 (gl_FUNC_LOG2): Likewise.  // removed
-* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.  // removed
-* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
-* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
-* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
-* m4/modf.m4 (gl_FUNC_MODF): Likewise.  // removed
-* m4/modff.m4 (gl_FUNC_MODFF): Likewise.  // removed
-* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.  // removed
-* m4/perror.m4 (gl_FUNC_PERROR): Likewise.
-* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
-gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
-gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
-gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
-gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
-* m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.  // removed
-* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
-* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
-* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.  // removed
-* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.  // removed
-* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.  // removed
-* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.  // removed
-* m4/round.m4 (gl_FUNC_ROUND): Likewise.  // removed
-* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.  // removed
-* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.  // removed
-* m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
-* m4/signbit.m4 (gl_SIGNBIT): Likewise.
-* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
-* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
-* m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
-* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
-* m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
-* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.    // removed
-* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.  // removed
-* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.  // removed
-* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
-* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
-* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
-* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
-* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
----
- m4/calloc.m4           |  4 ++-
- m4/canonicalize.m4     |  4 ++-
- m4/chown.m4            | 22 +++++++------
- m4/d-ino.m4            | 16 +++++-----
- m4/fdopendir.m4        | 12 ++++---
- m4/fnmatch.m4          | 18 ++++++++---
- m4/fpurge.m4           | 24 +++++++++-----
- m4/getcwd-abort-bug.m4 | 11 +++++--
- m4/getcwd.m4           |  4 ++-
- m4/getdelim.m4         | 40 ++++++++++++++----------
- m4/getgroups.m4        |  6 +++-
- m4/getline.m4          | 38 +++++++++++++---------
- m4/gettimeofday.m4     |  4 ++-
- m4/link-follow.m4      |  4 ++-
- m4/malloc.m4           |  4 +--
- m4/mkdir.m4            |  4 ++-
- m4/mkstemp.m4          |  4 ++-
- m4/perror.m4           | 12 ++++---
- m4/printf.m4           | 22 ++++++++++++-
- m4/putenv.m4           |  4 ++-
- m4/realloc.m4          |  4 +--
- m4/setenv.m4           |  4 ++-
- m4/signbit.m4          |  6 +++-
- m4/sleep.m4            |  4 ++-
- m4/stpncpy.m4          | 14 +++++++--
- m4/strerror.m4         |  6 +++-
- m4/strtod.m4           | 10 +++---
- m4/strtold.m4          |  9 ++++--
- m4/tzset.m4            |  4 ++-
- m4/ungetc.m4           | 18 ++++++-----
- m4/usleep.m4           |  4 ++-
- m4/utimes.m4           | 10 +++---
- m4/wcwidth.m4          | 12 ++++---
- 76 files changed, 461 insertions(+), 157 deletions(-)
-
-diff --git a/m4/calloc.m4 b/m4/calloc.m4
-index 012a5bf..d76535d 100644
---- a/m4/calloc.m4
-+++ b/m4/calloc.m4
-@@ -1,4 +1,4 @@
--# calloc.m4 serial 18
-+# calloc.m4 serial 19
-
- # Copyright (C) 2004-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -40,6 +40,8 @@ AC_DEFUN([_AC_FUNC_CALLOC_IF],
-        [case "$host_os" in
-                          # Guess yes on glibc systems.
-           *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
-+                         # Guess yes on musl systems.
-+          *-musl*)       ac_cv_func_calloc_0_nonnull="guessing yes" ;;
-                          # Guess yes on native Windows.
-           mingw*)        ac_cv_func_calloc_0_nonnull="guessing yes" ;;
-                          # If we don't know, assume the worst.
-diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4
-index 5b6e25d..b61747b 100644
---- a/m4/canonicalize.m4
-+++ b/m4/canonicalize.m4
-@@ -1,4 +1,4 @@
--# canonicalize.m4 serial 29
-+# canonicalize.m4 serial 30
-
- dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
-
-@@ -113,6 +113,8 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
-      [case "$host_os" in
-                        # Guess yes on glibc systems.
-         *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;;
-+                       # Guess yes on musl systems.
-+        *-musl*)       gl_cv_func_realpath_works="guessing yes" ;;
-                        # Guess no on native Windows.
-         mingw*)        gl_cv_func_realpath_works="guessing no" ;;
-                        # If we don't know, assume the worst.
-diff --git a/m4/chown.m4 b/m4/chown.m4
-index ecfc0c0..b798325 100644
---- a/m4/chown.m4
-+++ b/m4/chown.m4
-@@ -1,4 +1,4 @@
--# serial 30
-+# serial 32
- # Determine whether we need the chown wrapper.
-
- dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2019 Free Software
-@@ -109,10 +109,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN],
-         [gl_cv_func_chown_slash_works=yes],
-         [gl_cv_func_chown_slash_works=no],
-         [case "$host_os" in
--                   # Guess yes on glibc systems.
--           *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;;
--                   # If we don't know, assume the worst.
--           *)      gl_cv_func_chown_slash_works="guessing no" ;;
-+                    # Guess yes on glibc systems.
-+           *-gnu*)  gl_cv_func_chown_slash_works="guessing yes" ;;
-+                    # Guess yes on musl systems.
-+           *-musl*) gl_cv_func_chown_slash_works="guessing yes" ;;
-+                    # If we don't know, assume the worst.
-+           *)       gl_cv_func_chown_slash_works="guessing no" ;;
-          esac
-         ])
-       rm -f conftest.link conftest.file])
-@@ -145,10 +147,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN],
-         [gl_cv_func_chown_ctime_works=yes],
-         [gl_cv_func_chown_ctime_works=no],
-         [case "$host_os" in
--                   # Guess yes on glibc systems.
--           *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;;
--                   # If we don't know, assume the worst.
--           *)      gl_cv_func_chown_ctime_works="guessing no" ;;
-+                    # Guess yes on glibc systems.
-+           *-gnu*)  gl_cv_func_chown_ctime_works="guessing yes" ;;
-+                    # Guess yes on musl systems.
-+           *-musl*) gl_cv_func_chown_ctime_works="guessing yes" ;;
-+                    # If we don't know, assume the worst.
-+           *)       gl_cv_func_chown_ctime_works="guessing no" ;;
-          esac
-         ])
-       rm -f conftest.file])
-diff --git a/m4/d-ino.m4 b/m4/d-ino.m4
-index f1420cc..87dcacc 100644
---- a/m4/d-ino.m4
-+++ b/m4/d-ino.m4
-@@ -1,4 +1,4 @@
--# serial 18
-+# serial 19
-
- dnl From Jim Meyering.
- dnl
-@@ -40,12 +40,14 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO],
-            [gl_cv_struct_dirent_d_ino=yes],
-            [gl_cv_struct_dirent_d_ino=no],
-            [case "$host_os" in
--                           # Guess yes on glibc systems with Linux kernel.
--              linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
--                           # Guess no on native Windows.
--              mingw*)      gl_cv_struct_dirent_d_ino="guessing no" ;;
--                           # If we don't know, assume the worst.
--              *)           gl_cv_struct_dirent_d_ino="guessing no" ;;
-+                            # Guess yes on glibc systems with Linux kernel.
-+              linux*-gnu*)  gl_cv_struct_dirent_d_ino="guessing yes" ;;
-+                            # Guess yes on musl systems with Linux kernel.
-+              linux*-musl*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
-+                            # Guess no on native Windows.
-+              mingw*)       gl_cv_struct_dirent_d_ino="guessing no" ;;
-+                            # If we don't know, assume the worst.
-+              *)            gl_cv_struct_dirent_d_ino="guessing no" ;;
-             esac
-            ])])
-    case "$gl_cv_struct_dirent_d_ino" in
-diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4
-index 0490551..b2b3b03 100644
---- a/m4/fdopendir.m4
-+++ b/m4/fdopendir.m4
-@@ -1,4 +1,4 @@
--# serial 10
-+# serial 11
- # See if we need to provide fdopendir.
-
- dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
-@@ -45,10 +45,12 @@ DIR *fdopendir (int);
-          [gl_cv_func_fdopendir_works=yes],
-          [gl_cv_func_fdopendir_works=no],
-          [case "$host_os" in
--                    # Guess yes on glibc systems.
--            *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;;
--                    # If we don't know, assume the worst.
--            *)      gl_cv_func_fdopendir_works="guessing no" ;;
-+                     # Guess yes on glibc systems.
-+            *-gnu*)  gl_cv_func_fdopendir_works="guessing yes" ;;
-+                     # Guess yes on musl systems.
-+            *-musl*) gl_cv_func_fdopendir_works="guessing yes" ;;
-+                     # If we don't know, assume the worst.
-+            *)       gl_cv_func_fdopendir_works="guessing no" ;;
-           esac
-          ])])
-     case "$gl_cv_func_fdopendir_works" in
-diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4
-index c264ca7..75ba55b 100644
---- a/m4/fnmatch.m4
-+++ b/m4/fnmatch.m4
-@@ -1,4 +1,4 @@
--# Check for fnmatch - serial 13.  -*- coding: utf-8 -*-
-+# Check for fnmatch - serial 14.  -*- coding: utf-8 -*-
-
- # Copyright (C) 2000-2007, 2009-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
-   m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX])
-
-   AC_REQUIRE([gl_FNMATCH_H])
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-   gl_fnmatch_required_lowercase=`
-     echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]'
-   `
-@@ -117,12 +118,19 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
-             ]])],
-          [eval "$gl_fnmatch_cache_var=yes"],
-          [eval "$gl_fnmatch_cache_var=no"],
--         [eval "$gl_fnmatch_cache_var=\"guessing no\""])
-+         [case "$host_os" in
-+                     # Guess yes on musl systems.
-+            *-musl*) eval "$gl_fnmatch_cache_var=\"guessing yes\"" ;;
-+                     # Guess no otherwise, even on glibc systems.
-+            *)       eval "$gl_fnmatch_cache_var=\"guessing no\"" ;;
-+          esac
-+         ])
-       ])
-     eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
--    if test "$gl_fnmatch_result" != yes; then
--      REPLACE_FNMATCH=1
--    fi
-+    case "$gl_fnmatch_result" in
-+      *yes) ;;
-+      *) REPLACE_FNMATCH=1 ;;
-+    esac
-   fi
-   if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
-     gl_REPLACE_FNMATCH_H
-diff --git a/m4/fpurge.m4 b/m4/fpurge.m4
-index cb21f56..6c5b3e9 100644
---- a/m4/fpurge.m4
-+++ b/m4/fpurge.m4
-@@ -1,4 +1,4 @@
--# fpurge.m4 serial 8
-+# fpurge.m4 serial 9
- dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -7,12 +7,13 @@ dnl with or without modifications, as long as this notice is preserved.
- AC_DEFUN([gl_FUNC_FPURGE],
- [
-   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-   AC_CHECK_FUNCS_ONCE([fpurge])
-   AC_CHECK_FUNCS_ONCE([__fpurge])
-   AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]])
-   if test "x$ac_cv_func_fpurge" = xyes; then
-     HAVE_FPURGE=1
--    # Detect BSD bug.  Only cygwin 1.7 is known to be immune.
-+    # Detect BSD bug.  Only cygwin 1.7 and musl are known to be immune.
-     AC_CACHE_CHECK([whether fpurge works], [gl_cv_func_fpurge_works],
-       [AC_RUN_IFELSE(
-          [AC_LANG_PROGRAM(
-@@ -48,11 +49,20 @@ AC_DEFUN([gl_FUNC_FPURGE],
-                return 13;
-              return 0;
-             ])],
--      [gl_cv_func_fpurge_works=yes], [gl_cv_func_fpurge_works=no],
--      [gl_cv_func_fpurge_works='guessing no'])])
--    if test "x$gl_cv_func_fpurge_works" != xyes; then
--      REPLACE_FPURGE=1
--    fi
-+         [gl_cv_func_fpurge_works=yes],
-+         [gl_cv_func_fpurge_works=no],
-+         [case "$host_os" in
-+                     # Guess yes on musl systems.
-+            *-musl*) gl_cv_func_fpurge_works="guessing yes" ;;
-+                     # Guess no otherwise.
-+            *)       gl_cv_func_fpurge_works="guessing no" ;;
-+          esac
-+         ])
-+      ])
-+    case "$gl_cv_func_fpurge_works" in
-+      *yes) ;;
-+      *) REPLACE_FPURGE=1 ;;
-+    esac
-   else
-     HAVE_FPURGE=0
-   fi
-diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4
-index f0f24a5..7227f08 100644
---- a/m4/getcwd-abort-bug.m4
-+++ b/m4/getcwd-abort-bug.m4
-@@ -1,4 +1,4 @@
--# serial 9
-+# serial 11
- # Determine whether getcwd aborts when the length of the working directory
- # name is unusually large.  Any length between 4k and 16k trigger the bug
- # when using glibc-2.4.90-9 or older.
-@@ -13,6 +13,7 @@
- # gl_FUNC_GETCWD_ABORT_BUG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
- AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG],
- [
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-   AC_CHECK_DECLS_ONCE([getcwd])
-   AC_CHECK_HEADERS_ONCE([unistd.h])
-   AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ])
-@@ -142,7 +143,13 @@ main ()
-         else
-           gl_cv_func_getcwd_abort_bug=no
-         fi],
--       [gl_cv_func_getcwd_abort_bug=yes])
-+       [case "$host_os" in
-+                   # Guess no on musl systems.
-+          *-musl*) gl_cv_func_getcwd_abort_bug="guessing no" ;;
-+                   # Guess yes otherwise, even on glibc systems.
-+          *)       gl_cv_func_getcwd_abort_bug="guessing yes"
-+        esac
-+       ])
-     ])
-   AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2])
- ])
-diff --git a/m4/getcwd.m4 b/m4/getcwd.m4
-index 4929b51..625171a 100644
---- a/m4/getcwd.m4
-+++ b/m4/getcwd.m4
-@@ -6,7 +6,7 @@
- # with or without modifications, as long as this notice is preserved.
-
- # Written by Paul Eggert.
--# serial 16
-+# serial 17
-
- AC_DEFUN([gl_FUNC_GETCWD_NULL],
-   [
-@@ -50,6 +50,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
-         [[case "$host_os" in
-                            # Guess yes on glibc systems.
-             *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";;
-+                           # Guess yes on musl systems.
-+            *-musl*)       gl_cv_func_getcwd_null="guessing yes";;
-                            # Guess yes on Cygwin.
-             cygwin*)       gl_cv_func_getcwd_null="guessing yes";;
-                            # If we don't know, assume the worst.
-diff --git a/m4/getdelim.m4 b/m4/getdelim.m4
-index bf17c57..e77c379 100644
---- a/m4/getdelim.m4
-+++ b/m4/getdelim.m4
-@@ -1,4 +1,4 @@
--# getdelim.m4 serial 12
-+# getdelim.m4 serial 13
-
- dnl Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
- dnl
-@@ -11,6 +11,7 @@ AC_PREREQ([2.59])
- AC_DEFUN([gl_FUNC_GETDELIM],
- [
-   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-   dnl Persuade glibc <stdio.h> to declare getdelim().
-   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-@@ -21,9 +22,10 @@ AC_DEFUN([gl_FUNC_GETDELIM],
-   if test $ac_cv_func_getdelim = yes; then
-     HAVE_GETDELIM=1
-     dnl Found it in some library.  Verify that it works.
--    AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim],
--    [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
--    AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+    AC_CACHE_CHECK([for working getdelim function],
-+      [gl_cv_func_working_getdelim],
-+      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
-+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #    include <stdio.h>
- #    include <stdlib.h>
- #    include <string.h>
-@@ -53,25 +55,31 @@ AC_DEFUN([gl_FUNC_GETDELIM],
-       fclose (in);
-       return 0;
-     }
--    ]])], [gl_cv_func_working_getdelim=yes] dnl The library version works.
--    , [gl_cv_func_working_getdelim=no] dnl The library version does NOT work.
--    , dnl We're cross compiling. Assume it works on glibc2 systems.
--      [AC_EGREP_CPP([Lucky GNU user],
--         [
-+    ]])],
-+         [gl_cv_func_working_getdelim=yes],
-+         [gl_cv_func_working_getdelim=no],
-+         [dnl We're cross compiling.
-+          dnl Guess it works on glibc2 systems and musl systems.
-+          AC_EGREP_CPP([Lucky GNU user],
-+            [
- #include <features.h>
- #ifdef __GNU_LIBRARY__
-  #if (__GLIBC__ >= 2) && !defined __UCLIBC__
-   Lucky GNU user
-  #endif
- #endif
--         ],
--         [gl_cv_func_working_getdelim="guessing yes"],
--         [gl_cv_func_working_getdelim="guessing no"])]
--    )])
-+            ],
-+            [gl_cv_func_working_getdelim="guessing yes"],
-+            [case "$host_os" in
-+               *-musl*) gl_cv_func_working_getdelim="guessing yes" ;;
-+               *)       gl_cv_func_working_getdelim="guessing no" ;;
-+             esac
-+            ])
-+         ])
-+      ])
-     case "$gl_cv_func_working_getdelim" in
--      *no)
--        REPLACE_GETDELIM=1
--        ;;
-+      *yes) ;;
-+      *) REPLACE_GETDELIM=1 ;;
-     esac
-   else
-     HAVE_GETDELIM=0
-diff --git a/m4/getgroups.m4 b/m4/getgroups.m4
-index 2ce986e..c93447b 100644
---- a/m4/getgroups.m4
-+++ b/m4/getgroups.m4
-@@ -1,4 +1,4 @@
--# serial 21
-+# serial 22
-
- dnl From Jim Meyering.
- dnl A wrapper around AC_FUNC_GETGROUPS.
-@@ -42,6 +42,8 @@ AC_DEFUN([AC_FUNC_GETGROUPS],
-          [case "$host_os" in # ((
-                            # Guess yes on glibc systems.
-             *-gnu* | gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
-+                           # Guess yes on musl systems.
-+            *-musl*)       ac_cv_func_getgroups_works="guessing yes" ;;
-                            # If we don't know, assume the worst.
-             *)             ac_cv_func_getgroups_works="guessing no" ;;
-           esac
-@@ -95,6 +97,8 @@ AC_DEFUN([gl_FUNC_GETGROUPS],
-           [case "$host_os" in
-                             # Guess yes on glibc systems.
-              *-gnu* | gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
-+                            # Guess yes on musl systems.
-+             *-musl*)       gl_cv_func_getgroups_works="guessing yes" ;;
-                             # If we don't know, assume the worst.
-              *)             gl_cv_func_getgroups_works="guessing no" ;;
-            esac
-diff --git a/m4/getline.m4 b/m4/getline.m4
-index 5b2ead2..32f771c 100644
---- a/m4/getline.m4
-+++ b/m4/getline.m4
-@@ -1,4 +1,4 @@
--# getline.m4 serial 28
-+# getline.m4 serial 29
-
- dnl Copyright (C) 1998-2003, 2005-2007, 2009-2019 Free Software Foundation,
- dnl Inc.
-@@ -16,6 +16,7 @@ dnl to do with the function we need.
- AC_DEFUN([gl_FUNC_GETLINE],
- [
-   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-   dnl Persuade glibc <stdio.h> to declare getline().
-   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-@@ -28,9 +29,10 @@ AC_DEFUN([gl_FUNC_GETLINE],
-                  gl_getline_needs_run_time_check=yes],
-                 [am_cv_func_working_getline=no])
-   if test $gl_getline_needs_run_time_check = yes; then
--    AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline],
--    [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
--    AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+    AC_CACHE_CHECK([for working getline function],
-+      [am_cv_func_working_getline],
-+      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
-+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #    include <stdio.h>
- #    include <stdlib.h>
- #    include <string.h>
-@@ -61,21 +63,28 @@ AC_DEFUN([gl_FUNC_GETLINE],
-       fclose (in);
-       return 0;
-     }
--    ]])], [am_cv_func_working_getline=yes] dnl The library version works.
--    , [am_cv_func_working_getline=no] dnl The library version does NOT work.
--    , dnl We're cross compiling. Assume it works on glibc2 systems.
--      [AC_EGREP_CPP([Lucky GNU user],
--         [
-+    ]])],
-+         [am_cv_func_working_getline=yes],
-+         [am_cv_func_working_getline=no],
-+         [dnl We're cross compiling.
-+          dnl Guess it works on glibc2 systems and musl systems.
-+          AC_EGREP_CPP([Lucky GNU user],
-+            [
- #include <features.h>
- #ifdef __GNU_LIBRARY__
-  #if (__GLIBC__ >= 2) && !defined __UCLIBC__
-   Lucky GNU user
-  #endif
- #endif
--         ],
--         [am_cv_func_working_getline="guessing yes"],
--         [am_cv_func_working_getline="guessing no"])]
--    )])
-+            ],
-+            [am_cv_func_working_getline="guessing yes"],
-+            [case "$host_os" in
-+               *-musl*) am_cv_func_working_getline="guessing yes" ;;
-+               *)       am_cv_func_working_getline="guessing no" ;;
-+             esac
-+            ])
-+         ])
-+      ])
-   fi
-
-   if test $ac_cv_have_decl_getline = no; then
-@@ -83,7 +92,8 @@ AC_DEFUN([gl_FUNC_GETLINE],
-   fi
-
-   case "$am_cv_func_working_getline" in
--    *no)
-+    *yes) ;;
-+    *)
-       dnl Set REPLACE_GETLINE always: Even if we have not found the broken
-       dnl getline function among $LIBS, it may exist in libinet and the
-       dnl executable may be linked with -linet.
-diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4
-index d29b4bf..5e2ef6f 100644
---- a/m4/gettimeofday.m4
-+++ b/m4/gettimeofday.m4
-@@ -1,4 +1,4 @@
--# serial 25
-+# serial 26
-
- # Copyright (C) 2001-2003, 2005, 2007, 2009-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -105,6 +105,8 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
-       case "$host_os" in
-                        # Guess all is fine on glibc systems.
-         *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-+                       # Guess all is fine on musl systems.
-+        *-musl*)       gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                        # Guess no on native Windows.
-         mingw*)        gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                        # If we don't know, assume the worst.
-diff --git a/m4/link-follow.m4 b/m4/link-follow.m4
-index cbd2dca..8ac7301 100644
---- a/m4/link-follow.m4
-+++ b/m4/link-follow.m4
-@@ -1,4 +1,4 @@
--# serial 20
-+# serial 21
- dnl Run a program to determine whether link(2) follows symlinks.
- dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
-
-@@ -88,6 +88,8 @@ AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK],
-             case "$host_os" in
-                                   # On glibc/Linux we know the result.
-               linux*-gnu* | gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
-+                                  # On musl/Linux we know the result.
-+              linux*-musl*)       gl_cv_func_link_follows_symlink="guessing no" ;;
-                                   # Otherwise, we don't know.
-               *)                  gl_cv_func_link_follows_symlink=unknown ;;
-             esac
-diff --git a/m4/malloc.m4 b/m4/malloc.m4
-index b9b8d4b..c469c45 100644
---- a/m4/malloc.m4
-+++ b/m4/malloc.m4
-@@ -1,4 +1,4 @@
--# malloc.m4 serial 17
-+# malloc.m4 serial 19
- dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
-        [ac_cv_func_malloc_0_nonnull=no],
-        [case "$host_os" in
-           # Guess yes on platforms where we know the result.
--          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
-+          *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
-           | hpux* | solaris* | cygwin* | mingw*)
-             ac_cv_func_malloc_0_nonnull="guessing yes" ;;
-           # If we don't know, assume the worst.
-diff --git a/m4/mkdir.m4 b/m4/mkdir.m4
-index 4cd9590..366a3cd 100644
---- a/m4/mkdir.m4
-+++ b/m4/mkdir.m4
-@@ -1,4 +1,4 @@
--# serial 14
-+# serial 15
-
- # Copyright (C) 2001, 2003-2004, 2006, 2008-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -62,6 +62,8 @@ AC_DEFUN([gl_FUNC_MKDIR],
-       [case "$host_os" in
-                         # Guess yes on glibc systems.
-          *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
-+                        # Guess yes on musl systems.
-+         *-musl*)       gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
-                         # Guess no on native Windows.
-          mingw*)        gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
-                         # If we don't know, assume the worst.
-diff --git a/m4/mkstemp.m4 b/m4/mkstemp.m4
-index ae24c3b..1b15c2e 100644
---- a/m4/mkstemp.m4
-+++ b/m4/mkstemp.m4
-@@ -1,4 +1,4 @@
--#serial 25
-+#serial 26
-
- # Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -59,6 +59,8 @@ AC_DEFUN([gl_FUNC_MKSTEMP],
-           [case "$host_os" in
-                             # Guess yes on glibc systems.
-              *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
-+                            # Guess yes on musl systems.
-+             *-musl*)       gl_cv_func_working_mkstemp="guessing yes" ;;
-                             # Guess no on native Windows.
-              mingw*)        gl_cv_func_working_mkstemp="guessing no" ;;
-                             # If we don't know, assume the worst.
-diff --git a/m4/perror.m4 b/m4/perror.m4
-index 335be72..08e2db1 100644
---- a/m4/perror.m4
-+++ b/m4/perror.m4
-@@ -1,4 +1,4 @@
--# perror.m4 serial 7
-+# perror.m4 serial 8
- dnl Copyright (C) 2008-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -48,10 +48,12 @@ AC_DEFUN([gl_FUNC_PERROR],
-             rm -rf conftest.txt1 conftest.txt2],
-            [gl_cv_func_perror_works=no],
-            [case "$host_os" in
--                      # Guess yes on native Windows.
--              mingw*) gl_cv_func_perror_works="guessing yes" ;;
--                      # Otherwise guess no.
--              *)      gl_cv_func_perror_works="guessing no" ;;
-+                       # Guess yes on musl systems.
-+              *-musl*) gl_cv_func_perror_works="guessing yes" ;;
-+                       # Guess yes on native Windows.
-+              mingw*)  gl_cv_func_perror_works="guessing yes" ;;
-+                       # Otherwise guess no.
-+              *)       gl_cv_func_perror_works="guessing no" ;;
-             esac
-            ])
-         ])
-diff --git a/m4/printf.m4 b/m4/printf.m4
-index cbf6ae4..6d2280e 100644
---- a/m4/printf.m4
-+++ b/m4/printf.m4
-@@ -1,4 +1,4 @@
--# printf.m4 serial 60
-+# printf.m4 serial 61
- dnl Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -62,6 +62,8 @@ int main ()
- changequote(,)dnl
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_printf_sizes_c99="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_printf_sizes_c99="guessing yes";;
-                                  # Guess yes on FreeBSD >= 5.
-            freebsd[1-4].*)       gl_cv_func_printf_sizes_c99="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
-@@ -240,6 +242,8 @@ int main ()
- changequote(,)dnl
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_printf_infinite="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_printf_infinite="guessing yes";;
-                                  # Guess yes on FreeBSD >= 6.
-            freebsd[1-5].*)       gl_cv_func_printf_infinite="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
-@@ -457,6 +461,8 @@ int main ()
- changequote(,)dnl
-                                          # Guess yes on glibc systems.
-                    *-gnu* | gnu*)        gl_cv_func_printf_infinite_long_double="guessing yes";;
-+                                         # Guess yes on musl systems.
-+                   *-musl*)              gl_cv_func_printf_infinite_long_double="guessing yes";;
-                                          # Guess yes on FreeBSD >= 6.
-                    freebsd[1-5].*)       gl_cv_func_printf_infinite_long_double="guessing no";;
-                    freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
-@@ -575,6 +581,8 @@ int main ()
-                [gl_cv_func_printf_directive_a="guessing yes"],
-                [gl_cv_func_printf_directive_a="guessing no"])
-              ;;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_printf_directive_a="guessing yes";;
-                                  # Guess no on Android.
-            linux*-android*)      gl_cv_func_printf_directive_a="guessing no";;
-                                  # Guess no on native Windows.
-@@ -625,6 +633,8 @@ int main ()
- changequote(,)dnl
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_printf_directive_f="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_printf_directive_f="guessing yes";;
-                                  # Guess yes on FreeBSD >= 6.
-            freebsd[1-5].*)       gl_cv_func_printf_directive_f="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
-@@ -960,6 +970,8 @@ changequote(,)dnl
-          case "$host_os" in
-                             # Guess yes on glibc systems.
-            *-gnu* | gnu*)   gl_cv_func_printf_flag_zero="guessing yes";;
-+                            # Guess yes on musl systems.
-+           *-musl*)         gl_cv_func_printf_flag_zero="guessing yes";;
-                             # Guess yes on BeOS.
-            beos*)           gl_cv_func_printf_flag_zero="guessing yes";;
-                             # Guess no on Android.
-@@ -1206,6 +1218,8 @@ changequote(,)dnl
-          case "$host_os" in
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_snprintf_truncation_c99="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
-                                  # Guess yes on FreeBSD >= 5.
-            freebsd[1-4].*)       gl_cv_func_snprintf_truncation_c99="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
-@@ -1308,6 +1322,8 @@ int main ()
- changequote(,)dnl
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_snprintf_retval_c99="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
-                                  # Guess yes on FreeBSD >= 5.
-            freebsd[1-4].*)       gl_cv_func_snprintf_retval_c99="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
-@@ -1400,6 +1416,8 @@ changequote(,)dnl
-          case "$host_os" in
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_snprintf_directive_n="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_snprintf_directive_n="guessing yes";;
-                                  # Guess yes on FreeBSD >= 5.
-            freebsd[1-4].*)       gl_cv_func_snprintf_directive_n="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
-@@ -1554,6 +1572,8 @@ changequote(,)dnl
-          case "$host_os" in
-                                  # Guess yes on glibc systems.
-            *-gnu* | gnu*)        gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
-+                                 # Guess yes on musl systems.
-+           *-musl*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
-                                  # Guess yes on FreeBSD >= 5.
-            freebsd[1-4].*)       gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
-            freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
-diff --git a/m4/putenv.m4 b/m4/putenv.m4
-index f8960f6..342ba26 100644
---- a/m4/putenv.m4
-+++ b/m4/putenv.m4
-@@ -1,4 +1,4 @@
--# putenv.m4 serial 22
-+# putenv.m4 serial 23
- dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -36,6 +36,8 @@ AC_DEFUN([gl_FUNC_PUTENV],
-              [case "$host_os" in
-                                # Guess yes on glibc systems.
-                 *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-+                               # Guess yes on musl systems.
-+                *-musl*)       gl_cv_func_svid_putenv="guessing yes" ;;
-                                # Guess no on native Windows.
-                 mingw*)        gl_cv_func_svid_putenv="guessing no" ;;
-                                # If we don't know, assume the worst.
-diff --git a/m4/realloc.m4 b/m4/realloc.m4
-index f9f15ad..93066e8 100644
---- a/m4/realloc.m4
-+++ b/m4/realloc.m4
-@@ -1,4 +1,4 @@
--# realloc.m4 serial 15
-+# realloc.m4 serial 17
- dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
-        [ac_cv_func_realloc_0_nonnull=no],
-        [case "$host_os" in
-           # Guess yes on platforms where we know the result.
--          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
-+          *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
-           | hpux* | solaris* | cygwin* | mingw*)
-             ac_cv_func_realloc_0_nonnull="guessing yes" ;;
-           # If we don't know, assume the worst.
-diff --git a/m4/setenv.m4 b/m4/setenv.m4
-index 6101274..a8f83d6 100644
---- a/m4/setenv.m4
-+++ b/m4/setenv.m4
-@@ -1,4 +1,4 @@
--# setenv.m4 serial 27
-+# setenv.m4 serial 28
- dnl Copyright (C) 2001-2004, 2006-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -37,6 +37,8 @@ AC_DEFUN([gl_FUNC_SETENV],
-       [case "$host_os" in
-                         # Guess yes on glibc systems.
-          *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-+                        # Guess yes on musl systems.
-+         *-musl*)       gl_cv_func_setenv_works="guessing yes" ;;
-                         # If we don't know, assume the worst.
-          *)             gl_cv_func_setenv_works="guessing no" ;;
-        esac
-diff --git a/m4/signbit.m4 b/m4/signbit.m4
-index bf5bce5..f7f2f3d 100644
---- a/m4/signbit.m4
-+++ b/m4/signbit.m4
-@@ -1,4 +1,4 @@
--# signbit.m4 serial 16
-+# signbit.m4 serial 17
- dnl Copyright (C) 2007-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
-         [case "$host_os" in
-                           # Guess yes on glibc systems.
-            *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_signbit="guessing yes" ;;
-                           # Guess yes on native Windows.
-            mingw*)        gl_cv_func_signbit="guessing yes" ;;
-                           # If we don't know, assume the worst.
-@@ -62,6 +64,8 @@ AC_DEFUN([gl_SIGNBIT],
-         [case "$host_os" in
-                           # Guess yes on glibc systems.
-            *-gnu* | gnu*) gl_cv_func_signbit_gcc="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_signbit_gcc="guessing yes" ;;
-                           # Guess yes on mingw, no on MSVC.
-            mingw*)        if test -n "$GCC"; then
-                             gl_cv_func_signbit_gcc="guessing yes"
-diff --git a/m4/sleep.m4 b/m4/sleep.m4
-index 5f71cc7..7bab467 100644
---- a/m4/sleep.m4
-+++ b/m4/sleep.m4
-@@ -1,4 +1,4 @@
--# sleep.m4 serial 9
-+# sleep.m4 serial 10
- dnl Copyright (C) 2007-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -48,6 +48,8 @@ handle_alarm (int sig)
-       [case "$host_os" in
-                         # Guess yes on glibc systems.
-          *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
-+                        # Guess yes on musl systems.
-+         *-musl*)       gl_cv_func_sleep_works="guessing yes" ;;
-                         # Guess no on native Windows.
-          mingw*)        gl_cv_func_sleep_works="guessing no" ;;
-                         # If we don't know, assume the worst.
-diff --git a/m4/stpncpy.m4 b/m4/stpncpy.m4
-index 83425dd..f8e1a7c 100644
---- a/m4/stpncpy.m4
-+++ b/m4/stpncpy.m4
-@@ -1,4 +1,4 @@
--# stpncpy.m4 serial 16
-+# stpncpy.m4 serial 17
- dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 Free Software Foundation,
- dnl Inc.
- dnl This file is free software; the Free Software Foundation
-@@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved.
-
- AC_DEFUN([gl_FUNC_STPNCPY],
- [
-+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-+
-   dnl Persuade glibc <string.h> to declare stpncpy().
-   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
-@@ -69,12 +71,18 @@ int main ()
- ]])],
-         [gl_cv_func_stpncpy=yes],
-         [gl_cv_func_stpncpy=no],
--        [AC_EGREP_CPP([Thanks for using GNU], [
-+        [dnl Guess yes on glibc systems and musl systems.
-+         AC_EGREP_CPP([Thanks for using GNU], [
- #include <features.h>
- #ifdef __GNU_LIBRARY__
-   Thanks for using GNU
- #endif
--], [gl_cv_func_stpncpy="guessing yes"], [gl_cv_func_stpncpy="guessing no"])
-+],         [gl_cv_func_stpncpy="guessing yes"],
-+           [case "$host_os" in
-+              *-musl*) gl_cv_func_stpncpy="guessing yes" ;;
-+              *)       gl_cv_func_stpncpy="guessing no" ;;
-+            esac
-+           ])
-         ])
-     ])
-     case "$gl_cv_func_stpncpy" in
-diff --git a/m4/strerror.m4 b/m4/strerror.m4
-index b452f7f..2c90f31 100644
---- a/m4/strerror.m4
-+++ b/m4/strerror.m4
-@@ -1,4 +1,4 @@
--# strerror.m4 serial 19
-+# strerror.m4 serial 20
- dnl Copyright (C) 2002, 2007-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -26,6 +26,8 @@ AC_DEFUN([gl_FUNC_STRERROR],
-         [case "$host_os" in
-                           # Guess yes on glibc systems.
-            *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_working_strerror="guessing yes" ;;
-                           # If we don't know, assume the worst.
-            *)             gl_cv_func_working_strerror="guessing no" ;;
-          esac
-@@ -80,6 +82,8 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
-       [case "$host_os" in
-                         # Guess yes on glibc systems.
-          *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-+                        # Guess yes on musl systems.
-+         *-musl*)       gl_cv_func_strerror_0_works="guessing yes" ;;
-                         # Guess yes on native Windows.
-          mingw*)        gl_cv_func_strerror_0_works="guessing yes" ;;
-                         # If we don't know, assume the worst.
-diff --git a/m4/strtod.m4 b/m4/strtod.m4
-index 9912217..d68ab75 100644
---- a/m4/strtod.m4
-+++ b/m4/strtod.m4
-@@ -1,4 +1,4 @@
--# strtod.m4 serial 24
-+# strtod.m4 serial 25
- dnl Copyright (C) 2002-2003, 2006-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -115,9 +115,11 @@ numeric_equal (double x, double y)
-            ],
-            [gl_cv_func_strtod_works="guessing yes"],
-            [case "$host_os" in
--                      # Guess yes on native Windows.
--              mingw*) gl_cv_func_strtod_works="guessing yes" ;;
--              *)      gl_cv_func_strtod_works="guessing no" ;;
-+                       # Guess yes on musl systems.
-+              *-musl*) gl_cv_func_strtod_works="guessing yes" ;;
-+                       # Guess yes on native Windows.
-+              mingw*)  gl_cv_func_strtod_works="guessing yes" ;;
-+              *)       gl_cv_func_strtod_works="guessing no" ;;
-             esac
-            ])
-         ])
-diff --git a/m4/strtold.m4 b/m4/strtold.m4
-index 16b4eda..17125fe 100644
---- a/m4/strtold.m4
-+++ b/m4/strtold.m4
-@@ -1,4 +1,4 @@
--# strtold.m4 serial 2
-+# strtold.m4 serial 4
- dnl Copyright (C) 2002-2003, 2006-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -98,7 +98,12 @@ numeric_equal (long double x, long double y)
- #endif
-            ],
-            [gl_cv_func_strtold_works="guessing yes"],
--           [gl_cv_func_strtod_works="guessing no"])
-+           [case "$host_os" in
-+                       # Guess yes on musl systems.
-+              *-musl*) gl_cv_func_strtold_works="guessing yes" ;;
-+              *)       gl_cv_func_strtold_works="guessing no" ;;
-+            esac
-+           ])
-         ])
-       ])
-     case "$gl_cv_func_strtold_works" in
-diff --git a/m4/tzset.m4 b/m4/tzset.m4
-index 1278801..afdfa8e 100644
---- a/m4/tzset.m4
-+++ b/m4/tzset.m4
-@@ -1,4 +1,4 @@
--# serial 11
-+# serial 12
-
- # Copyright (C) 2003, 2007, 2009-2019 Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
-@@ -70,6 +70,8 @@ main ()
-        [case "$host_os" in
-                          # Guess all is fine on glibc systems.
-           *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
-+                         # Guess all is fine on musl systems.
-+          *-musl*)       gl_cv_func_tzset_clobber="guessing no" ;;
-                          # Guess no on native Windows.
-           mingw*)        gl_cv_func_tzset_clobber="guessing no" ;;
-                          # If we don't know, assume the worst.
-diff --git a/m4/ungetc.m4 b/m4/ungetc.m4
-index ab8757b..08baf33 100644
---- a/m4/ungetc.m4
-+++ b/m4/ungetc.m4
-@@ -1,4 +1,4 @@
--# ungetc.m4 serial 6
-+# ungetc.m4 serial 7
- dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -41,12 +41,16 @@ AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS],
-            remove ("conftest.tmp");])],
-         [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no],
-         [case "$host_os" in
--                                       # Guess yes on glibc and bionic systems.
--           *-gnu* | gnu* | *-android*) gl_cv_func_ungetc_works="guessing yes" ;;
--                                       # Guess yes on native Windows.
--           mingw*)                     gl_cv_func_ungetc_works="guessing yes" ;;
--                                       # If we don't know, assume the worst.
--           *)                          gl_cv_func_ungetc_works="guessing no" ;;
-+                          # Guess yes on glibc systems.
-+           *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_ungetc_works="guessing yes" ;;
-+                          # Guess yes on bionic systems.
-+           *-android*)    gl_cv_func_ungetc_works="guessing yes" ;;
-+                          # Guess yes on native Windows.
-+           mingw*)        gl_cv_func_ungetc_works="guessing yes" ;;
-+                          # If we don't know, assume the worst.
-+           *)             gl_cv_func_ungetc_works="guessing no" ;;
-          esac
-         ])
-     ])
-diff --git a/m4/usleep.m4 b/m4/usleep.m4
-index 59605a8..4a6bff0 100644
---- a/m4/usleep.m4
-+++ b/m4/usleep.m4
-@@ -1,4 +1,4 @@
--# usleep.m4 serial 5
-+# usleep.m4 serial 6
- dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -31,6 +31,8 @@ AC_DEFUN([gl_FUNC_USLEEP],
-         [case "$host_os" in
-                           # Guess yes on glibc systems.
-            *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_usleep_works="guessing yes" ;;
-                           # Guess no on native Windows.
-            mingw*)        gl_cv_func_usleep_works="guessing no" ;;
-                           # If we don't know, assume the worst.
-diff --git a/m4/utimes.m4 b/m4/utimes.m4
-index 7209b6d..5806d8f 100644
---- a/m4/utimes.m4
-+++ b/m4/utimes.m4
-@@ -1,5 +1,5 @@
- # Detect some bugs in glibc's implementation of utimes.
--# serial 5
-+# serial 6
-
- dnl Copyright (C) 2003-2005, 2009-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
-@@ -143,9 +143,11 @@ main ()
-        [gl_cv_func_working_utimes=yes],
-        [gl_cv_func_working_utimes=no],
-        [case "$host_os" in
--                  # Guess no on native Windows.
--          mingw*) gl_cv_func_working_utimes="guessing no" ;;
--          *)      gl_cv_func_working_utimes="guessing no" ;;
-+                   # Guess yes on musl systems.
-+          *-musl*) gl_cv_func_working_utimes="guessing yes" ;;
-+                   # Guess no on native Windows.
-+          mingw*)  gl_cv_func_working_utimes="guessing no" ;;
-+          *)       gl_cv_func_working_utimes="guessing no" ;;
-         esac
-        ])
-     ])
-diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4
-index baa2002..3952fd2 100644
---- a/m4/wcwidth.m4
-+++ b/m4/wcwidth.m4
-@@ -1,4 +1,4 @@
--# wcwidth.m4 serial 27
-+# wcwidth.m4 serial 28
- dnl Copyright (C) 2006-2019 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
-@@ -98,9 +98,13 @@ int main ()
-           [
- changequote(,)dnl
-            case "$host_os" in
--                                        # Guess yes on glibc and AIX 7 systems.
--             *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
--             *)                         gl_cv_func_wcwidth_works="guessing no";;
-+                            # Guess yes on glibc systems.
-+             *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
-+                            # Guess yes on musl systems.
-+             *-musl*)       gl_cv_func_wcwidth_works="guessing yes";;
-+                            # Guess yes on AIX 7 systems.
-+             aix[7-9]*)     gl_cv_func_wcwidth_works="guessing yes";;
-+             *)             gl_cv_func_wcwidth_works="guessing no";;
-            esac
- changequote([,])dnl
-           ])
---
-1.9.1
-
-
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/default.nix b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
index 50d3a2437d70..d0e032b7c10e 100644
--- a/nixpkgs/pkgs/tools/misc/coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
@@ -22,21 +22,19 @@ with lib;
 
 stdenv.mkDerivation (rec {
   pname = "coreutils";
-  version = "8.31";
+  version = "8.32";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1zg9m79x1i2nifj4kb0waf9x3i5h6ydkypkjnbsb9rnwis8rqypz";
+    sha256 = "sha256-RFjY3nhJ30TMqxXhaxVIsoUiTbul8I+sBwwcDgvMTPo=";
   };
 
   patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch
-         # Fix failing test with musl. See https://lists.gnu.org/r/coreutils/2019-05/msg00031.html
-         # To be removed in coreutils-8.32.
-         ++ optional stdenv.hostPlatform.isMusl ./avoid-false-positive-in-date-debug-test.patch
-         # Fix compilation in musl-cross environments. To be removed in coreutils-8.32.
-         ++ optional stdenv.hostPlatform.isMusl ./coreutils-8.31-musl-cross.patch
-         # Fix compilation in android-cross environments. To be removed in coreutils-8.32.
-         ++ [ ./coreutils-8.31-android-cross.patch ];
+    # included on coreutils master; TODO: apply unconditionally, I guess
+    ++ optional stdenv.hostPlatform.isAarch64 ./sys-getdents-undeclared.patch
+    # fix gnulib tests on 32-bit ARM. Included on coreutils master.
+    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
+    ++ optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
 
   postPatch = ''
     # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch b/nixpkgs/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch
new file mode 100644
index 000000000000..39bd29f8439e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch
@@ -0,0 +1,45 @@
+>From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 27 Aug 2020 17:52:58 -0700
+Subject: [PATCH] perror, strerror_r: remove unportable tests
+
+Problem reported by Florian Weimer in:
+https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
+* tests/test-perror2.c (main):
+* tests/test-strerror_r.c (main): Omit unportable tests.
+---
+ tests/test-perror2.c    | 3 ---
+ tests/test-strerror_r.c | 3 ---
+ 2 files changed, 6 deletions(-)
+
+diff --git a/gnulib-tests/test-perror2.c b/gnulib-tests/test-perror2.c
+index 1d14eda7b..c6214dd25 100644
+--- a/gnulib-tests/test-perror2.c
++++ b/gnulib-tests/test-perror2.c
+@@ -79,9 +79,6 @@ main (void)
+     errno = -5;
+     perror ("");
+     ASSERT (!ferror (stderr));
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+diff --git a/gnulib-tests/test-strerror_r.c b/gnulib-tests/test-strerror_r.c
+index b11d6fd9f..c1dbcf837 100644
+--- a/gnulib-tests/test-strerror_r.c
++++ b/gnulib-tests/test-strerror_r.c
+@@ -165,9 +165,6 @@ main (void)
+ 
+     strerror_r (EACCES, buf, sizeof buf);
+     strerror_r (-5, buf, sizeof buf);
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+-- 
+2.17.1
+
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch b/nixpkgs/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch
new file mode 100644
index 000000000000..0af5de68415a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch
@@ -0,0 +1,100 @@
+From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 5 Mar 2020 17:25:29 -0800
+Subject: ls: restore 8.31 behavior on removed directories
+
+* NEWS: Mention this.
+* src/ls.c: Do not include <sys/sycall.h>
+(print_dir): Don't worry about whether the directory is removed.
+* tests/ls/removed-directory.sh: Adjust to match new (i.e., old)
+behavior.
+---
+ NEWS (removed diff in nixpkgs)|  6 ++++++
+ src/ls.c                      | 22 ----------------------
+ tests/ls/removed-directory.sh | 10 ++--------
+ 3 files changed, 8 insertions(+), 30 deletions(-)
+
+diff --git a/src/ls.c b/src/ls.c
+index 24b983287..4acf5f44d 100644
+--- a/src/ls.c
++++ b/src/ls.c
+@@ -49,10 +49,6 @@
+ # include <sys/ptem.h>
+ #endif
+ 
+-#ifdef __linux__
+-# include <sys/syscall.h>
+-#endif
+-
+ #include <stdio.h>
+ #include <assert.h>
+ #include <setjmp.h>
+@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+   struct dirent *next;
+   uintmax_t total_blocks = 0;
+   static bool first = true;
+-  bool found_any_entries = false;
+ 
+   errno = 0;
+   dirp = opendir (name);
+@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+       next = readdir (dirp);
+       if (next)
+         {
+-          found_any_entries = true;
+           if (! file_ignored (next->d_name))
+             {
+               enum filetype type = unknown;
+@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
+           if (errno != EOVERFLOW)
+             break;
+         }
+-#ifdef __linux__
+-      else if (! found_any_entries)
+-        {
+-          /* If readdir finds no directory entries at all, not even "." or
+-             "..", then double check that the directory exists.  */
+-          if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
+-              && errno != EINVAL)
+-            {
+-              /* We exclude EINVAL as that pertains to buffer handling,
+-                 and we've passed NULL as the buffer for simplicity.
+-                 ENOENT is returned if appropriate before buffer handling.  */
+-              file_failure (command_line_arg, _("reading directory %s"), name);
+-            }
+-          break;
+-        }
+-#endif
+       else
+         break;
+ 
+diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
+index e8c835dab..fe8f929a1 100755
+--- a/tests/ls/removed-directory.sh
++++ b/tests/ls/removed-directory.sh
+@@ -26,20 +26,14 @@ case $host_triplet in
+   *) skip_ 'non linux kernel' ;;
+ esac
+ 
+-LS_FAILURE=2
+-
+-cat <<\EOF >exp-err || framework_failure_
+-ls: reading directory '.': No such file or directory
+-EOF
+-
+ cwd=$(pwd)
+ mkdir d || framework_failure_
+ cd d || framework_failure_
+ rmdir ../d || framework_failure_
+ 
+-returns_ $LS_FAILURE ls >../out 2>../err || fail=1
++ls >../out 2>../err || fail=1
+ cd "$cwd" || framework_failure_
+ compare /dev/null out || fail=1
+-compare exp-err err || fail=1
++compare /dev/null err || fail=1
+ 
+ Exit $fail
+-- 
+cgit v1.2.1
+
diff --git a/nixpkgs/pkgs/tools/misc/cp437/default.nix b/nixpkgs/pkgs/tools/misc/cp437/default.nix
new file mode 100644
index 000000000000..70ca44bd06a2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/cp437/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+let version = "0.6";
+in
+stdenv.mkDerivation {
+  pname = "cp437";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "keaston";
+    repo  = "cp437";
+    rev   = "v${version}";
+    sha256 = "18f4mnfnyviqclbhmbhix80k823481ypkwbp26qfvhnxdgzbggcc";
+  };
+
+  installPhase = ''
+    install -Dm755 cp437 -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      Emulates an old-style "code page 437" / "IBM-PC" character
+      set terminal on a modern UTF-8 terminal emulator
+    '';
+    homepage = "https://github.com/keaston/cp437";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jb55 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix b/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix
index dba42e4bfea8..2856bc2f1e0c 100644
--- a/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, curl, jansson, autoconf, automake
+{ stdenv, fetchFromGitHub, curl, jansson, autoconf, automake
 , aesni ? stdenv.hostPlatform.aesSupport }:
 
 let
@@ -8,9 +8,10 @@ in
 stdenv.mkDerivation {
   name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}";
 
-  src = fetchgit {
+  src = fetchFromGitHub {
+    owner = "hyc";
+    repo = "cpuminer-multi";
     inherit rev;
-    url = "https://github.com/wolf9466/cpuminer-multi.git";
     sha256 = "11dg4rra4dgfb9x6q85irn0hrkx2lkwyrdpgdh10pag09s3vhy4v";
   };
 
diff --git a/nixpkgs/pkgs/tools/misc/crudini/default.nix b/nixpkgs/pkgs/tools/misc/crudini/default.nix
index f63cd0d32c9c..1a49446e9c01 100644
--- a/nixpkgs/pkgs/tools/misc/crudini/default.nix
+++ b/nixpkgs/pkgs/tools/misc/crudini/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, fetchFromGitHub, python2Packages, help2man, installShellFiles }:
+{ stdenv, fetchFromGitHub, python3Packages, help2man, installShellFiles }:
 
-let
-  # py3 is supposedly working in version 0.9.3 but the tests fail so stick to py2
-  pypkgs = python2Packages;
-
-in
-pypkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "crudini";
   version = "0.9.3";
 
   src = fetchFromGitHub {
-    owner  = "pixelb";
-    repo   = "crudini";
-    rev    = version;
+    owner = "pixelb";
+    repo = "crudini";
+    rev = version;
     sha256 = "0298hvg0fpk0m0bjpwryj3icksbckwqqsr9w1ain55wf5s0v24k3";
   };
 
   nativeBuildInputs = [ help2man installShellFiles ];
 
-  propagatedBuildInputs = with pypkgs; [ iniparse ];
+  propagatedBuildInputs = with python3Packages; [ iniparse ];
 
   postPatch = ''
     substituteInPlace crudini-help \
@@ -48,7 +43,7 @@ pypkgs.buildPythonApplication rec {
   meta = with stdenv.lib; {
     description = "A utility for manipulating ini files ";
     homepage = "https://www.pixelbeat.org/programs/crudini/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/cutecom/default.nix b/nixpkgs/pkgs/tools/misc/cutecom/default.nix
index d825b555e195..e109b12f2879 100644
--- a/nixpkgs/pkgs/tools/misc/cutecom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cutecom/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "cutecom";
-  version = "0.51.0";
+  version = "0.51.0+patch";
 
   src = fetchFromGitLab {
     owner = "cutecom";
     repo = "cutecom";
-    rev = "v${version}";
-    sha256 = "1zprabjs4z26hsb64fc3k790aiiqiz9d88j666xrzi4983m1bfv8";
+    rev = "70d0c497acf8f298374052b2956bcf142ed5f6ca";
+    sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/misc/dateutils/default.nix b/nixpkgs/pkgs/tools/misc/dateutils/default.nix
index f56cee49ecf5..eae2241c3b4e 100644
--- a/nixpkgs/pkgs/tools/misc/dateutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dateutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, tzdata }:
+{ stdenv, fetchurl, autoreconfHook, tzdata, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "0.4.7";
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "16jr9yjk8wgzfh22hr3z6mp4jm3fkacyibds4jj5xx5yymbm8wj9";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://bitbucket.org/hroptatyr/dateutils/commits/6813ed94534f2311fbe9164748919e39d60b0190/raw";
+      sha256 = "1zs3iizb172ha56g03rr8kzd8zx6qypiqsc11jw758mliwxk5rgc";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ tzdata ]; # needed for datezone
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/misc/ddate/default.nix b/nixpkgs/pkgs/tools/misc/ddate/default.nix
index 0987fb6d286f..04a89ec3dd0f 100644
--- a/nixpkgs/pkgs/tools/misc/ddate/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ddate/default.nix
@@ -1,10 +1,13 @@
-{stdenv, fetchgit, cmake} :
+{stdenv, fetchFromGitHub, cmake} :
 
-stdenv.mkDerivation {
-  name = "ddate-0.2.2";
-  src = fetchgit {
-    url = "https://github.com/bo0ts/ddate";
-    rev = "refs/tags/v0.2.2";
+stdenv.mkDerivation rec {
+  pname = "ddate";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "bo0ts";
+    repo = pname;
+    rev = "refs/tags/v${version}";
     sha256 = "1qchxnxvghbma6gp1g78wnjxsri0b72ha9axyk31cplssl7yn73f";
   };
 
@@ -14,7 +17,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/bo0ts/ddate";
     description = "Discordian version of the date program";
     license = stdenv.lib.licenses.publicDomain;
-    maintainers = with stdenv.lib.maintainers; [kovirobi];
+    maintainers = with stdenv.lib.maintainers; [ kovirobi ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/debianutils/default.nix b/nixpkgs/pkgs/tools/misc/debianutils/default.nix
index 141df3332227..42deec9dc5d2 100644
--- a/nixpkgs/pkgs/tools/misc/debianutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/debianutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "debianutils";
-  version = "4.11.1";
+  version = "4.11.2";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
-    sha256 = "0g4qmzb2ff0rqszzpsal465hcslnpdl4nhghv59qvhamkkqnks4b";
+    sha256 = "1pjh2s5f8qp8jaky2x08yvf125np0s48zb2z6f3h6x4vf20hws1v";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/debootstrap/default.nix b/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
index 2940ff0a5738..4d4afb0b995f 100644
--- a/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/debootstrap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, utillinux
+{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, util-linux
 , gnugrep, gnutar, gnused, gzip, makeWrapper }:
 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
 # There is also cdebootstrap now. Is that easier to maintain?
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace debootstrap \
       --replace 'CHROOT_CMD="chroot '  'CHROOT_CMD="${coreutils}/bin/chroot ' \
-      --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${utillinux}/bin/unshare ' \
+      --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${util-linux}/bin/unshare ' \
       --replace /usr/bin/dpkg ${dpkg}/bin/dpkg \
       --replace '#!/bin/sh' '#!/bin/bash' \
       --subst-var-by VERSION ${version}
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index 011c5432089d..b910f3f9699e 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -16,11 +16,11 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "160";
+  version = "163";
 
   src = fetchurl {
     url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "1nshcgq31nrbh4r70i5azs7s0wfc4llb60ka1w8rncy22rg8rabc";
+    sha256 = "sha256-pCAOMRZ3sn1jhdT5RuIZoMR1e6GEYJYyd4mZt7+0lWE=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/tools/misc/dijo/default.nix b/nixpkgs/pkgs/tools/misc/dijo/default.nix
index da504ad3ba38..2a3fa2426993 100644
--- a/nixpkgs/pkgs/tools/misc/dijo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dijo/default.nix
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage {
   cargoSha256 = "0pm048xf8hkva8q8fjmhrdnk7h2im28ix7xy784xwkkdnilm4j7f";
 
   meta = with lib; {
-    description = "Scriptable, curses-based, digital habit tracker.";
+    description = "Scriptable, curses-based, digital habit tracker";
     homepage = "https://github.com/NerdyPepper/dijo";
     license = licenses.mit;
     maintainers = with maintainers; [ infinisil ];
diff --git a/nixpkgs/pkgs/tools/misc/direnv/default.nix b/nixpkgs/pkgs/tools/misc/direnv/default.nix
index 3fb2a5d76a06..d76f50eeae06 100644
--- a/nixpkgs/pkgs/tools/misc/direnv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/direnv/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "direnv";
-  version = "2.22.0";
-
-  vendorSha256 = null;
+  version = "2.27.0";
 
   src = fetchFromGitHub {
     owner = "direnv";
     repo = "direnv";
     rev = "v${version}";
-    sha256 = "06z85r99w0nr093fawva6sysdlrdsfjjf7asx96k1sjv56sb306m";
+    sha256 = "05vvn59xd2q4yjizh5fprjib5xqq58by80d5avsm8nb1qxf383b1";
   };
 
+  vendorSha256 = "084x7d7sshcsyim76d6pl6127nlqacgwwnm965srl9y5w5nqzba6";
+
   # we have no bash at the moment for windows
   BASH_PATH =
     stdenv.lib.optionalString (!stdenv.hostPlatform.isWindows)
@@ -24,9 +24,7 @@ buildGoModule rec {
   '';
 
   installPhase = ''
-    make install DESTDIR=$out
-    mkdir -p $out/share/fish/vendor_conf.d
-    echo "eval ($out/bin/direnv hook fish)" > $out/share/fish/vendor_conf.d/direnv.fish
+    make install PREFIX=$out
   '';
 
   checkInputs = [ fish zsh ];
diff --git a/nixpkgs/pkgs/tools/misc/disfetch/default.nix b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
new file mode 100644
index 000000000000..d80247801f0c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, lib
+, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "disfetch";
+  version = "1.12";
+
+  src = fetchFromGitHub {
+    owner = "llathasa-veleth";
+    repo = "disfetch";
+    rev = version;
+    sha256 = "1zm8q0fx695x28zg8ihzk3w41439v47n68cw6k551x31mls939yn";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -Dm755 -t $out/bin disfetch
+  '';
+
+  meta = with lib; {
+    description = "Yet another *nix distro fetching program, but less complex";
+    homepage = "https://github.com/llathasa-veleth/disfetch";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vel ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/dmg2img/default.nix b/nixpkgs/pkgs/tools/misc/dmg2img/default.nix
index 267983dd432c..b132079a28e8 100644
--- a/nixpkgs/pkgs/tools/misc/dmg2img/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dmg2img/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
-    description = "An Apple's compressed dmg to standard (hfsplus) image disk file convert tool.";
+    description = "An Apple's compressed dmg to standard (hfsplus) image disk file convert tool";
     license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/docker-ls/default.nix b/nixpkgs/pkgs/tools/misc/docker-ls/default.nix
index 8522256c7d52..e53f020fc6bd 100644
--- a/nixpkgs/pkgs/tools/misc/docker-ls/default.nix
+++ b/nixpkgs/pkgs/tools/misc/docker-ls/default.nix
@@ -1,17 +1,17 @@
-{ buildGoPackage, fetchFromGitHub, stdenv, docker }:
+{ buildGoModule, fetchFromGitHub, stdenv, docker }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "docker-ls";
-  version = "0.3.2";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mayflower";
     repo = "docker-ls";
     rev = "v${version}";
-    sha256 = "1hb9b0jhaf01zlmkm353mz608kwb79dzic3gvb2fhyrh8d17w2iv";
+    sha256 = "sha256-VyVrCBdIZAQ+p0leD6i4sMxD4p6nEXG9Si+nJGdUQPM=";
   };
 
-  goPackagePath = "github.com/mayflower/docker-ls";
+  vendorSha256 = "sha256-UulcjQOLEIP++eoYQTEIbCJW51jyE312dMxB8+AKcdU=";
 
   meta = with stdenv.lib; {
     description = "Tools for browsing and manipulating docker registries";
diff --git a/nixpkgs/pkgs/tools/misc/dua/default.nix b/nixpkgs/pkgs/tools/misc/dua/default.nix
index b4cdde95b800..a2f3938adec1 100644
--- a/nixpkgs/pkgs/tools/misc/dua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dua/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.10.2";
+  version = "2.10.5";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "0qsk4pa7xywd6fdwd5v4qwj334hyp3xjlayjzgyhks7a87hdwjgs";
+    sha256 = "0imf9ngmyhyj5jdr99g1xc3vqzr61fnz32bxhmy63n1szylig5zq";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "02wd4cw9hd8d96szwx8yxz6bll60f7w1z0xiz7k1h8h12mriaz4w";
+  cargoSha256 = "1czc0jma5k6idv463kn5qrirq8apgfrcxwv2yjk0pxy6vkji6154";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/duf/default.nix b/nixpkgs/pkgs/tools/misc/duf/default.nix
index 2ed6f0ef7cbb..ed8a11e182c9 100644
--- a/nixpkgs/pkgs/tools/misc/duf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/duf/default.nix
@@ -2,22 +2,26 @@
 
 buildGoModule rec {
   pname = "duf";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "duf";
     rev = "v${version}";
-    sha256 = "08vmhcvqn9g86iqwk42bj0i09lmchhdgha1xaj1jw1ci4k7s9vrf";
+    sha256 = "0n0nvrqrlr75dmf2j6ja615ighzs35cfixn7z9cwdz3vhj1xhc5f";
   };
 
-  vendorSha256 = "1jmj46yami37r2wmiprpwyljcmj7dir9mcccx5is1jbiai6sx79i";
+  dontStrip = true;
+
+  vendorSha256 = "1jqilfsirj7bkhzywimzf98w2b4s777phb06nsw6lr3bi6nnwzr1";
+
+  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/muesli/duf/";
     description = "Disk Usage/Free Utility";
     license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ petabyteboy ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ petabyteboy penguwin ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/envchain/default.nix b/nixpkgs/pkgs/tools/misc/envchain/default.nix
new file mode 100644
index 000000000000..1bafa4688ae8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/envchain/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, libedit, libsecret, ncurses, pkg-config, readline, Security }:
+
+stdenv.mkDerivation rec {
+  pname = "envchain";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "sorah";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qxwiqhb8cg0zbn5p0mvnbyxx1xwvgiricrkjlvxz13sf2ngq87p";
+  };
+
+  postPatch = ''
+    sed -i -e "s|-ltermcap|-lncurses|" Makefile
+  '';
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libsecret readline ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libedit ncurses Security ];
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Set environment variables with macOS keychain or D-Bus secret service";
+    homepage = "https://github.com/sorah/envchain";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index 1160f4158b6d..74eccc029ac0 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -1,21 +1,21 @@
-{ lib, python3, platformio, esptool, git, protobuf3_11, fetchpatch }:
+{ lib, python3, platformio, esptool, git, protobuf3_12, fetchpatch }:
 
 let
   python = python3.override {
     packageOverrides = self: super: {
       protobuf = super.protobuf.override {
-        protobuf = protobuf3_11;
+        protobuf = protobuf3_12;
       };
     };
   };
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.14.5";
+  version = "1.15.2";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "176mi361677d5cqbi0hn52kky845byjs6gdad8pdhihyjgv7a9y9";
+    sha256 = "1wnmgn0q4n2vp2cdwsc36acsy7c7w5vyxdglii3432mr5drrgcsx";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
@@ -28,7 +28,7 @@ in python.pkgs.buildPythonApplication rec {
 
   # remove all version pinning (E.g tornado==5.1.1 -> tornado)
   postPatch = ''
-    sed -i -e "s/==[0-9.]*//" setup.py
+    sed -i -e "s/==[0-9.]*//" requirements.txt
   '';
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/tools/misc/esptool/default.nix b/nixpkgs/pkgs/tools/misc/esptool/default.nix
index 465e30e76157..d1d6bc1cb101 100644
--- a/nixpkgs/pkgs/tools/misc/esptool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esptool/default.nix
@@ -2,17 +2,31 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "2.7";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "1p5hx0rhs986ffqz78rdxg7jayndsq632399xby39k17kvd3mb31";
+    sha256 = "1y022qlcdgdx5a88lkc3sqavklz494afbfyh100lp7xfk3f2mjln";
   };
 
-  checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order openssl ];
-  propagatedBuildInputs = with python3.pkgs; [ pyserial pyaes ecdsa ];
+  checkInputs = with python3.pkgs;
+    [ flake8 flake8-future-import flake8-import-order openssl ];
+  propagatedBuildInputs = with python3.pkgs;
+    [ pyserial pyaes ecdsa reedsolo bitstring cryptography ];
+
+  # wrapPythonPrograms will overwrite esptool.py with a bash script,
+  # but espefuse.py tries to import it. Since we don't add any binary paths,
+  # use patchPythonScript directly.
+  dontWrapPythonPrograms = true;
+  postFixup = ''
+    buildPythonPath "$out $pythonPath"
+    for f in $out/bin/*.py; do
+        echo "Patching $f"
+        patchPythonScript "$f"
+    done
+  '';
 
   meta = with stdenv.lib; {
     description = "ESP8266 and ESP32 serial bootloader utility";
diff --git a/nixpkgs/pkgs/tools/misc/etcher/default.nix b/nixpkgs/pkgs/tools/misc/etcher/default.nix
index fec78db979c0..6634d2d23ca2 100644
--- a/nixpkgs/pkgs/tools/misc/etcher/default.nix
+++ b/nixpkgs/pkgs/tools/misc/etcher/default.nix
@@ -3,7 +3,7 @@
 , gcc-unwrapped
 , dpkg
 , polkit
-, utillinux
+, util-linux
 , bash
 , nodePackages
 , makeWrapper
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     # 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|'lsblk'|'${utillinux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js
+    sed -i "s|'lsblk'|'${util-linux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js
     sed -i "s|process.resourcesPath|'$out/share/${pname}/resources/'|" tmp/generated/gui.js
     ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
     rm -rf tmp
diff --git a/nixpkgs/pkgs/tools/misc/ethminer/default.nix b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
index d593d677cc32..f84b0096d044 100644
--- a/nixpkgs/pkgs/tools/misc/ethminer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
@@ -1,5 +1,5 @@
 {
-  stdenv,
+  clangStdenv,
   fetchFromGitHub,
   opencl-headers,
   cmake,
@@ -16,7 +16,11 @@
   cli11
 }:
 
-stdenv.mkDerivation rec {
+# Note that this requires clang < 9.0 to build, and currently
+# clangStdenv provides clang 7.1 which satisfies the requirement.
+let stdenv = clangStdenv;
+
+in stdenv.mkDerivation rec {
   pname = "ethminer";
   version = "0.18.0";
 
@@ -71,8 +75,5 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ nand0p ];
     license = licenses.gpl2;
-    # Doesn't build with gcc9, and if overlayed to use gcc8 stdenv fails on CUDA issues.
-    broken = true;
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/misc/eva/default.nix b/nixpkgs/pkgs/tools/misc/eva/default.nix
index e59c2387a3ce..a40913343308 100644
--- a/nixpkgs/pkgs/tools/misc/eva/default.nix
+++ b/nixpkgs/pkgs/tools/misc/eva/default.nix
@@ -8,7 +8,7 @@ rustPlatform.buildRustPackage rec {
 
   src = fetchFromGitHub {
     owner = "NerdyPepper";
-    repo = "${pname}";
+    repo = pname;
     rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
     sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
   };
diff --git a/nixpkgs/pkgs/tools/misc/execline/default.nix b/nixpkgs/pkgs/tools/misc/execline/default.nix
index ecedd2b0b417..bf7853c11736 100644
--- a/nixpkgs/pkgs/tools/misc/execline/default.nix
+++ b/nixpkgs/pkgs/tools/misc/execline/default.nix
@@ -1,14 +1,11 @@
-{ lib, skawarePackages
-# for execlineb-with-builtins
-, coreutils, gnugrep, writeScriptBin, runCommand, runCommandCC
-}:
+{ skawarePackages }:
 
 with skawarePackages;
 
 buildPackage {
   pname = "execline";
-  version = "2.6.1.0";
-  sha256 = "0mj565xml3hvw27finydms0s9abbbpgbr29vnr8gwi7zjzq7ck52";
+  version = "2.6.1.1";
+  sha256 = "0mmsnai3bkyhng0cxdz6bf7d6b7kbsxs4p39m63215lz6kq0hhrr";
 
   description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
 
diff --git a/nixpkgs/pkgs/tools/misc/fbcat/default.nix b/nixpkgs/pkgs/tools/misc/fbcat/default.nix
new file mode 100644
index 000000000000..4f640f13a27f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/fbcat/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub } :
+
+stdenv.mkDerivation rec {
+  pname = "fbcat";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "jwilk";
+    repo = pname;
+    rev = version;
+    sha256 = "08y79br4a4cgkjnslw0hw57441ybsapaw7wjdbak19mv9lnl5ll9";
+  };
+
+  # hardcoded because makefile target "install" depends on libxslt dependencies from network
+  # that are just too hard to monkeypatch here
+  # so this is the simple fix.
+  installPhase = ''
+    mkdir -p $out
+    install -d $out/bin
+    install -m755 fbcat $out/bin/
+    install -m755 fbgrab $out/bin/
+    install -d $out/share/man/man1
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://jwilk.net/software/fbcat";
+    description = "Framebuffer screenshot tool";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.matthiasbeyer ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/misc/fd/default.nix b/nixpkgs/pkgs/tools/misc/fd/default.nix
index 31b47a31ca8f..ec5dda52a189 100644
--- a/nixpkgs/pkgs/tools/misc/fd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fd/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fd";
-  version = "8.1.1";
+  version = "8.2.1";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "fd";
     rev = "v${version}";
-    sha256 = "0qzqnsjkq8i4gzn9273algx33kr1hzgxid8lnqp4awy2zxm4ksiq";
+    sha256 = "00vlifbri021z8nf7xvbaay8mqvnq58h19va9bqr5lhsqj1f82wq";
   };
 
-  cargoSha256 = "1d7hfgl9l4b9bnq2qcpvdq5rh7lpz33r19hw3wwgnqh142q67m7r";
+  cargoSha256 = "0jyqnl6rski1vv2ah21xmwai3rfb542mv14laws4kc2wh63k68i4";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     installManPage doc/fd.1
 
     installShellCompletion $releaseDir/build/fd-find-*/out/fd.{bash,fish}
-    installShellCompletion --zsh $releaseDir/build/fd-find-*/out/_fd
+    installShellCompletion --zsh contrib/completion/_fd
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/fend/default.nix b/nixpkgs/pkgs/tools/misc/fend/default.nix
new file mode 100644
index 000000000000..8813ec5a14e7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/fend/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fend";
+  version = "0.1.11";
+
+  src = fetchFromGitHub {
+    owner = "printfn";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0g9zr2afi103cwv6ikpmmyh5v055dh47l3wj9a1kbxgms0953iwh";
+  };
+
+  cargoSha256 = "0hydlaibanw2vjyxymfbzgwwk2qjv7jsz15gn66ga5vknsqihcrx";
+
+  meta = with lib; {
+    description = "Arbitrary-precision unit-aware calculator";
+    homepage = "https://github.com/printfn/fend";
+    license = licenses.mit;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/fet-sh/default.nix b/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
index 4041a9abdbad..e53c51c33e94 100644
--- a/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "fet-sh";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "6gk";
     repo = "fet.sh";
     rev = "v${version}";
-    sha256 = "02izkwfph4i62adwns4q4w1pfcmdsczm8ghagx5yb9315ww3adzn";
+    sha256 = "1czjsyagwzbf8l023l1saz9ssb1hc245a64nfwc8wl0cn4h9byky";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/ffsend/default.nix b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
index 8b9f79aaa7fd..a8c7fce68cc8 100644
--- a/nixpkgs/pkgs/tools/misc/ffsend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.65";
+  version = "0.2.68";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "02yw129rw072jlf36k60jbhfdv9ayx2wb5il61fc0v07h1nd7i0d";
+    sha256 = "0ga1v4s8ks2v632mim8ljya0gi2j8bbwj98yfm3g00p0z1i526qk";
   };
 
-  cargoSha256 = "04waki61b5pjlgznbhbrjpi9rxgdwg9mjbx2apfh9swvfip602r6";
+  cargoSha256 = "1n9pf29xid6jcas5yx94k4cpmqgx0kpqq7gwf83jisjywxzygh6w";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs =
diff --git a/nixpkgs/pkgs/tools/misc/findutils/default.nix b/nixpkgs/pkgs/tools/misc/findutils/default.nix
index 84dd187e1fc7..6e07125ab724 100644
--- a/nixpkgs/pkgs/tools/misc/findutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/findutils/default.nix
@@ -20,9 +20,10 @@ stdenv.mkDerivation rec {
     substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${coreutils}/bin/echo";'
   '';
 
-  patches = [
-    ./no-install-statedir.patch
-  ];
+  patches = [ ./no-install-statedir.patch ]
+    # fix gnulib tests on 32-bit ARM. Included on findutils master.
+    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
+    ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
 
   buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort
 
diff --git a/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch b/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch
new file mode 100644
index 000000000000..39bd29f8439e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch
@@ -0,0 +1,45 @@
+>From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 27 Aug 2020 17:52:58 -0700
+Subject: [PATCH] perror, strerror_r: remove unportable tests
+
+Problem reported by Florian Weimer in:
+https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
+* tests/test-perror2.c (main):
+* tests/test-strerror_r.c (main): Omit unportable tests.
+---
+ tests/test-perror2.c    | 3 ---
+ tests/test-strerror_r.c | 3 ---
+ 2 files changed, 6 deletions(-)
+
+diff --git a/gnulib-tests/test-perror2.c b/gnulib-tests/test-perror2.c
+index 1d14eda7b..c6214dd25 100644
+--- a/gnulib-tests/test-perror2.c
++++ b/gnulib-tests/test-perror2.c
+@@ -79,9 +79,6 @@ main (void)
+     errno = -5;
+     perror ("");
+     ASSERT (!ferror (stderr));
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+diff --git a/gnulib-tests/test-strerror_r.c b/gnulib-tests/test-strerror_r.c
+index b11d6fd9f..c1dbcf837 100644
+--- a/gnulib-tests/test-strerror_r.c
++++ b/gnulib-tests/test-strerror_r.c
+@@ -165,9 +165,6 @@ main (void)
+ 
+     strerror_r (EACCES, buf, sizeof buf);
+     strerror_r (-5, buf, sizeof buf);
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+-- 
+2.17.1
+
diff --git a/nixpkgs/pkgs/tools/misc/flameshot/default.nix b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
index afca2e3007ed..988849fbbbf6 100644
--- a/nixpkgs/pkgs/tools/misc/flameshot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
@@ -1,44 +1,26 @@
-{ mkDerivation, lib, fetchFromGitHub, qtbase, qmake, qttools, qtsvg }:
+{ mkDerivation, lib, fetchFromGitHub, qtbase, cmake, qttools, qtsvg }:
 
-# To use `flameshot gui`, you will also need to put flameshot in `services.dbus.packages`
-# in configuration.nix so that the daemon gets launched properly:
-#
-#   services.dbus.packages = [ pkgs.flameshot ];
-#   environment.systemPackages = [ pkgs.flameshot ];
 mkDerivation rec {
   pname = "flameshot";
-  version = "0.6.0";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
-    owner = "lupoDharkael";
+    owner = "flameshot-org";
     repo = "flameshot";
     rev = "v${version}";
-    sha256 = "193szslh55v44jzxzx5g9kxhl8p8di7vbcnxlid4acfidhnvgazm";
+    sha256 = "1z77igs60lz106vsf6wsayxjafxm3llf2lm4dpvsqyyrxybfq191";
   };
 
-  nativeBuildInputs = [ qmake qttools qtsvg ];
+  nativeBuildInputs = [ cmake qttools qtsvg ];
   buildInputs = [ qtbase ];
 
-  qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
-
-  preConfigure = ''
-    # flameshot.pro assumes qmake is being run in a git checkout.
-    git() { echo ${version}; }
-    export -f git
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/share/dbus-1/services/org.dharkael.Flameshot.service \
-      --replace "/usr/local" "$out"
-  '';
-
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Powerful yet simple to use screenshot software";
-    homepage = "https://github.com/lupoDharkael/flameshot";
+    homepage = "https://github.com/flameshot-org/flameshot";
     maintainers = [ maintainers.scode ];
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/flashrom/default.nix b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
index 2f92dc6d9bf2..47d4fd127575 100644
--- a/nixpkgs/pkgs/tools/misc/flashrom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ funfunctor fpletz ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # requires DirectHW
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index cb8549c9c994..60860c197e88 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.5.7";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "1kpa2wgpm747w7bnk33m7bip5shlbkavs7rwnlj6yr600dcp8zp5";
+    sha256 = "1k8ghz8xwy7v4y4r4xc690ig7qmn0mkvynplwn66j44fgdpg0v1s";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
 
+  patches = [ ./fix-luajit-darwin.patch ];
+
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
       --replace /lib/systemd $out/lib/systemd
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/fix-luajit-darwin.patch b/nixpkgs/pkgs/tools/misc/fluent-bit/fix-luajit-darwin.patch
new file mode 100644
index 000000000000..21d9c21f5b9b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/fix-luajit-darwin.patch
@@ -0,0 +1,14 @@
+diff -Naur fluent-bit.old/cmake/luajit.cmake fluent-bit.new/cmake/luajit.cmake
+--- fluent-bit.old/cmake/luajit.cmake
++++ fluent-bit.new/cmake/luajit.cmake
+@@ -11,10 +11,6 @@
+ set(LUAJIT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/${FLB_PATH_LIB_LUAJIT})
+ set(LUAJIT_DEST ${CMAKE_CURRENT_BINARY_DIR})
+ 
+-if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+-  set(CFLAGS "${CFLAGS} -isysroot ${CMAKE_OSX_SYSROOT}")
+-endif()
+-
+ # luajit (UNIX)
+ # =============
+ ExternalProject_Add(luajit
diff --git a/nixpkgs/pkgs/tools/misc/fortune/default.nix b/nixpkgs/pkgs/tools/misc/fortune/default.nix
index 74c21d21fcc3..bc23d9dd8462 100644
--- a/nixpkgs/pkgs/tools/misc/fortune/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fortune/default.nix
@@ -2,11 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fortune-mod";
-  version = "2.10.0";
+  version = "3.4.1";
 
+  # We use fetchurl instead of fetchFromGitHub because the release pack has some
+  # special files.
   src = fetchurl {
-    url = "https://www.shlomifish.org/open-source/projects/fortune-mod/arcs/fortune-mod-${version}.tar.xz";
-    sha256 = "07g50hij87jb7m40pkvgd47qfvv4s805lwiz79jbqcxzd7zdyax7";
+    url = "https://github.com/shlomif/fortune-mod/releases/download/${pname}-${version}/${pname}-${version}.tar.xz";
+    sha256 = "02hjf432mq5qpbf1hywid7b356jys5n9brrrmm6z6r05jpzybbg3";
   };
 
   nativeBuildInputs = [ cmake perl ];
@@ -31,12 +33,13 @@ stdenv.mkDerivation rec {
      )
 
      my_exe(
-    -- 
+    --
   '') ];
 
   meta = with stdenv.lib; {
     description = "A program that displays a pseudorandom message from a database of quotations";
     license = licenses.bsdOriginal;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ vonfry ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fselect/default.nix b/nixpkgs/pkgs/tools/misc/fselect/default.nix
index 312c7bbe3e97..587483f4ac41 100644
--- a/nixpkgs/pkgs/tools/misc/fselect/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.6.10";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "17dz0qj2981plvzp72yisyrjnyz1sy3pqyvhx76ws2754vjgq4ra";
+    sha256 = "1cqa52n5y6g087w4yzc273jpxhzpinwkqd32azg03dkczbgx5b2v";
   };
 
-  cargoSha256 = "19b05gx717xjg4arn4zgrqh7ckzgzx0ygg9gkfzsg7phz7f01626";
+  cargoSha256 = "00yhp2b74plrbi944apbxpkw2y6nbgf81sinfchw44ww1i58mfhj";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -23,6 +23,6 @@ rustPlatform.buildRustPackage rec {
     description = "Find files with SQL-like queries";
     homepage = "https://github.com/jhspetersson/fselect";
     license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fsmon/default.nix b/nixpkgs/pkgs/tools/misc/fsmon/default.nix
index 668fa463adb3..a3e3eddcda9e 100644
--- a/nixpkgs/pkgs/tools/misc/fsmon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fsmon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fsmon";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "nowsecure";
     repo = "fsmon";
     rev = version;
-    sha256 = "0i7irqs4100j0g19jh64p2plbwipl6p3ld6w4sscc7n8lwkxmj03";
+    sha256 = "0y0gqb07girhz3r7gn9yrrysvhj5fapdafim0q8n7krk5y23hmh0";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/fzf/default.nix b/nixpkgs/pkgs/tools/misc/fzf/default.nix
index d9fe6ac819b1..b114ee2373c1 100644
--- a/nixpkgs/pkgs/tools/misc/fzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.22.0";
+  version = "0.24.4";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "0n0cy5q2r3dm1a3ivlzrv9c5d11awxlqim5b9x8zc85dlr73n35l";
+    sha256 = "17k32wr70sp7ag69xww2q9mrgnzakgkjw6la04n3jlhfa5z37dzj";
   };
 
-  vendorSha256 = "1c2iz28hjrw9rig9a6r27wd8clycdhi8fgs3da91c63w4qi140zm";
+  vendorSha256 = "0dd0qm1fxp3jnlrhfaas8fw87cj7rygaac35a9nk3xh2xsk7q35p";
 
   outputs = [ "out" "man" ];
 
@@ -19,6 +19,10 @@ buildGoModule rec {
 
   buildInputs = [ ncurses ];
 
+  buildFlagsArray = [
+    "-ldflags=-s -w -X main.version=${version} -X main.revision=${src.rev}"
+  ];
+
   # The vim plugin expects a relative path to the binary; patch it to abspath.
   patchPhase = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/fzf.vim
@@ -65,7 +69,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 ma27 zowoq ];
+    maintainers = with maintainers; [ Br1ght0ne ma27 zowoq ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/gammy/default.nix b/nixpkgs/pkgs/tools/misc/gammy/default.nix
index 61430c3e41ed..2fd99fd4a3ab 100644
--- a/nixpkgs/pkgs/tools/misc/gammy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gammy/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "gammy";
-  version = "0.9.58";
+  version = "0.9.59";
 in
 
 stdenv.mkDerivation {
@@ -12,22 +12,13 @@ stdenv.mkDerivation {
     owner = "Fushko";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02f19b7acrzip4kbfjgqk06xv1c257rq77khpdg5gz0ai6ayvwm8";
+    sha256 = "1iz41larqr6ss5kar1pds6zgcrch6ch34cr0ngd71gcaxal0rb72";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook ];
 
   buildInputs = [ libXxf86vm ];
 
-  # FIXME remove when https://github.com/Fushko/gammy/issues/45 is fixed
-  installPhase = ''
-    runHook preInstall
-
-    install gammy -Dt $out/bin/
-
-    runHook postInstall
-  '';
-
   meta = with stdenv.lib; {
     description = "GUI tool for manual- of auto-adjusting of brightness/temperature";
     homepage = "https://github.com/Fushko/gammy";
diff --git a/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index 4d9434e9fb50..a33ae0ed3305 100644
--- a/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.2.3";
+  version = "5.3.1";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "03hasbibw79vbcrpdf2fnm42i2mxc0ia7k96xv012wn6d4dfvr4w";
+    sha256 = "0hil3mvrwpwy60x9s16bf8vgvfv11sdarcbk45zjlgjzfhh8h2qr";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix b/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
index 17893ef18ae6..82ff74a04192 100644
--- a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
@@ -1,27 +1,23 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
-let
-  goPackagePath = "github.com/github/gh-ost";
-  version = "1.0.49";
-  sha256 = "0mncjhmv25wnhgjkn9gwkz2gzh0v6954w47ql7fs2iqr9al111dq";
+buildGoPackage rec {
+  pname = "gh-ost";
+  version = "1.1.0";
 
-in
-buildGoPackage ({
-    pname = "gh-ost";
-    inherit version;
-    inherit goPackagePath;
+  src = fetchFromGitHub {
+    owner = "github";
+    repo = "gh-ost";
+    rev = "v${version}";
+    sha256 = "0laj5nmf10qn01mqn0flipmhankgvrcfbdl3bc76wa14qkkg722m";
+  };
 
-    src = fetchFromGitHub {
-      owner = "github";
-      repo  = "gh-ost";
-      rev   = "v${version}";
-      inherit sha256;
-    };
+  goPackagePath = "github.com/github/gh-ost";
 
-    meta = with stdenv.lib; {
-      description = "Triggerless online schema migration solution for MySQL";
-      homepage = "https://github.com/github/gh-ost";
-      license = licenses.mit;
-    };
-})
+  buildFlagsArray = [ "-ldflags=-s -w -X main.AppVersion=${version} -X main.BuildDescribe=${src.rev}" ];
 
+  meta = with stdenv.lib; {
+    description = "Triggerless online schema migration solution for MySQL";
+    homepage = "https://github.com/github/gh-ost";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/gibo/default.nix b/nixpkgs/pkgs/tools/misc/gibo/default.nix
index abee4950d879..1357ab5196d7 100644
--- a/nixpkgs/pkgs/tools/misc/gibo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gibo/default.nix
@@ -14,15 +14,15 @@ stdenv.mkDerivation rec {
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/etc/bash_completion.d
+    mkdir -p $out/bin $out/share/bash-completion/completions
     cp gibo $out/bin
-    cp gibo-completion.bash $out/etc/bash_completion.d
+    cp gibo-completion.bash $out/share/bash-completion/completions
 
     sed -e 's|\<git |${git}/bin/git |g' \
         -e 's|\<basename |${coreutils}/bin/basename |g' \
         -i "$out/bin/gibo"
     sed -e 's|\<find |${findutils}/bin/find |g' \
-        -i "$out/etc/bash_completion.d/gibo-completion.bash"
+        -i "$out/share/bash-completion/completions/gibo-completion.bash"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/misc/gif-for-cli/default.nix b/nixpkgs/pkgs/tools/misc/gif-for-cli/default.nix
index fed22e518937..52d3e043ce9c 100644
--- a/nixpkgs/pkgs/tools/misc/gif-for-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gif-for-cli/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, python3Packages, ffmpeg_3, zlib, libjpeg }:
+{ stdenv, fetchFromGitHub, python3Packages, ffmpeg, zlib, libjpeg }:
 
 python3Packages.buildPythonApplication {
   pname = "gif-for-cli";
-  version = "unstable-2018-08-14";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "gif-for-cli";
-    rev = "9696f25fea2e38499b7c248a3151030c3c68bb00";
-    sha256 = "1rj8wjfsabn27k1ds7a5fdqgf2r28zpz4lvhbzssjfj1yf0mfh7s";
+    rev = "31f8aa2d617d6d6e941154f60e287c38dd9a74d5";
+    sha256 = "Bl5o492BUAn1KsscnlMIXCzJuy7xWUsdnxIKZKaRM3M=";
   };
 
   checkInputs = [ python3Packages.coverage ];
-  buildInputs = [ ffmpeg_3 zlib libjpeg ];
-  propagatedBuildInputs = with python3Packages; [ pillow requests x256 ];
+  buildInputs = [ zlib libjpeg ];
+  propagatedBuildInputs = with python3Packages; [ ffmpeg pillow requests x256 ];
 
   meta = with stdenv.lib; {
     description = "Render gifs as ASCII art in your cli";
diff --git a/nixpkgs/pkgs/tools/misc/git-town/default.nix b/nixpkgs/pkgs/tools/misc/git-town/default.nix
index 34548abd818b..ab9f1907a8e2 100644
--- a/nixpkgs/pkgs/tools/misc/git-town/default.nix
+++ b/nixpkgs/pkgs/tools/misc/git-town/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "Generic, high-level git support for git-flow workflows";
-    homepage = "http://www.git-town.com/";
+    homepage = "https://www.git-town.com/";
     maintainers = [ maintainers.allonsy maintainers.blaggacao ];
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/tools/misc/go.rice/default.nix b/nixpkgs/pkgs/tools/misc/go.rice/default.nix
index 340b2d41c668..33e6975bb02d 100644
--- a/nixpkgs/pkgs/tools/misc/go.rice/default.nix
+++ b/nixpkgs/pkgs/tools/misc/go.rice/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/GeertJohan/go.rice";
-    description = "A Go package that makes working with resources such as html, js, css, images, templates very easy.";
+    description = "A Go package that makes working with resources such as html, js, css, images, templates very easy";
     license = licenses.bsd2;
     maintainers = with maintainers; [ blaggacao ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/goaccess/default.nix b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
index 1906c9d56656..d14ef9d526ad 100644
--- a/nixpkgs/pkgs/tools/misc/goaccess/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, glib, libmaxminddb }:
+{ stdenv, fetchurl, pkgconfig, ncurses, glib, libmaxminddb, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "1.4";
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "1gkpjg39f3afdwm9128jqjsfap07p8s027czzlnxfmi5hpzvkyz8";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/allinurl/goaccess/commit/514618cdd69453497fbf67913ccb37a0a0b07391.patch";
+      sha256 = "11lp7mabfl6ibgzsd9nw10k2xvcm0hrimrwidl06r8dqn2jzjxf6";
+    })
+  ];
+
   configureFlags = [
     "--enable-geoip=mmdb"
     "--enable-utf8"
diff --git a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
new file mode 100644
index 000000000000..58a7ce619c5a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "goreleaser";
+  version = "0.149.0";
+
+  src = fetchFromGitHub {
+    owner = "goreleaser";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "14yvxnl2ap1hizpk3pfzlh36399df1z2zgsc63qdh1h4ixyav6cy";
+  };
+
+  vendorSha256 = "17l15z2wyxzh7h7hvb1fysdnyg8wr8ww827vvmki73s1plfgr80d";
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.builtBy=nixpkgs"
+  ];
+
+  # tests expect the source files to be a build repo
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Deliver Go binaries as fast and easily as possible";
+    homepage = "https://goreleaser.com";
+    maintainers = with maintainers; [ c0deaddict endocrimes sarcasticadmin ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
index cd60f0e98fae..36a7055f875c 100644
--- a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
   meta = with lib; {
     license = licenses.mit;
     homepage = "https://github.com/gotify/cli";
-    description = "A command line interface for pushing messages to gotify/server.";
+    description = "A command line interface for pushing messages to gotify/server";
     maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/gparted/default.nix b/nixpkgs/pkgs/tools/misc/gparted/default.nix
index 6292fb4a7227..7d610416da47 100644
--- a/nixpkgs/pkgs/tools/misc/gparted/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gparted/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome3
 , gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2
-, gpart, hdparm, procps, utillinux, polkit, wrapGAppsHook, substituteAll
+, gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook, substituteAll
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-       --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux procps coreutils gnused gnugrep ]}"
+       --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm util-linux procps coreutils gnused gnugrep ]}"
     )
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/graylog/default.nix b/nixpkgs/pkgs/tools/misc/graylog/default.nix
index cb7adf795d34..f6a48364bfda 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, makeWrapper, jre_headless }:
+{ stdenv, fetchurl, makeWrapper, jre_headless, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "3.3.4";
+  version = "3.3.9";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "0wynnb56plch61pzjl46jx5q94c5hclzyrr8567fc1jhnqycfngs";
+    sha256 = "1wl9j2jgjg5gwcsh92qr5f68wx12nvwadc9xkaa9wwd7x3z825jq";
   };
 
   dontBuild = true;
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ makeWrapper ];
   makeWrapperArgs = [ "--prefix" "PATH" ":" "${jre_headless}/bin" ];
 
+  passthru.tests = { inherit (nixosTests) graylog; };
+
   installPhase = ''
     mkdir -p $out
     cp -r {graylog.jar,lib,bin,plugin} $out
diff --git a/nixpkgs/pkgs/tools/misc/graylog/plugins.nix b/nixpkgs/pkgs/tools/misc/graylog/plugins.nix
index b1abc8a50657..5a9b692b1b8f 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/plugins.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/plugins.nix
@@ -32,7 +32,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/cvtienhoven/graylog-plugin-aggregates";
-      description = "SSO support for Graylog through trusted HTTP headers set by load balancers or authentication proxies";
+      description = "A plugin that enables users to execute term searches and get notified when the given criteria are met";
     };
   };
   auth_sso = glPlugin rec {
@@ -64,10 +64,10 @@ in {
   enterprise-integrations = glPlugin rec {
     name = "graylog-enterprise-integrations-${version}";
     pluginName = "graylog-plugin-enterprise-integrations";
-    version = "3.3.4";
+    version = "3.3.9";
     src = fetchurl {
       url = "https://downloads.graylog.org/releases/graylog-enterprise-integrations/graylog-enterprise-integrations-plugins-${version}.tgz";
-      sha256 = "0ln0vmnfgxg6hdq7sh58xdqn14bl86qrgy3923f3q3hx209v6vn9";
+      sha256 = "0yr2lmf50w8qw5amimmym6y4jxga4d7s7cbiqs5sqzvipgsknbwj";
     };
     installPhase = ''
       mkdir -p $out/bin
@@ -96,10 +96,10 @@ in {
   integrations = glPlugin rec {
     name = "graylog-integrations-${version}";
     pluginName = "graylog-plugin-integrations";
-    version = "3.3.4";
+    version = "3.3.9";
     src = fetchurl {
       url = "https://downloads.graylog.org/releases/graylog-integrations/graylog-integrations-plugins-${version}.tgz";
-      sha256 = "14g6vdyibp3rva8bwss7vjbi9fpxvgp2gbk1r8divbhhpiwsjyxc";
+      sha256 = "0q858ffmkinngyqqsaszcrx93zc4fg43ny0xb7vm0p4wd48hjyqc";
     };
     installPhase = ''
       mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/tools/misc/grex/default.nix b/nixpkgs/pkgs/tools/misc/grex/default.nix
new file mode 100644
index 000000000000..c4f1c8ea9c77
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/grex/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, rustPlatform
+, darwin
+, libiconv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "grex";
+  version = "1.1.0";
+
+  cargoSha256 = "0kf2n2j7kfrfzid1h2gd0qf53fah0hpyrrlh2k5vrhd0panv3bwc";
+
+  src = fetchFromGitHub {
+    owner = "pemistahl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1viph7ki6f2akc5mpbgycacndmxnv088ybfji2bfdbi5jnpyavvs";
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/grex --help > /dev/null
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A command-line tool for generating regular expressions from user-provided test cases";
+    homepage = "https://github.com/pemistahl/grex";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/hacksaw/default.nix b/nixpkgs/pkgs/tools/misc/hacksaw/default.nix
index bf0daa38ab3a..a0e884e82d90 100644
--- a/nixpkgs/pkgs/tools/misc/hacksaw/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hacksaw/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "01draql3x71h7xl2xcc69dv7vpi3smnajhrvaihs5vij81pyfrzk";
 
   meta = with lib; {
-    description = "Lightweight selection tool for usage in screenshot scripts etc.";
+    description = "Lightweight selection tool for usage in screenshot scripts etc";
     homepage = "https://github.com/neXromancers/hacksaw";
     license = with licenses; [ mpl20 ];
     maintainers = with maintainers; [ TethysSvensson ];
diff --git a/nixpkgs/pkgs/tools/misc/hdf4/default.nix b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
index d5b8291d78ed..a1aff8575279 100644
--- a/nixpkgs/pkgs/tools/misc/hdf4/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
@@ -1,44 +1,67 @@
 { stdenv
 , fetchpatch
 , fetchurl
+, fixDarwinDylibNames
 , cmake
 , libjpeg
+, libtirpc
 , zlib
 , szip ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "hdf";
-  version = "4.2.14";
+  version = "4.2.15";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF${version}/src/hdf-${version}.tar.bz2";
-    sha256 = "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l";
+    sha256 = "04nbgfxyj5jg4d6sr28162cxbfwqgv0sa7vz1ayzvm8wbbpkbq5x";
   };
 
-  patches = let
-    # The Debian patch revision to fetch from; this may differ from our package
-    # version, but older patches should still apply.
-    patchRev = "4.2.13-4";
-    getPatch = name: sha256: fetchpatch {
-      inherit sha256;
-      url = "https://salsa.debian.org/debian-gis-team/hdf4/raw/debian/${patchRev}/debian/patches/${name}";
-    };
+  patches = [
+    # Note that the PPC, SPARC and s390 patches are only needed so the aarch64 patch applies cleanly
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-ppc.patch";
+      sha256 = "0dbbfpsvvqzy9zyfv38gd81zzc44gxjib9sd8scxqnkkqprj6jq0";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-4.2.4-sparc.patch";
+      sha256 = "0ip4prcjpa404clm87ib7l71605mws54x9492n9pbz5yb51r9aqh";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-s390.patch";
+      sha256 = "0aiqbr4s1l19y3r3y4wjd5fkv9cfc8rlr4apbh1p0d57wyvqa7i3";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-arm.patch";
+      sha256 = "157k1avvkpf3x89m1fv4a1kgab6k3jv74rskazrmjivgzav4qaw3";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-aarch64.patch";
+      sha256 = "112svcsilk16ybbsi8ywnxfl2p1v44zh3rfn4ijnl8z08vfqrvvs";
+    })
+  ];
 
-  in [
-    (getPatch "64bit"                     "1xqk9zpch4m6ipa0f3x2cm8rwaz4p0ppp1vqglvz18j6q91p8b5y")
-    (getPatch "hdfi.h"                    "01fr9csylnvk9jd9jn9y23bvxy192s07p32pr76mm3gwhgs9h7r4")
-    (getPatch "hdf-4.2.10-aarch64.patch"  "1hl0xw5pd9xhpq49xpwgg7c4z6vv5p19x6qayixw0myvgwj1r4zn")
-    (getPatch "reproducible-builds.patch" "02j639w26xkxpxx3pdhbi18ywz8w3qmjpqjb83n47gq29y4g13hc")
+  nativeBuildInputs = [
+    cmake
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    fixDarwinDylibNames
   ];
 
   buildInputs = [
-    cmake
     libjpeg
+    libtirpc
     szip
     zlib
   ];
 
-  preConfigure = stdenv.lib.optionalString (szip != null) "export SZIP_INSTALL=${szip}";
+  preConfigure = ''
+    # Make tirpc discovery work with CMAKE_PREFIX_PATH
+    substituteInPlace config/cmake/FindXDR.cmake \
+      --replace 'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/tirpc")' \
+                'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATH_SUFFIXES include/tirpc)'
+  '' + stdenv.lib.optionalString (szip != null) ''
+    export SZIP_INSTALL=${szip}
+  '';
 
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/1_8.nix b/nixpkgs/pkgs/tools/misc/hdf5/1_8.nix
deleted file mode 100644
index 849fa6b9ac3b..000000000000
--- a/nixpkgs/pkgs/tools/misc/hdf5/1_8.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{ stdenv
-, fetchurl
-, removeReferencesTo
-, cpp ? false
-, gfortran ? null
-, fortran2003 ? false
-, zlib ? null
-, szip ? null
-, mpi ? null
-, enableShared ? true
-}:
-
-# cpp and mpi options are mutually exclusive
-# (--enable-unsupported could be used to force the build)
-assert !cpp || mpi == null;
-
-# Need a Fortran compiler for Fortran2003 bindings
-assert fortran2003 -> gfortran != null;
-
-# No point splitting version 1.8.18 into multiple outputs.
-# The library /lib/libhdf5.so has a reference to gcc-wrapper
-
-let inherit (stdenv.lib) optional optionals; in
-
-stdenv.mkDerivation rec {
-  version = "1.8.19";
-  pname = "hdf5";
-  src = fetchurl {
-    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/${pname}-${version}/src/${pname}-${version}.tar.bz2";
-    sha256 = "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r" ;
- };
-
-  passthru = {
-    mpiSupport = (mpi != null);
-    inherit mpi;
-  };
-
-  nativeBuildInputs = [ removeReferencesTo ];
-
-  buildInputs = []
-    ++ optional (gfortran != null) gfortran
-    ++ optional (szip != null) szip;
-
-  propagatedBuildInputs = []
-    ++ optional (zlib != null) zlib
-    ++ optional (mpi != null) mpi;
-
-  configureFlags = []
-    ++ optional cpp "--enable-cxx"
-    ++ optional (gfortran != null) "--enable-fortran"
-    ++ optional fortran2003 "--enable-fortran2003"
-    ++ optional (szip != null) "--with-szlib=${szip}"
-    ++ optionals (mpi != null) ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
-    ++ optional enableShared "--enable-shared";
-
-  patches = [./bin-mv.patch];
-
-  postInstall = ''
-    find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
-  '';
-
-  meta = {
-    description = "Data model, library, and file format for storing and managing data";
-    longDescription = ''
-      HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
-      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
-      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
-      applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
-    '';
-    license = stdenv.lib.licenses.free; # BSD-like
-    homepage = "https://www.hdfgroup.org/HDF5/";
-    platforms = stdenv.lib.platforms.unix;
-    broken = (gfortran != null) && stdenv.isDarwin;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index e56108767aba..891fadac12ac 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
@@ -6,7 +6,7 @@
 , zlib ? null
 , szip ? null
 , mpi ? null
-, enableShared ? true
+, enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
 # cpp and mpi options are mutually exclusive
diff --git a/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix b/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix
new file mode 100644
index 000000000000..96e81fe8bd4c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, fetchFromGitHub
+, upx
+}:
+
+let
+  version = "20202807";
+  pname = "hdl-dump";
+in stdenv.mkDerivation {
+  inherit pname version;
+
+  # Using AkuHAK's repo because playstation2's repo is outdated
+  src = fetchFromGitHub {
+    owner = "AKuHAK";
+    repo = pname;
+    rev = "be37e112a44772a1341c867dc3dfee7381ce9e59";
+    sha256 = "0akxak6hm11h8z6jczxgr795s4a8czspwnhl3swqxp803dvjdx41";
+  };
+
+  buildInputs = [ upx ];
+
+  makeFlags = [ "RELEASE=yes" ];
+
+  installPhase = ''
+    install -Dm755 hdl_dump -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/AKuHAK/hdl-dump";
+    description = "PlayStation 2 HDLoader image dump/install utility";
+    platforms = platforms.linux;
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ makefu ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/hebcal/default.nix b/nixpkgs/pkgs/tools/misc/hebcal/default.nix
index 96c958484403..049a79fa7574 100644
--- a/nixpkgs/pkgs/tools/misc/hebcal/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hebcal/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "4.21";
+  version = "4.22";
   pname = "hebcal";
 
   src = fetchFromGitHub {
     owner = "hebcal";
     repo = "hebcal";
     rev = "v${version}";
-    sha256 = "0gqjhl5i0hvnpvsg6cfc2z5ckrs66h3jlrdgim62azn3hh5bday2";
+    sha256 = "0bm29n51qi9q4vx4qsz3l9l1wvpvsk138zixfl5f5yz4kngzbx24";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock b/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
index 489fa555c5de..3bd45730313a 100644
--- a/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,8 +5,8 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.13.1)
-    html-proofer (3.16.0)
+    ffi (1.14.2)
+    html-proofer (3.18.5)
       addressable (~> 2.3)
       mercenary (~> 0.3)
       nokogumbo (~> 2.0)
@@ -18,9 +18,9 @@ GEM
     mini_portile2 (2.4.0)
     nokogiri (1.10.10)
       mini_portile2 (~> 2.4.0)
-    nokogumbo (2.0.2)
+    nokogumbo (2.0.4)
       nokogiri (~> 1.8, >= 1.8.4)
-    parallel (1.19.2)
+    parallel (1.20.1)
     public_suffix (4.0.6)
     rainbow (3.0.0)
     typhoeus (1.4.0)
diff --git a/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix b/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
index bdd0bbc20c9f..d6801512ca48 100644
--- a/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/nixpkgs/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
+      sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.2";
   };
   html-proofer = {
     dependencies = ["addressable" "mercenary" "nokogumbo" "parallel" "rainbow" "typhoeus" "yell"];
@@ -37,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18s8l3nys0lvdkqpfg3c1rd84c5j4dmlx503wnksw9skbzn7l93m";
+      sha256 = "0bz0041fizdmggc5k9an4s3qk6diyybn2agcia2wr96vymfb2qjh";
       type = "gem";
     };
-    version = "3.16.0";
+    version = "3.18.5";
   };
   mercenary = {
     groups = ["default"];
@@ -79,20 +79,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      sha256 = "0pxm7hx2lhmanm8kljd39f1j1742kl0a31zx98jsjiwrkfb5hhc6";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.4";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
+      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
       type = "gem";
     };
-    version = "1.19.2";
+    version = "1.20.1";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/misc/hyperfine/default.nix b/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
index ff9250a2bf66..cd581045cc59 100644
--- a/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hyperfine/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchFromGitHub, rustPlatform, installShellFiles
+{ stdenv, fetchCrate, rustPlatform, installShellFiles
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.10.0";
+  version = "1.11.0";
 
-  src = fetchFromGitHub {
-    owner  = "sharkdp";
-    repo   = pname;
-    rev    = "refs/tags/v${version}";
-    sha256 = "0389lmyipmm4irrl39zw2748f2sdddfzwms4i4763xdykdvi8b57";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "0dla2jzwcxkdx3n4fqkkh6wirqs2f31lvqsw2pjf1jbnnif54mzh";
   };
 
-  cargoSha256 = "06scvp7x1yixdadarsm461hbc256spx4aqhmjjn72x7hxn22h9cg";
+  cargoSha256 = "12qdllhydd29xh20l5gir6qpj4a1nkzp8ics344rcwj8wsj7g5zw";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/nixpkgs/pkgs/tools/misc/ical2org/default.nix b/nixpkgs/pkgs/tools/misc/ical2org/default.nix
index ffdb4e93f582..bcba352d6d36 100644
--- a/nixpkgs/pkgs/tools/misc/ical2org/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ical2org/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   meta = with stdenv.lib; {
-    description = "Convert an iCal file to org agenda format, optionally deduplicating entries.";
+    description = "Convert an iCal file to org agenda format, optionally deduplicating entries";
     homepage = "https://github.com/rjhorniii/ical2org";
     license = licenses.gpl3;
     maintainers = with maintainers; [ swflint ];
diff --git a/nixpkgs/pkgs/tools/misc/ideviceinstaller/default.nix b/nixpkgs/pkgs/tools/misc/ideviceinstaller/default.nix
index 4046d775a542..3dd536580362 100644
--- a/nixpkgs/pkgs/tools/misc/ideviceinstaller/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ideviceinstaller/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ideviceinstaller";
-  version = "2018-10-01";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = "f14def7cd9303a0fe622732fae9830ae702fdd7c";
-    sha256 = "1biwhbldvgdhn8ygp7w79ca0rivzdjpykr76pyhy7r2fa56mrwq8";
+    rev = version;
+    sha256 = "1xp0sjgfx2z19x9mxihn18ybsmrnrcfc55zbh5a44g3vrmagmlzz";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig usbmuxd libimobiledevice libzip ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       and enumerate installed or archived apps.
     '';
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ aristid infinisil ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/idevicerestore/default.nix b/nixpkgs/pkgs/tools/misc/idevicerestore/default.nix
index 5a6064114419..cbb0e1058ab7 100644
--- a/nixpkgs/pkgs/tools/misc/idevicerestore/default.nix
+++ b/nixpkgs/pkgs/tools/misc/idevicerestore/default.nix
@@ -4,17 +4,18 @@
 , libirecovery
 , libzip
 , libusbmuxd
+, IOKit
 }:
 
 stdenv.mkDerivation rec {
   pname = "idevicerestore";
-  version = "2019-12-26";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = "8207daaa2ac3cb3a5107aae6aefee8ecbe39b6d4";
-    sha256 = "1jz72bzk1fh12bs65pv06l85135hgfz1aqnbb084bvqcpj4gl40h";
+    rev = version;
+    sha256 = "1w7ywp77xc6v4hifi3j9ywrj447vv7fkwg2w26w0lq95f3bkblqr";
   };
 
   nativeBuildInputs = [
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     # Not listing other dependencies specified in
     # https://github.com/libimobiledevice/idevicerestore/blob/8a882038b2b1e022fbd19eaf8bea51006a373c06/README#L20
     # because they are inherited `libimobiledevice`.
-  ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/libimobiledevice/idevicerestore";
@@ -51,8 +52,8 @@ stdenv.mkDerivation rec {
       This will download and restore a device to the latest firmware available.
     '';
     license = licenses.lgpl21Plus;
-    # configure.ac suggests it should work for darwin and mingw as well but not tried yet
-    platforms = platforms.linux;
+    # configure.ac suggests it should work for mingw as well but not tried yet
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ nh2 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ink/default.nix b/nixpkgs/pkgs/tools/misc/ink/default.nix
new file mode 100644
index 000000000000..266298d9ec2c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ink/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, libinklevel }:
+
+stdenv.mkDerivation rec {
+  pname = "ink";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1fk0b8vic04a3i3vmq73hbk7mzbi57s8ks6ighn3mvr6m2v8yc9d";
+  };
+
+  buildInputs = [
+    libinklevel
+  ];
+
+  outputs = [ "out" "man" ];
+
+  meta = with stdenv.lib; {
+    description = "A command line tool for checking the ink level of your locally connected printer";
+    longDescription = ''
+      Ink is a command line tool for checking the ink level of your locally connected printer on a system which runs Linux or FreeBSD. Canon BJNP network printers are supported too.
+    '';
+    homepage = "http://ink.sourceforge.net/";
+    license = licenses.gpl2;
+    platforms = platforms.linux ++ platforms.freebsd;
+    maintainers = with maintainers; [ samb96 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/intermodal/default.nix b/nixpkgs/pkgs/tools/misc/intermodal/default.nix
index fe5d724e696b..c96aa90cb233 100644
--- a/nixpkgs/pkgs/tools/misc/intermodal/default.nix
+++ b/nixpkgs/pkgs/tools/misc/intermodal/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "intermodal";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wqf227ljfys16jfbxi6mlkgdczgqrh15ixl9vi6higlxfi2wsj2";
+    sha256 = "0mn0wm3bihn7ffqk0p79mb1hik54dbhc9diq1wh9ylpld2iqmz68";
   };
 
-  cargoSha256 = "0lx8y1y5mf8ga7iz74dnfyf2b9jx15wishw0khfxknmh96h2y99h";
+  cargoSha256 = "0kf5afarfwcl47b40pwnslfvxmxllmb995vc5ls2lpz4cx0jwahn";
 
   # include_hidden test tries to use `chflags` on darwin
   checkFlagsArray = stdenv.lib.optionals stdenv.isDarwin [ "--skip=subcommand::torrent::create::tests::include_hidden" ];
@@ -20,6 +20,6 @@ rustPlatform.buildRustPackage rec {
     description = "User-friendly and featureful command-line BitTorrent metainfo utility";
     homepage = "https://github.com/casey/intermodal";
     license = licenses.cc0;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ipxe/default.nix b/nixpkgs/pkgs/tools/misc/ipxe/default.nix
index 87b26f223bc8..beb6f0e708bf 100644
--- a/nixpkgs/pkgs/tools/misc/ipxe/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ipxe/default.nix
@@ -19,7 +19,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ipxe";
-  version = "1.20.1";
+  version = "1.21.1";
 
   nativeBuildInputs = [ perl cdrkit syslinux xz openssl gnu-efi mtools ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "ipxe";
     repo = "ipxe";
     rev = "v${version}";
-    sha256 = "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp";
+    sha256 = "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9";
   };
 
   # not possible due to assembler code
diff --git a/nixpkgs/pkgs/tools/misc/jdiskreport/default.nix b/nixpkgs/pkgs/tools/misc/jdiskreport/default.nix
index 5e6c0bdd5968..ae70e0f3e613 100644
--- a/nixpkgs/pkgs/tools/misc/jdiskreport/default.nix
+++ b/nixpkgs/pkgs/tools/misc/jdiskreport/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, jre, makeDesktopItem }:
+{ stdenv, fetchurl, unzip, jre, makeDesktopItem, copyDesktopItems }:
 
 let
   desktopItem = makeDesktopItem {
@@ -18,11 +18,12 @@ stdenv.mkDerivation {
     sha256 = "0d5mzkwsbh9s9b1vyvpaawqc09b0q41l2a7pmwf7386b1fsx6d58";
   };
 
+  nativeBuildInputs = [ copyDesktopItems ];
   buildInputs = [ unzip ];
   inherit jre;
 
   installPhase = ''
-    source $stdenv/setup
+    runHook preInstall
 
     unzip $src
 
@@ -38,9 +39,11 @@ stdenv.mkDerivation {
     EOF
     chmod +x $out/bin/jdiskreport
 
-    ${desktopItem.buildCommand}
+    runHook postInstall
   '';
 
+  desktopItems = [ desktopItem ];
+
   meta = with stdenv.lib; {
     homepage = "http://www.jgoodies.com/freeware/jdiskreport/";
     description = "A graphical utility to visualize disk usage";
diff --git a/nixpkgs/pkgs/tools/misc/jdupes/default.nix b/nixpkgs/pkgs/tools/misc/jdupes/default.nix
index 7d559a1468e3..a22fcc77dd96 100644
--- a/nixpkgs/pkgs/tools/misc/jdupes/default.nix
+++ b/nixpkgs/pkgs/tools/misc/jdupes/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jdupes";
-  version = "1.18.2";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "jbruchon";
     repo  = "jdupes";
     rev   = "v${version}";
-    sha256 = "1gaqdcz0s31qncar9dzlr8izv50zlk4y6dgdm9xjk6as2g8b0fkk";
+    sha256 = "1f6qv701c4c9s4hliha7kp8wraq4jfx1jdk86ii10akkm07fkdlz";
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The testdir
     # directories have such files and will be removed.
diff --git a/nixpkgs/pkgs/tools/misc/jugglinglab/default.nix b/nixpkgs/pkgs/tools/misc/jugglinglab/default.nix
index 32c45b31a17d..1b5f11440fa0 100644
--- a/nixpkgs/pkgs/tools/misc/jugglinglab/default.nix
+++ b/nixpkgs/pkgs/tools/misc/jugglinglab/default.nix
@@ -27,4 +27,4 @@ stdenv.mkDerivation rec {
       maintainers = with maintainers; [ wnklmnn ];
       platforms = platforms.all;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/tools/misc/kargo/default.nix b/nixpkgs/pkgs/tools/misc/kargo/default.nix
index eb9805b22d80..ac40eb762d50 100644
--- a/nixpkgs/pkgs/tools/misc/kargo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kargo/default.nix
@@ -30,7 +30,7 @@ buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/kubespray/kargo-cli";
-    description = "A tool helps to deploy a kubernetes cluster with Ansible.";
+    description = "A tool helps to deploy a kubernetes cluster with Ansible";
     platforms = platforms.linux;
     license = licenses.gpl3;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/tools/misc/kcollectd/default.nix b/nixpkgs/pkgs/tools/misc/kcollectd/default.nix
new file mode 100644
index 000000000000..ffc64b1455aa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/kcollectd/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitLab
+, mkDerivation
+, qtbase
+, cmake
+, kconfig
+, kio
+, kiconthemes
+, kxmlgui
+, ki18n
+, kguiaddons
+, extra-cmake-modules
+, boost
+, shared-mime-info
+, rrdtool
+, breeze-icons
+}:
+
+mkDerivation rec {
+  pname = "kcollectd";
+  version = "0.11.99.0";
+  src = fetchFromGitLab {
+    owner = "aerusso";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h4ymvzihzbmyv3z0bp28g94wxc6c7lgi3my0xbka3advxr811gn";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    shared-mime-info
+  ];
+
+  buildInputs = [
+    qtbase
+    kconfig
+    kio
+    kxmlgui
+    kiconthemes
+    ki18n
+    kguiaddons
+    boost
+    rrdtool
+    # otherwise some buttons are blank
+    breeze-icons
+  ];
+
+  meta = with lib; {
+    description = "A graphical frontend to collectd";
+    homepage = "https://www.antonioerusso.com/projects/kcollectd/";
+    maintainers = [ maintainers.symphorien ];
+    license = [ lib.licenses.gpl3Plus ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/kepubify/default.nix b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
index 6f8dbb21e1c2..546dcb112a86 100644
--- a/nixpkgs/pkgs/tools/misc/kepubify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kepubify";
-  version = "3.1.4";
+  version = "3.1.6";
 
   src = fetchFromGitHub {
     owner = "pgaskin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d71d1ra7lk4ayypq3fcigd9lpb2dafa8ci14h0g7rivm4lz8l1j";
+    sha256 = "129izxgvhcybipfgcwzzwsir9zhi7axxadnw822zy5rk2ky4zjpk";
   };
 
-  vendorSha256 = "0jzx5midawvzims9ghh8fbslvwcdczvlpf0k6a9q0bdf4wlp2z5n";
+  vendorSha256 = "0vwzm1c4kada7mqdkr444gj8c2vkvz7av9wkpgdpjrq0v2h0hpcc";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/kermit/default.nix b/nixpkgs/pkgs/tools/misc/kermit/default.nix
index f81d9b7266b6..2155b8676bec 100644
--- a/nixpkgs/pkgs/tools/misc/kermit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kermit/default.nix
@@ -16,12 +16,12 @@ stdenv.mkDerivation {
     tar xvzf $src
   '';
 
-  patchPhase = ''
+  postPatch = ''
     sed -i -e 's@-I/usr/include/ncurses@@' \
       -e 's@/usr/local@'"$out"@ makefile
   '';
 
-  buildPhase = "make -f makefile linux LNKFLAGS='-lcrypt -lresolv'";
+  buildPhase = "make -f makefile linux KFLAGS='-D_IO_file_flags' LNKFLAGS='-lcrypt -lresolv'";
 
   installPhase = ''
     mkdir -p $out/bin
@@ -35,6 +35,5 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
index d0c4d71c58a6..5c70c7fba7d1 100644
--- a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.9";
+  version = "0.10";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "08j2qp632fdmswnb92wxa9lhnal4mrmq6gmxaxngnxiqgkfx37zy";
+    sha256 = "04j5bcsxm2yf74zkphnjrg8j3w0v6bsny8sg2k4gbisgshl1i3p8";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
@@ -19,6 +19,6 @@ buildGoPackage rec {
     description = "A simple terminal UI for both docker and docker-compose";
     homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
-    maintainers = with maintainers; [ das-g filalex77 ];
+    maintainers = with maintainers; [ das-g Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lbdb/default.nix b/nixpkgs/pkgs/tools/misc/lbdb/default.nix
index 7a6553461cb9..976e87ba2d8b 100644
--- a/nixpkgs/pkgs/tools/misc/lbdb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lbdb/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   pname = "lbdb";
   inherit version;
   src = fetchurl {
-    url = "http://www.spinnaker.de/lbdb/download/lbdb_${version}.tar.gz";
+    url = "https://www.spinnaker.de/lbdb/download/lbdb_${version}.tar.gz";
     sha256 = "1gr5l2fr9qbdccga8bhsrpvz6jxigvfkdxrln9wyf2xpps5cdjxh";
   };
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
     + ":${perlldap}/${perl.libPrefix}";
 
   meta = {
-    homepage = "http://www.spinnaker.de/lbdb/";
+    homepage = "https://www.spinnaker.de/lbdb/";
     license = licenses.gpl2;
     platforms = platforms.all;
     description = "The Little Brother's Database";
diff --git a/nixpkgs/pkgs/tools/misc/less/default.nix b/nixpkgs/pkgs/tools/misc/less/default.nix
index 9b1aa0dc5906..4ffbf8634a8e 100644
--- a/nixpkgs/pkgs/tools/misc/less/default.nix
+++ b/nixpkgs/pkgs/tools/misc/less/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "less";
-  version = "551";
+  version = "563";
 
   src = fetchurl {
     url = "http://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0ggyjl3yzn7c450zk1rixi9ls6asdhgqynhk34zsd0ckhmsm45pz";
+    sha256 = "16lsvk88vwjwp5ax1wnll44wxwnzs8lb2fn90xx2si64kwmnsnyf";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
diff --git a/nixpkgs/pkgs/tools/misc/lf/default.nix b/nixpkgs/pkgs/tools/misc/lf/default.nix
index a00fd7494d8b..c3cb3200e06f 100644
--- a/nixpkgs/pkgs/tools/misc/lf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lf/default.nix
@@ -2,18 +2,16 @@
 
 buildGoModule rec {
   pname = "lf";
-  version = "16";
+  version = "18";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "174h6xnm3amayf0wfiai16m8qnkx54h5zy4rs7j3yzycd7sirs5b";
+    sha256 = "1xzy85lz99kwzvpkkaqlylynn57nhn76dff3cxy304d23y3r26w6";
   };
 
-  vendorSha256 = "10na3jzvln353ygcvbhj4243yr83skw5zf3r2n8p6d7i83i86c8w";
-
-  doCheck = false;
+  vendorSha256 = "12njqs39ympi2mqal1cdn0smp80yzcs8xmca1iih8pbmxv51r2gg";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/misc/lice/default.nix b/nixpkgs/pkgs/tools/misc/lice/default.nix
index f4653f81f3a5..2d96819e8778 100644
--- a/nixpkgs/pkgs/tools/misc/lice/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lice/default.nix
@@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    description = "Print license based on selection and user options.";
+    description = "Print license based on selection and user options";
     homepage = "https://github.com/licenses/lice";
     license = licenses.bsd3;
     maintainers = with maintainers; [ swflint ];
diff --git a/nixpkgs/pkgs/tools/misc/licensor/default.nix b/nixpkgs/pkgs/tools/misc/licensor/default.nix
index 3a87e0a1bb89..b7ea30f8d3f8 100644
--- a/nixpkgs/pkgs/tools/misc/licensor/default.nix
+++ b/nixpkgs/pkgs/tools/misc/licensor/default.nix
@@ -22,6 +22,6 @@ rustPlatform.buildRustPackage rec {
     description = "Write licenses to stdout";
     homepage = "https://github.com/raftario/licensor";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/logstash/6.x.nix b/nixpkgs/pkgs/tools/misc/logstash/6.x.nix
index ec8106e922ae..b8008864bccf 100644
--- a/nixpkgs/pkgs/tools/misc/logstash/6.x.nix
+++ b/nixpkgs/pkgs/tools/misc/logstash/6.x.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out
     cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
 
@@ -41,10 +42,11 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/logstash-plugin \
        --set JAVA_HOME "${jre}"
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
-    description = "Logstash is a data pipeline that helps you process logs and other event data from a variety of systems";
+    description = "A data pipeline that helps you process logs and other event data from a variety of systems";
     homepage    = "https://www.elastic.co/products/logstash";
     license     = if enableUnfree then licenses.elastic else licenses.asl20;
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
index e7872b0c4061..cd554167dda8 100644
--- a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
+++ b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out
     cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
 
@@ -41,6 +42,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/logstash-plugin \
        --set JAVA_HOME "${jre}"
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/logstash/contrib.nix b/nixpkgs/pkgs/tools/misc/logstash/contrib.nix
index d03e031b7aee..d4fb6532ef59 100644
--- a/nixpkgs/pkgs/tools/misc/logstash/contrib.nix
+++ b/nixpkgs/pkgs/tools/misc/logstash/contrib.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchzip }:
 
 # Note that plugins are supposed to be installed as:
-#   $path/logstash/{inputs,codecs,filters,outputs}/*.rb 
+#   $path/logstash/{inputs,codecs,filters,outputs}/*.rb
 stdenv.mkDerivation rec {
   version = "1.4.2";
   pname = "logstash-contrib";
@@ -17,8 +17,10 @@ stdenv.mkDerivation rec {
   dontPatchShebangs = true;
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/logstash
     cp -r lib/* $out
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/logtop/default.nix b/nixpkgs/pkgs/tools/misc/logtop/default.nix
new file mode 100644
index 000000000000..a7b2f6282fd9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/logtop/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, ncurses, uthash, pkg-config }:
+
+stdenv.mkDerivation {
+  name = "logtop-0.7";
+
+  src = fetchFromGitHub {
+    rev = "a0935ab2e7056feb3e8a90f5129990c9b335a587";
+    owner = "JulienPalard";
+    repo  ="logtop";
+    sha256 = "1f8vk9gybldxvc0kwz38jxmwvzwangsvlfslpsx8zf04nvbkqi12";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ ncurses uthash ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  postConfigure = ''
+    substituteInPlace Makefile --replace /usr ""
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Displays a real-time count of strings received from stdin";
+    longDescription = ''
+      logtop displays a real-time count of strings received from stdin.
+      It can be useful in some cases, like getting the IP flooding your
+      server or the top buzzing article of your blog
+    '';
+    license = licenses.bsd2;
+    homepage = "https://github.com/JulienPalard/logtop";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.starcraft66 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix b/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
index 3705d7df6f08..ccf7a05907d1 100644
--- a/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.0";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "15lwy2rrb5d5r0asa51bgjr42pcknk6znx6qirw9s924i8dbzp6s";
+    sha256 = "1iizyr6bv17dpv05whcx34498wbrs0q3gn8s50srvdqrdk9hs4gj";
   };
 
-  vendorSha256 = "06y1v0v1kkbd5vxa8h0qvasm9ibwwhz0v4x03k3nb5xlwn0x9jx8";
+  vendorSha256 = "17nykcx47h1q55msh43mmf092y5cigarz5486yp6sqp79p6lbjk3";
 
   doCheck = false;
 
@@ -20,7 +20,7 @@ buildGoModule rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Translation platform for developers. Upload language files, translate, integrate via API.";
+    description = "Translation platform for developers. Upload language files, translate, integrate via API";
     homepage = "https://lokalise.com";
     license = licenses.bsd3;
     maintainers = with maintainers; [ timstott ];
diff --git a/nixpkgs/pkgs/tools/misc/lsd/default.nix b/nixpkgs/pkgs/tools/misc/lsd/default.nix
index 415c55fb611c..706b66d998c3 100644
--- a/nixpkgs/pkgs/tools/misc/lsd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lsd/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, nixosTests
 , fetchFromGitHub
 , rustPlatform
 , installShellFiles
@@ -6,26 +7,31 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lsd";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "Peltoche";
     repo = pname;
     rev = version;
-    sha256 = "006fy87jrb77cpa6bywchcvq1p74vlpy151q1j4nsj8npbr02krj";
+    sha256 = "1iiczdsqw0i6cz492177z6lr8s7fikn151j8p76fmr77zk0bm6q2";
   };
 
-  cargoSha256 = "0mrvcca9y0vylcrbfxxba45v05qxd8z91vb4in88px60xah0dy3q";
+  cargoSha256 = "1r2mkpicsyihlrim3bnmscgg5rnaijpvgq8c846zqj7ly8v8qqvg";
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
     installShellCompletion $releaseDir/build/lsd-*/out/{_lsd,lsd.{bash,fish}}
   '';
 
+  # Found argument '--test-threads' which wasn't expected, or isn't valid in this context
+  doCheck = false;
+
+  passthru.tests = { inherit (nixosTests) lsd; };
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/Peltoche/lsd";
     description = "The next gen ls command";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 marsam ];
+    maintainers = with maintainers; [ Br1ght0ne marsam zowoq ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mbuffer/default.nix b/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
index d86f824b87fa..4007a3f77388 100644
--- a/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mbuffer/default.nix
@@ -3,12 +3,12 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20200505";
+  version = "20200929";
   pname = "mbuffer";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "02qzy3appah0llg6aa71isl2a5nc93bkzy5r4d682lcy2j1n216c";
+    sha256 = "1s6lxbqba2hwnvrdrwk0fpnff62gv0ynah4ql0c9y14s9v0y79jk";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/misc/mcfly/default.nix b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
index 39f9b47f4653..68a2b877c912 100644
--- a/nixpkgs/pkgs/tools/misc/mcfly/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "155x745jakfcpr6kmp24cy8xwdhv81jdfjjhd149bnw5ilg0z037";
+    sha256 = "0a2jff72l5my00pg9lhjdmnwkqfv4hmnl0a9cfbnzsqh39lbklqy";
   };
 
   postInstall = ''
@@ -20,11 +20,12 @@ rustPlatform.buildRustPackage rec {
     install -Dm644 -t $out/share/mcfly mcfly.fish
   '';
 
-  cargoSha256 = "0y6sjbzg5qqqip9sc9ajyd5ra3n2wwvarj6nhpzjhh05kqz3qja4";
+  cargoSha256 = "1c8qjkpc8wi095zzmgd05721kdf1knh9la91l081mvwa3inwk6ax";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/cantino/mcfly";
     description = "An upgraded ctrl-r for Bash whose history results make sense for what you're working on right now";
+    changelog = "https://github.com/cantino/mcfly/blob/v${version}/CHANGELOG.txt";
     license = licenses.mit;
     maintainers = [ maintainers.melkor333 ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix b/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
index c33aa074404f..dc29aad2a549 100644
--- a/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/memtest86-efi/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , fetchzip
-, utillinux
+, util-linux
 , jq
 , mtools
 }:
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    utillinux
+    util-linux
     jq
     mtools
   ];
diff --git a/nixpkgs/pkgs/tools/misc/microplane/default.nix b/nixpkgs/pkgs/tools/misc/microplane/default.nix
new file mode 100644
index 000000000000..f50a3c6ad8e2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/microplane/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "microplane";
+  version = "0.0.25";
+
+  src = fetchFromGitHub {
+    owner = "Clever";
+    repo = "microplane";
+    rev = "v${version}";
+    sha256 = "0vynkv3d70q8d079kgdmwbavyyrjssqnd223dl1rikyy7sd5sli8";
+  };
+
+  goPackagePath = "github.com/Clever/microplane";
+
+  subPackages = ["."];
+
+  # Regenerate deps.nix with the following steps:
+  # git clone git@github.com:Clever/microplane.git
+  # cd microplane
+  # git checkout v<version>
+  # dep2nix
+
+  goDeps = ./deps.nix;
+
+  buildFlagsArray = ''
+    -ldflags="-s -w -X main.version=v${version}"
+  '';
+
+  postInstall = ''
+    ln -s $out/bin/microplane $out/bin/mp
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A CLI tool to make git changes across many repos";
+    homepage = "https://github.com/Clever/microplane";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dbirks ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/microplane/deps.nix b/nixpkgs/pkgs/tools/misc/microplane/deps.nix
new file mode 100644
index 000000000000..f415bae45074
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/microplane/deps.nix
@@ -0,0 +1,228 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev =  "1d903dcb749992f3741d744c0f8376b4bd7eb3e1";
+      sha256 = "1p1ncq4vv244w9v144vplsb2vbl3369wdxn4gc7xbfafkjwn8bxc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
+      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
+    };
+  }
+  {
+    goPackagePath  = "github.com/facebookgo/errgroup";
+    fetch = {
+      type = "git";
+      url = "https://github.com/facebookgo/errgroup";
+      rev =  "779c8d7ef069c522bc72ee5f31a98d89a37f3fb6";
+      sha256 = "1kyqrnvr158f5lgb1pbianjd8xnmxxvpgz7qilmp7zvr69gykbas";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev =  "570b54cabe6b8eb0bc2dfce68d964677d63b5260";
+      sha256 = "1hw9hgkfzbzqjhy29pqpk20xggxaqjv45wx8yn69488mw5ph7khh";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "130e6b02ab059e7b717a096f397c5b60111cae74";
+      sha256 = "0zk4d7gcykig9ld8f5h86fdxshm2gs93a2xkpf52jd5m4z59q26s";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-github";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-github";
+      rev =  "e881974953e6ab6d1a6a1610e98ed6401a3aa1ba";
+      sha256 = "0qaxcm2p655r1jd59rv1hd58driadw5hxlfy7h53c7pzcsmf2546";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev =  "53e6ce116135b80d037921a7fdd5138cf32d7a8a";
+      sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath  = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev =  "c7d06af17c68cd34c835053720b21f6549d9b0ee";
+      sha256 = "1dmj8wkpmkw4z4c7wmnscs4ykrcv7p8lgwb75g5akahwqjaf9zcp";
+    };
+  }
+  {
+    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 =  "0360b2af4f38e8d38c7fce2a9f4e702702d73a39";
+      sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
+    };
+  }
+  {
+    goPackagePath  = "github.com/nathanleiby/diffparser";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nathanleiby/diffparser";
+      rev =  "936553ce5db1b73e63cbcd7546416d13538e8d85";
+      sha256 = "0qlxkbda4l1glwxdy52fhk3bqkyyc55si4xplf54jpi2x9khi2v4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev =  "4048872b16cc0fc2c5fd9eacf0ed2c2fedaa0c8c";
+      sha256 = "17zg26ia43c8axrxp5q2bxh1asiqfhin4ah7h5d8ibil6pv7xbx4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev =  "7b2c5ac9fc04fc5efafb60700713d4fa609b777b";
+      sha256 = "0k4xswdfd2ridj7m48ijb4klq9mxpw03g8h2rvq99yddi8vmlbvn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev =  "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
+      sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "69483b4bd14f5845b5a1e55bca19e954e827f1d0";
+      sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/xanzy/go-gitlab";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xanzy/go-gitlab";
+      rev =  "ee3313ca5478c4786248d63dd75e4cd8e1fad2db";
+      sha256 = "0xbn94rb9ihpw1g698xbz9vdl7393z9zbb0lck52nxs838gkr4mb";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "5c72a883971a4325f8c62bf07b6d38c20ea47a6a";
+      sha256 = "1cimmqpajys001x6yq8ycklc4w34y7iwrksv7ayv7m7fgzhcjn3d";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "aabf50738bcdd9b207582cbe796b59ed65d56680";
+      sha256 = "0gq60lfzbyc6ggp5v3vbl6li818nmv0n32l9qf80ckpqpqkknkh5";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev =  "bb50c06baba3d0c76f9d125c0719093e315b5b44";
+      sha256 = "19fkbykwjhwa0833cqcphv7sfwc1538ad5wlsdkgdwr59qb9d32i";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev =  "6e8e738ad208923de99951fe0b48239bfd864f28";
+      sha256 = "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "28a7276518d399b9634904daad79e18b44d481bc";
+      sha256 = "0qsj394qyy27iaf8srl7bkbsx7sp4aifrv3z2xllkydya8y18rv8";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "150dc57a1b433e64154302bdc40b6bb8aefa313a";
+      sha256 = "0w3knznv39k8bm85ri62f83czcrxknql7dv6p9hk1a5jx3xljgxq";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "eb3733d160e74a9c7e442f435eb3bea458e1d19f";
+      sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6";
+    };
+  }
+]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/misc/miniserve/default.nix b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
index 8e2503d06d42..3e3c62fd0930 100644
--- a/nixpkgs/pkgs/tools/misc/miniserve/default.nix
+++ b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
@@ -8,18 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.9.0";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "miniserve";
     rev = "v${version}";
-    sha256 = "1abmg2zk1qipqdl1yfj8ibm1w8n7fazxqccsg1gq4xzlhhfp3m2l";
+    sha256 = "17m0h0ib7fl0kijagcwdcnvrdcb6z3knix9dl17abg5ivbvkwz8q";
   };
 
-  cargoSha256 = "0l750067x8k92ngg32bb8mnbq09aj65sdnpzdhij9n1mh90rkck9";
-
-  RUSTC_BOOTSTRAP = 1;
+  cargoSha256 = "0ddc8b9wph4r1qcy24p8yiaq9s2knii0d7dh0w0qnzrn6cmm17dg";
 
   nativeBuildInputs = [ pkg-config zlib ];
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
@@ -28,8 +26,7 @@ rustPlatform.buildRustPackage rec {
     description = "For when you really just want to serve some files over HTTP right now!";
     homepage = "https://github.com/svenstaro/miniserve";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ nequissimus zowoq ];
+    maintainers = with maintainers; [ zowoq ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/98181
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mmv-go/default.nix b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
new file mode 100644
index 000000000000..d05614d579ab
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "mmv-go";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "itchyny";
+    repo = "mmv";
+    rev = "v${version}";
+    sha256 = "0kpf6abzhsikm7vyk5735p8sfjhsh7klla9qnmc43mgh0560f020";
+  };
+
+  vendorSha256 = "1nnfi5zad7nlp44mj0fdg09q8pm093di7rr7pknl9whqghv36dfi";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.revision=${src.rev}" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/itchyny/mmv";
+    description = "Rename multiple files using your $EDITOR";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zowoq ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
index ec6be6eba28b..28a1339e9a37 100644
--- a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, dpkg
 , alsaLib, at-spi2-atk, at-spi2-core, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
-, gnome2, gnome3, libnotify, libsecret, libuuid, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
+, gnome2, gdk-pixbuf, gtk3, pango, libnotify, libsecret, libuuid, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
 
 let
-  version = "1.22.1";
+  version = "1.23.0";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -19,9 +19,9 @@ let
     freetype
     glib
     gnome2.GConf
-    gnome2.gdk_pixbuf
-    gnome3.gtk
-    gnome2.pango
+    gdk-pixbuf
+    gtk3
+    pango
     libnotify
     libsecret
     libuuid
@@ -49,7 +49,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "1wbjj2w4dii644lprvmwnlval53yqh4y0f58cad657jjw8101rd9";
+        sha256 = "1kmhki4kq28z8h249p4imcpb0nz2dx5bmpv8ldhhqh3rcq5vzxsv";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
@@ -60,7 +60,7 @@ in stdenv.mkDerivation {
 
   inherit src;
 
-  buildInputs = [ dpkg wrapGAppsHook gnome3.gtk ];
+  buildInputs = [ dpkg wrapGAppsHook gtk3 ];
   dontUnpack = true;
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/tools/misc/mons/default.nix b/nixpkgs/pkgs/tools/misc/mons/default.nix
index c1dbfa0aa49a..71a12c887968 100644
--- a/nixpkgs/pkgs/tools/misc/mons/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mons/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "mons";
-  version = "20200107";
+  version = "20200320";
 
   src = fetchFromGitHub {
     owner = "Ventto";
     repo = pname;
-    rev = "0c9e1a1dddff23a0525ed8e4ec9af8f9dd8cad4c";
-    sha256 = "02c41mw3g1mgl91hhpz1n45iaqk9s7mdk1ixm8yv6sv17hy8rr4w";
+    rev = "375bbba3aa700c8b3b33645a7fb70605c8b0ff0c";
+    sha256 = "19r5y721yrxhd9jp99s29jjvm0p87vl6xfjlcj38bljq903f21cl";
     fetchSubmodules = true;
   };
 
-  # PR: https://github.com/Ventto/mons/pull/36
-  preConfigure = ''sed -i 's/usr\///' Makefile'';
-  
   nativeBuildInputs = [ help2man ];
-  makeFlags = [ "DESTDIR=$(out)" ];
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
 
   meta = with lib; {
     description = "POSIX Shell script to quickly manage 2-monitors display";
diff --git a/nixpkgs/pkgs/tools/misc/mstflint/default.nix b/nixpkgs/pkgs/tools/misc/mstflint/default.nix
index 20d7110944d8..be3993d81ecf 100644
--- a/nixpkgs/pkgs/tools/misc/mstflint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mstflint/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   dontDisableStatic = true;  # the build fails without this. should probably be reported upstream
 
   meta = with stdenv.lib; {
+    description = "Open source version of Mellanox Firmware Tools (MFT)";
     homepage = "https://github.com/Mellanox/mstflint";
     license = with licenses; [ gpl2 bsd2 ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/misc/mutagen/default.nix b/nixpkgs/pkgs/tools/misc/mutagen/default.nix
index ca75bf34dd13..7e824cf90ca4 100644
--- a/nixpkgs/pkgs/tools/misc/mutagen/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mutagen/default.nix
@@ -1,22 +1,38 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchzip }:
 
 buildGoModule rec {
   pname = "mutagen";
-  version = "0.11.7";
+  version = "0.11.8";
 
   src = fetchFromGitHub {
     owner = "mutagen-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11wp94khj9bzmadij0nq6i6q0x9z6h0zy4a6fhf322y5nxsmvcgy";
+    sha256 = "17ycd2y7hgwa2yxbin86i6aj67x7xaajwz3mqgdyfvkja5hgbjyr";
   };
 
   vendorSha256 = "0szs9yc49fyh55ra1wf8zj76kdah0x49d45cgivk3gqh2hl17j6l";
 
+  agents = fetchzip {
+    name = "mutagen-agents-${version}";
+    # The package architecture does not matter since all packages contain identical mutagen-agents.tar.gz.
+    url = "https://github.com/mutagen-io/mutagen/releases/download/v${version}/mutagen_linux_amd64_v${version}.tar.gz";
+    stripRoot = false;
+    extraPostFetch = ''
+      rm $out/mutagen # Keep only mutagen-agents.tar.gz.
+    '';
+    sha256 = "0k8iif09kvxfxx6qm5qmkf3lr7ar6i98ivkndimj680ah9v1hkj8";
+  };
+
   doCheck = false;
 
   subPackages = [ "cmd/mutagen" "cmd/mutagen-agent" ];
 
+  postInstall = ''
+    install -d $out/libexec
+    ln -s ${agents}/mutagen-agents.tar.gz $out/libexec/
+  '';
+
   meta = with lib; {
     description = "Make remote development work with your local tools";
     homepage = "https://mutagen.io/";
diff --git a/nixpkgs/pkgs/tools/misc/mysql2pgsql/default.nix b/nixpkgs/pkgs/tools/misc/mysql2pgsql/default.nix
index 829bb7f5be79..e3f05e1a761c 100644
--- a/nixpkgs/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Convert MySQL dump files to PostgreSQL-loadable files";
-    homepage = "http://pgfoundry.org/projects/mysql2pgsql/";
+    homepage = "https://pgfoundry.org/projects/mysql2pgsql/";
     license = stdenv.lib.licenses.bsdOriginal;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
index 4473f869a380..4ed1bd51696c 100644
--- a/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
+++ b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     description = "Cowsay reborn, written in Go";
     homepage = "https://github.com/Code-Hex/Neo-cowsay";
     license = with licenses; [artistic1 /* or */ gpl3];
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix b/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix
index d92f2346563c..392de7d1bd94 100644
--- a/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
-    rev = "${version}";
-    sha256 = "sha256-xMz6e0OLeB3eltGrLV3Hew0lMjH5LSgqJ1l7JT2Ho/M=";
+    rev = version;
+    sha256 = "sha256-/mlM1EeUlr1nTUJ5rB41idzk3Mfy/htjjPUARYDFpb0=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/nixpkgs/pkgs/tools/misc/noti/default.nix b/nixpkgs/pkgs/tools/misc/noti/default.nix
index 883e353b0b0b..9bfc7e259d5b 100644
--- a/nixpkgs/pkgs/tools/misc/noti/default.nix
+++ b/nixpkgs/pkgs/tools/misc/noti/default.nix
@@ -26,7 +26,7 @@ buildGoPackage rec {
   '';
 
   meta = with lib; {
-    description = "Monitor a process and trigger a notification.";
+    description = "Monitor a process and trigger a notification";
     longDescription = ''
       Monitor a process and trigger a notification.
 
diff --git a/nixpkgs/pkgs/tools/misc/nvimpager/default.nix b/nixpkgs/pkgs/tools/misc/nvimpager/default.nix
new file mode 100644
index 000000000000..2c10c9fbfbb5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/nvimpager/default.nix
@@ -0,0 +1,47 @@
+{ fetchFromGitHub
+, stdenv
+, ncurses, neovim, procps
+, pandoc, lua51Packages, util-linux
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nvimpager";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "lucc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xy5387szfw0bp8dr7d4z33wd4xva7q219rvz8gc0vvv1vsy73va";
+  };
+
+  buildInputs = [
+    ncurses # for tput
+    procps # for nvim_get_proc() which uses ps(1)
+  ];
+  nativeBuildInputs = [ pandoc ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+  buildFlags = [ "nvimpager.configured" ];
+  preBuild = ''
+    patchShebangs nvimpager
+    substituteInPlace nvimpager --replace ':-nvim' ':-${neovim}/bin/nvim'
+    '';
+
+  doCheck = true;
+  checkInputs = [ lua51Packages.busted util-linux neovim ];
+  checkPhase = ''script -c "busted --lpath './?.lua' test"'';
+
+  meta = with stdenv.lib; {
+    description = "Use neovim as pager";
+    longDescription = ''
+      Use neovim as a pager to view manpages, diffs, etc with nvim's syntax
+      highlighting.  Includes a cat mode to print highlighted files to stdout
+      and a ansi esc mode to highlight ansi escape sequences in neovim.
+    '';
+    homepage = "https://github.com/lucc/nvimpager";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.lucc ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/nyancat/default.nix b/nixpkgs/pkgs/tools/misc/nyancat/default.nix
index a7b066147850..d4092c237df7 100644
--- a/nixpkgs/pkgs/tools/misc/nyancat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/nyancat/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Nyancat in your terminal, rendered through ANSI escape sequences.";
+    description = "Nyancat in your terminal, rendered through ANSI escape sequences";
     homepage = "https://nyancat.dakko.us";
     license = licenses.ncsa;
     maintainers = with maintainers; [ midchildan ];
diff --git a/nixpkgs/pkgs/tools/misc/onefetch/default.nix b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
index 58abf6f72f8c..165a49fad038 100644
--- a/nixpkgs/pkgs/tools/misc/onefetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
@@ -3,32 +3,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "onefetch";
-  version = "2.2.0";
+  version = "2.7.3";
 
   src = fetchFromGitHub {
     owner = "o2sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sgpai3gx3w7w3ilmbnmzgdxdim6klkfiqaqxmffpyap6qgksfqs";
+    sha256 = "0c56na9s3g7rdb4cc6ccsnfby2ihf5zrfs3lg9qxiqsfr7mcn4w9";
   };
 
-  cargoSha256 = "18z887mklynxpjci6va4i5zhg90j824avykym24vbz9w97nqpdd5";
+  cargoSha256 = "05rrww53g3k2c8mpxvyc067qsgs7w9sxnzdlvmca1idbqa0k9060";
 
   buildInputs = with stdenv;
     lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
 
-  cargoPatches = [
-    # fix wrong version in Cargo.lock
-    (fetchpatch {
-      url = "https://github.com/o2sh/onefetch/commit/b69fe660d72b65d7efac99ac5db3b03a82d8667f.patch";
-      sha256 = "14przkdyd4yd11xpdgyscs70w9gpnh02j3xdzxf6h895w3mn84lx";
-    })
-  ];
-
   meta = with stdenv.lib; {
     description = "Git repository summary on your terminal";
     homepage = "https://github.com/o2sh/onefetch";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne kloenk ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/opentsdb/default.nix b/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
index 5429ecea2c65..ed80f620318a 100644
--- a/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "http://opentsdb.net";
     license = licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ maintainers.ocharles ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
index ebe99eca8cf9..0d5adcdb5243 100644
--- a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "1dsyhcifixmcw05qxjald02pml0zfdij81pgy9yh8p00v0rqq57x";
+    sha256 = "1if76vw9jkc9jn4v0vvgwnpscjckk2cap93a8iqah8mqzx233y8s";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "OpenStreetMap data to PostgreSQL converter";
-    homepage = "https://github.com/openstreetmap/osm2pgsql";
+    homepage = "https://osm2pgsql.org";
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ jglukasik das-g ];
diff --git a/nixpkgs/pkgs/tools/misc/ostree/default.nix b/nixpkgs/pkgs/tools/misc/ostree/default.nix
index fd1bfc7f8c79..e2cda521f08f 100644
--- a/nixpkgs/pkgs/tools/misc/ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ostree/default.nix
@@ -19,7 +19,7 @@
 , automake
 , libtool
 , fuse
-, utillinuxMinimal
+, util-linuxMinimal
 , libselinux
 , libsodium
 , libarchive
@@ -39,13 +39,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2020.5";
+  version = "2020.8";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "1k92177hjalbdpmg45ymwwrni68vh9rs5x9zvy5fzl9lng12fgpb";
+    sha256 = "16v73v63h16ika73kgh2cvgm0v27r2d48m932mbj3xm6s295kapx";
   };
 
   patches = [
@@ -93,7 +93,7 @@ in stdenv.mkDerivation rec {
     libarchive
     bzip2
     xz
-    utillinuxMinimal # for libmount
+    util-linuxMinimal # for libmount
 
     # for installed tests
     testPython
diff --git a/nixpkgs/pkgs/tools/misc/ovh-ttyrec/default.nix b/nixpkgs/pkgs/tools/misc/ovh-ttyrec/default.nix
new file mode 100644
index 000000000000..5601509726a3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ovh-ttyrec/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, zstd }:
+
+stdenv.mkDerivation rec {
+  pname = "ovh-ttyrec";
+  version = "1.1.6.6";
+
+  src = fetchFromGitHub {
+    owner = "ovh";
+    repo = "ovh-ttyrec";
+    rev = "v${version}";
+    sha256 = "176g3k2pzw6zpvmcc2f8idn6vhlygf7lfzxvrhysav2izc5dd130";
+  };
+
+  nativeBuildInputs = [ zstd ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,man}
+    cp ttytime ttyplay ttyrec $out/bin
+    cp docs/*.1 $out/man
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ovh/ovh-ttyrec/";
+    description = "Terminal interaction recorder and player";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ chaduffy zimbatm ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/page/default.nix b/nixpkgs/pkgs/tools/misc/page/default.nix
index c93084a16d7e..b1042d3ae550 100644
--- a/nixpkgs/pkgs/tools/misc/page/default.nix
+++ b/nixpkgs/pkgs/tools/misc/page/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "page";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchFromGitHub {
     owner = "I60R";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xcbnl8fbdfdmcbv5d7v830aa3vfhg7nlf768rbrfd5a0970pllh";
+    sha256 = "1pk3iclmwbkg4nvsgarq4qjpzapjhsl7b7z6zw6havp1zmx9h806";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     installShellCompletion --zsh $completions_dir/_page
   '';
 
-  cargoSha256 = "0ckfmqi6jvbvj99vbdp798mmy6gc54254n32br0ri842b04i26qf";
+  cargoSha256 = "0s1iwli5h6qkibi24v80izr38z84zfx1dv71fv06lzq38b6s4nd5";
 
   meta = with lib; {
     description = "Use neovim as pager";
diff --git a/nixpkgs/pkgs/tools/misc/pandoc-lua-filters/default.nix b/nixpkgs/pkgs/tools/misc/pandoc-lua-filters/default.nix
new file mode 100644
index 000000000000..b7c081c1ddd0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pandoc-lua-filters/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pandoc-lua-filters";
+  version = "2020-11-30";
+
+  src = fetchFromGitHub {
+    owner = "pandoc";
+    repo = "lua-filters";
+    rev = "v${version}";
+    sha256 = "HWBlmlIuJOSgRVrUmXOAI4XTxs1PbZhcwZgZFX0x2wM=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt $out/share/pandoc/filters **/*.lua
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A collection of lua filters for pandoc";
+    homepage = "https://github.com/pandoc/lua-filters";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pandoc-plantuml-filter/default.nix b/nixpkgs/pkgs/tools/misc/pandoc-plantuml-filter/default.nix
index 61a0f14d5971..cdf0ab862df4 100644
--- a/nixpkgs/pkgs/tools/misc/pandoc-plantuml-filter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pandoc-plantuml-filter/default.nix
@@ -19,7 +19,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/timofurrer/pandoc-plantuml-filter";
-    description = "Pandoc filter which converts PlantUML code blocks to PlantUML images.";
+    description = "Pandoc filter which converts PlantUML code blocks to PlantUML images";
     license = licenses.mit;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/parallel/default.nix b/nixpkgs/pkgs/tools/misc/parallel/default.nix
index e99f2aa12d5f..45439afe3d11 100644
--- a/nixpkgs/pkgs/tools/misc/parallel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parallel/default.nix
@@ -1,13 +1,21 @@
-{ fetchurl, stdenv, perl, makeWrapper, procps }:
+{ fetchurl, stdenv, perl, makeWrapper, procps, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20200822";
+  name = "parallel-20200922";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "02dy46g6f05p7s2qs8h6yg20p1zl3flxxf77n5jw74l3h1m24m4n";
+    sha256 = "0wj19kwjk0hwm8bk9yfcf3rpr0314lmjy5xxlvvdqnbbc4ml2418";
   };
 
+  patches = [
+    ./fix-max-line-length-allowed.diff
+  ];
+
+  postPatch = ''
+    substituteInPlace src/parallel --subst-var-by coreutils ${coreutils}
+  '';
+
   outputs = [ "out" "man" ];
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff b/nixpkgs/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
new file mode 100644
index 000000000000..c6d501ecb22a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
@@ -0,0 +1,17 @@
+Correct path to coreutils echo to fix parallel --max-line-length-allowed.
+
+Author: Bjørn Forsman
+
+diff --git a/src/parallel b/src/parallel
+index a047fd94..9fc5f671 100755
+--- a/src/parallel
++++ b/src/parallel
+@@ -11580,7 +11580,7 @@ sub is_acceptable_command_line_length($$) {
+ 	$len += length $Global::parallel_env;
+     }
+     # Force using non-built-in command
+-    ::qqx("/bin/echo ".${string}x(($len-length "/bin/echo ")/length $string));
++    ::qqx("@coreutils@/bin/echo ".${string}x(($len-length "@coreutils@/bin/echo ")/length $string));
+     ::debug("init", "$len=$? ");
+     return not $?;
+ }
diff --git a/nixpkgs/pkgs/tools/misc/parted/default.nix b/nixpkgs/pkgs/tools/misc/parted/default.nix
index 808b0382f321..2b21b2f1427c 100644
--- a/nixpkgs/pkgs/tools/misc/parted/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parted/default.nix
@@ -8,10 +8,10 @@
 , dosfstools
 , e2fsprogs
 , perl
-, python2
-, utillinux
+, python3
+, util-linux
 , check
-, enableStatic ? false
+, enableStatic ? stdenv.hostPlatform.isStatic
 }:
 
 stdenv.mkDerivation rec {
@@ -43,7 +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 dosfstools e2fsprogs perl python2 utillinux ];
+  checkInputs = [ check dosfstools e2fsprogs perl python3 util-linux ];
 
   meta = {
     description = "Create, destroy, resize, check, and copy partitions";
diff --git a/nixpkgs/pkgs/tools/misc/partition-manager/default.nix b/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
index 1b5f7dbdbece..1a779616ab83 100644
--- a/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/partition-manager/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, fetchurl, lib
 , extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook
 , kconfig, kcrash, kinit, kpmcore
-, eject, libatasmart , utillinux, qtbase
+, eject, libatasmart , util-linux, qtbase
 }:
 
 let
@@ -20,7 +20,7 @@ in mkDerivation rec {
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook ];
 
   # refer to kpmcore for the use of eject
-  buildInputs = [ eject libatasmart utillinux ];
+  buildInputs = [ eject libatasmart util-linux ];
   propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/pastebinit/default.nix b/nixpkgs/pkgs/tools/misc/pastebinit/default.nix
index a3134f57397c..9b4202504a0f 100644
--- a/nixpkgs/pkgs/tools/misc/pastebinit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pastebinit/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, python3 }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, python3
+}:
 
 stdenv.mkDerivation rec {
   version = "1.5";
@@ -9,7 +13,26 @@ stdenv.mkDerivation rec {
     sha256 = "0mw48fgm9lyh9d3pw997fccmglzsjccf2y347gxjas74wx6aira2";
   };
 
-  buildInputs = [ python3 ];
+  buildInputs = [
+    (python3.withPackages (p: [ p.distro ]))
+  ];
+
+  patchFlags = [ "-p0" ];
+
+  patches = [
+    # Required to allow pastebinit 1.5 to run on Python 3.8
+    (fetchpatch {
+      name = "use-distro-module.patch";
+      url = "https://bazaar.launchpad.net/~arnouten/pastebinit/python38/diff/264?context=3";
+      sha256 = "1gp5inp4xald65xbb7fc5aqq5s2fhw464niwjjja9anqyp3zhawj";
+    })
+    # Required because pastebin.com now redirects http requests to https
+    (fetchpatch {
+      name = "pastebin-com-https.patch";
+      url = "https://bazaar.launchpad.net/~arnouten/pastebinit/pastebin-com-https/diff/264?context=3";
+      sha256 = "0hxhhfcai0mll8qfyhdl3slmbf34ynb759b648x63274m9nd2kji";
+    })
+  ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -22,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://launchpad.net/pastebinit";
     description = "A software that lets you send anything you want directly to a pastebin from the command line";
-    maintainers = with maintainers; [ lethalman ];
+    maintainers = with maintainers; [ lethalman raboof ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/misc/patdiff/default.nix b/nixpkgs/pkgs/tools/misc/patdiff/default.nix
index e0b54e56081d..dcd06ce1d2b7 100644
--- a/nixpkgs/pkgs/tools/misc/patdiff/default.nix
+++ b/nixpkgs/pkgs/tools/misc/patdiff/default.nix
@@ -4,8 +4,8 @@ with ocamlPackages;
 
 janePackage {
   pname = "patdiff";
-  hash = "1yqvxdmkgcwgx3npgncpdqwkpdxiqr1q41wci7589s8z7xi5nwyz";
-  buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre shell ];
+  hash = "1yslj6xxyv8rx8y5s1civ1zq8y6vvxmkszdds958zdm1p1ign54r";
+  buildInputs = [ core patience_diff ocaml_pcre ];
   meta = {
     description = "File Diff using the Patience Diff algorithm";
   };
diff --git a/nixpkgs/pkgs/tools/misc/pdd/default.nix b/nixpkgs/pkgs/tools/misc/pdd/default.nix
index f94d2cc27379..37f9e2f4ce5b 100644
--- a/nixpkgs/pkgs/tools/misc/pdd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pdd/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "pdd";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "pdd";
     rev = "v${version}";
-    sha256 = "1cirb8mmxxadks7az6a3a4sp8djv45cwa9dx0zrarzfmw0x7xb9g";
+    sha256 = "1ivzcbm888aibiihw03idp38qbl8mywj1lc1x0q787v0pzqfb4ss";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/tools/misc/pfsshell/default.nix b/nixpkgs/pkgs/tools/misc/pfsshell/default.nix
new file mode 100644
index 000000000000..e941cbd84c79
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pfsshell/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, meson, ninja }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.1";
+  pname = "pfsshell";
+
+  src = fetchFromGitHub {
+    owner = "uyjulian";
+    repo = "pfsshell";
+    rev = "v${version}";
+    sha256 = "0cr91al3knsbfim75rzl7rxdsglcc144x0nizn7q4jx5cad3zbn8";
+  };
+
+  nativeBuildInputs = [ meson ninja ];
+
+  # Build errors since 1.1.1 when format hardening is enabled:
+  #   cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
+  hardeningDisable = [ "format" ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "PFS (PlayStation File System) shell for POSIX-based systems";
+    platforms = platforms.unix;
+    license = with licenses; [
+      gpl2Only # the pfsshell software itself
+      afl20    # APA, PFS, and iomanX libraries which are compiled together with this package
+    ];
+    maintainers = with maintainers; [ makefu ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pg_flame/default.nix b/nixpkgs/pkgs/tools/misc/pg_flame/default.nix
index b8345210e599..7625e67e0010 100644
--- a/nixpkgs/pkgs/tools/misc/pg_flame/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pg_flame/default.nix
@@ -19,6 +19,6 @@ buildGoModule rec {
     description = "Flamegraph generator for Postgres EXPLAIN ANALYZE output";
     homepage = "https://github.com/mgartner/pg_flame";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
index a84ad1fadb08..601694ebc37d 100644
--- a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "03n1gn944z6rz5g643y68hvfxpxp65mip32w1zx43xr60x1vpf2v";
+    sha256 = "1axwsclssxsg38ppdmd4v1lbs87ksrwj5z76ckjk8jjfni1xp9sr";
   };
 
   vendorSha256 = "1mzvpr12qh9668iz97p62zl4zhlrcyfgwr4a9zg9irj585pkb5x2";
diff --git a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
index 726c9526224f..e51684776727 100644
--- a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgmetrics";
-  version = "1.9.3";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner  = "rapidloop";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1g0kdvc93ij155r3g7cd9f5p1x33vdi9p40403waanq5wiavjnzq";
+    sha256 = "1acdak3m9782hr5bn26ck3dnnv1jxwz5yrkyv8kivavjww88m9h2";
   };
 
   vendorSha256 = "16x33fmh4q993rw0jr65337yimska4fwgyyw3kmq84q0x28a3zg5";
diff --git a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
index bea73610ddad..520794c56569 100644
--- a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "9.8.0";
+  version = "10.0.1";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "05q01cr4a2mmyski50pqna9sgw2jy93fgfpjwkhbkc09na6400sq";
+    sha256 = "09wrrcxfvh7pwv0jqpyzjsr0rd7askfr0s2xr1wv9v40znxmsmzz";
   };
 
   buildInputs = [ php ];
diff --git a/nixpkgs/pkgs/tools/misc/phraseapp-client/default.nix b/nixpkgs/pkgs/tools/misc/phraseapp-client/default.nix
index 8e1787f29a89..b99aadf9337f 100644
--- a/nixpkgs/pkgs/tools/misc/phraseapp-client/default.nix
+++ b/nixpkgs/pkgs/tools/misc/phraseapp-client/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "phraseapp-client";
-  version = "1.11.0";
+  version = "1.17.1";
 
   goPackagePath = "github.com/phrase/phraseapp-client";
   subPackages = [ "." ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "phrase";
     repo = "phraseapp-client";
     rev = version;
-    sha256 = "0lfx0wv95hgczi74qnkw2cripwgvl53z2gi5i6nyflisy4r7vvkr";
+    sha256 = "0j8fygp9bw68p1736hq7n7qv86rghchxbdm1xibvk5jpgph1nzl7";
   };
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/misc/picocom/default.nix b/nixpkgs/pkgs/tools/misc/picocom/default.nix
index 5dd83c4887b1..1db8d00a9021 100644
--- a/nixpkgs/pkgs/tools/misc/picocom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/picocom/default.nix
@@ -1,36 +1,48 @@
-{ stdenv, fetchFromGitHub, makeWrapper, lrzsz, IOKit }:
-
-assert stdenv.isDarwin -> IOKit != null;
-
-with stdenv.lib;
+{ stdenv
+, fetchFromGitHub
+, installShellFiles
+, lrzsz
+, IOKit
+}:
 
 stdenv.mkDerivation rec {
   pname = "picocom";
-  version = "3.1";
+  # last tagged release is 3.1 but 3.2 is still considered a release
+  version = "3.2a";
 
+  # upstream is quiet as the original author is no longer active since March 2018
   src = fetchFromGitHub {
     owner = "npat-efault";
     repo = "picocom";
-    rev = version;
-    sha256 = "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n";
+    rev = "1acf1ddabaf3576b4023c4f6f09c5a3e4b086fb8";
+    sha256 = "sha256-cs2bxqZfTbnY5d+VJ257C5hssaFvYup3tBKz68ROnAo=";
   };
 
-  buildInputs = [ makeWrapper ]
-    ++ optionals stdenv.isDarwin [ IOKit ];
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace '.picocom_history' '.cache/picocom_history'
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1
-    cp picocom $out/bin
-    cp picocom.1 $out/share/man/man1
+    substituteInPlace picocom.c \
+      --replace '"rz -vv"' '"${lrzsz}/bin/rz -vv"' \
+      --replace '"sz -vv"' '"${lrzsz}/bin/sz -vv"'
+  '';
 
-    wrapProgram $out/bin/picocom \
-      --prefix PATH ":" "${lrzsz}/bin"
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit;
+
+  installPhase = ''
+    install -Dm555 -t $out/bin picocom
+    installManPage picocom.1
+    installShellCompletion --bash bash_completion/picocom
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Minimal dumb-terminal emulation program";
     homepage = "https://github.com/npat-efault/picocom/";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/pipreqs/default.nix b/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
index bbd4125c4b0e..3f27be2c9f94 100644
--- a/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
@@ -1,16 +1,17 @@
-{ lib, python2Packages }:
+{ lib, python3 }:
 
-# Using python 2 because when packaging with python 3 pipreqs fails to parse python 2 code.
-python2Packages.buildPythonApplication rec {
+with python3.pkgs;
+
+buildPythonApplication rec {
   pname = "pipreqs";
   version = "0.4.10";
 
-  src = python2Packages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
     sha256 = "0fdr3mbxjpmrxr7yfc1sn9kbpcyb0qwafimhhrrqvf989dj1sdcy";
   };
 
-  propagatedBuildInputs = with python2Packages; [ yarg docopt ];
+  propagatedBuildInputs = [ yarg docopt ];
 
   # Tests requires network access. Works fine without sandboxing
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/misc/pistol/default.nix b/nixpkgs/pkgs/tools/misc/pistol/default.nix
index dfbe5536bccc..fa3a9d01f312 100644
--- a/nixpkgs/pkgs/tools/misc/pistol/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pistol/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "pistol";
-  version = "0.1.4";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "doronbehar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1x9wb0gj5l71xz15ia0i2hrnhcpf457i21w41jzw2ink2fbdxp3b";
+    sha256 = "00vpl43m0zw6vqw8yjkaa7dnis9g169jfb48g2mr0hgyhsjr7jbj";
   };
 
-  vendorSha256 = "0dg4f9g6895nv3c6d74ijl6hzsyn620ndspbcq7ynvb1z0hsg6iz";
+  vendorSha256 = "1rkyvcyrjnrgd3b05gjd4sv95j1b99q641f3n36kgf3sc3hp31ws";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix b/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix
new file mode 100644
index 000000000000..11db08dd9735
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, maven, jdk }:
+
+let
+  version = "1.2020.14";
+
+  src = fetchFromGitHub {
+    owner = "plantuml";
+    repo = "plantuml-server";
+    rev = "v${version}";
+    sha256 = "08g6ddpkly5yhjhw7gpsanyspar1752jy9cypwxsqrdzqrv738b8";
+  };
+
+  # perform fake build to make a fixed-output derivation out of the files downloaded from maven central
+  deps = stdenv.mkDerivation {
+    name = "plantuml-server-${version}-deps";
+    inherit src;
+    buildInputs = [ jdk maven ];
+    buildPhase = ''
+      while mvn package -Dmaven.repo.local=$out/.m2; [ $? = 1 ]; do
+        echo "timeout, restart maven to continue downloading"
+      done
+    '';
+    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
+    installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete'';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "1wwgyjalhlj5azggs9vvsrr54pg7gl8p36pgf6pk12rsszzl7a97";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "plantuml-server";
+  inherit version;
+  inherit src;
+
+  buildInputs = [ jdk maven ];
+
+  buildPhase = ''
+    # 'maven.repo.local' must be writable so copy it out of nix store
+    cp -R $src repo
+    chmod +w -R repo
+    cd repo
+    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/webapps"
+    cp "target/plantuml.war" "$out/webapps/plantuml.war"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A web application to generate UML diagrams on-the-fly.";
+    homepage = "https://plantuml.com/";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ truh ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index 8689e6467fb4..742e62230d28 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2020.16";
+  version = "1.2020.22";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0k9dligb0b2kc8rl9k5wp9sh8z1kb8g97v5pfiiwa321lp8y6wpp";
+    sha256 = "10s2a5z903k1nhq6zdvj4wfms5ma4ldhq9330nnnkdzhbxdp14yx";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/plowshare/default.nix b/nixpkgs/pkgs/tools/misc/plowshare/default.nix
index 1d3e8c6c33db..662710388d31 100644
--- a/nixpkgs/pkgs/tools/misc/plowshare/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plowshare/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey }:
+{ stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_38 }:
 
 stdenv.mkDerivation rec {
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,mod,probe,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${stdenv.lib.makeBinPath [ curl recode spidermonkey ]}"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${stdenv.lib.makeBinPath [ curl recode spidermonkey_38 ]}"
     done
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
index 9ec7c0a32bf1..16734e3dd3a8 100644
--- a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.17.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "135j18d53nhg6adjd2hax067c5f1py9fyprzfcr3plsxnaki2hrx";
+    sha256 = "0dni842xzc8r6wbdfax25940jvxp69zk8xklczkjmyxqawvsxnjh";
   };
 
   vendorSha256 = "0dkgp9vlb76la0j439w0rb548qg5v8648zryk3rqgfhd4qywlk11";
diff --git a/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix b/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
index df0d344afaa9..6df48f0effba 100644
--- a/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
 
   COMPLETION_OUT = "out";
   postInstall = ''
-    install -Dm 755 "${COMPLETION_OUT}/${pname}.bash" "$out/etc/bash_completion.d/${pname}"
+    install -Dm 755 "${COMPLETION_OUT}/${pname}.bash" "$out/share/bash-completion/completions/${pname}"
     install -Dm 755 "${COMPLETION_OUT}/${pname}.fish" "$out/share/fish/vendor_completions.d/${pname}"
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
index 7d68ada2c1bc..b4497c4d7c87 100644
--- a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, utillinux, coreutils}:
+{ stdenv, fetchurl, util-linux, coreutils}:
 
 stdenv.mkDerivation rec {
-  version = "6.40";
+  version = "6.42";
   pname = "profile-sync-daemon";
 
   src = fetchurl {
     url = "https://github.com/graysky2/profile-sync-daemon/archive/v${version}.tar.gz";
-    sha256 = "1z1n7dqbkk0x9w2pq71nf93wp4hrzin4a0hcvfynj1khf12z369h";
+    sha256 = "1x47ydrwawkic5cgzp0ikd99g1hbpzc2aalq9z630vm13yw2adnp";
   };
 
   installPhase = ''
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     # $HOME detection fails (and is unnecessary)
     sed -i '/^HOME/d' $out/bin/profile-sync-daemon
     substituteInPlace $out/bin/psd-overlay-helper \
-      --replace "PATH=/usr/bin:/bin" "PATH=${utillinux.bin}/bin:${coreutils}/bin" \
-      --replace "sudo " "/run/wrappers/bin/sudo " 
+      --replace "PATH=/usr/bin:/bin" "PATH=${util-linux.bin}/bin:${coreutils}/bin" \
+      --replace "sudo " "/run/wrappers/bin/sudo "
   '';
 
   preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/pspg/default.nix b/nixpkgs/pkgs/tools/misc/pspg/default.nix
index 4af7a0009af5..a2048132e078 100644
--- a/nixpkgs/pkgs/tools/misc/pspg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "3.1.3";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "16pajhzr4aahyhdzkp9g3ld2insnlk2z2w2pfab8bghw4f69j5xf";
+    sha256 = "000h4yiaym7i5bcm268rvsjbs2brz2is9lhm6vm3dx0q7k1pcx45";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix b/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
index e70b8274d364..69d11ab34589 100644
--- a/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
+++ b/nixpkgs/pkgs/tools/misc/q-text-as-data/default.nix
@@ -1,26 +1,32 @@
-{ stdenvNoCC, fetchFromGitHub, python2 }:
+{ lib, fetchFromGitHub, python3Packages }:
 
-stdenvNoCC.mkDerivation rec {
+python3Packages.buildPythonApplication rec {
   pname = "q-text-as-data";
-  version = "1.7.4";
+  version = "2.0.19";
 
   src = fetchFromGitHub {
     owner = "harelba";
     repo = "q";
     rev = version;
-    sha256 = "0p8rbfwwcqjyrix51v52zp9b03z4xg1fv2raf2ygqp9a4l27dca8";
+    sha256 = "18cwyfjgxxavclyd08bmb943c8bvzp1gnqp4klkq5xlgqwivr4sv";
   };
 
-  buildInputs = [ python2 ];
-  dontBuild = true;
+  propagatedBuildInputs = with python3Packages; [
+    setuptools
+    six
+  ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bin/q $out/bin
-    chmod +x $out/bin/q
+  doCheck = false;
+
+  patchPhase = ''
+    # remove broken symlink
+    rm bin/qtextasdata.py
+
+    # not considered good practice pinning in install_requires
+    substituteInPlace setup.py --replace 'six==' 'six>='
   '';
 
-  meta = with stdenvNoCC.lib; {
+  meta = with lib; {
     description = "Run SQL directly on CSV or TSV files";
     longDescription = ''
       q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files).
diff --git a/nixpkgs/pkgs/tools/misc/radeon-profile/default.nix b/nixpkgs/pkgs/tools/misc/radeon-profile/default.nix
index 852c46b6d005..acadda5c549b 100644
--- a/nixpkgs/pkgs/tools/misc/radeon-profile/default.nix
+++ b/nixpkgs/pkgs/tools/misc/radeon-profile/default.nix
@@ -5,7 +5,7 @@
 mkDerivation rec {
 
   pname = "radeon-profile";
-  version = "20190903";
+  version = "20200824";
 
   nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase qtcharts libXrandr libdrm ];
@@ -14,7 +14,7 @@ mkDerivation rec {
     owner  = "marazmista";
     repo   = "radeon-profile";
     rev    = version;
-    sha256 = "0ax5417q03xjwi3pn7yyjdb90ssaygdprfgb1pz9nkyk6773ckx5";
+    sha256 = "0z6a9w79s5wiy8cvwcdp5wmgf6702d0wzw95f6176yhp4cwy4cq2";
   }) + "/radeon-profile";
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/misc/rmlint/default.nix b/nixpkgs/pkgs/tools/misc/rmlint/default.nix
index 936c78b695d1..36da8d0a463b 100644
--- a/nixpkgs/pkgs/tools/misc/rmlint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rmlint/default.nix
@@ -14,7 +14,7 @@
 , python3
 , scons
 , sphinx
-, utillinux
+, util-linux
 , wrapGAppsHook
 , withGui ? false }:
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     sha256 = "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x";
   };
 
-  CFLAGS="-I${stdenv.lib.getDev utillinux}/include";
+  CFLAGS="-I${stdenv.lib.getDev util-linux}/include";
 
   nativeBuildInputs = [
     pkgconfig
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     glib
     json-glib
     libelf
-    utillinux
+    util-linux
   ] ++ stdenv.lib.optionals withGui [
     cairo
     gobject-introspection
diff --git a/nixpkgs/pkgs/tools/misc/rmtrash/default.nix b/nixpkgs/pkgs/tools/misc/rmtrash/default.nix
index 073871b0f438..d50079f82c26 100644
--- a/nixpkgs/pkgs/tools/misc/rmtrash/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rmtrash/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rmtrash";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchFromGitHub {
     owner = "PhrozenByte";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04a9c65wnkq1fj8qhdsdbps88xjbp7rn6p27y25v47kaysvrw01j";
+    sha256 = "0wfb2ykzlsxyqn9krfsis9jxhaxy3pxl71a4f15an1ngfndai694";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix b/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix
new file mode 100644
index 000000000000..925dfde13a36
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, buildPackages }:
+
+stdenv.mkDerivation rec {
+  pname = "rpcsvc-proto";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "thkukuk";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "006l1f824r9bcbwn1s1vbs33cdwhs66jn6v97yas597y884y40z9";
+  };
+
+  outputs = [ "out" "man" ];
+
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ autoreconfHook ];
+
+  postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    substituteInPlace rpcsvc/Makefile.am \
+      --replace '$(top_builddir)/rpcgen/rpcgen' '${buildPackages.rpcsvc-proto}/bin/rpcgen'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/thkukuk/rpcsvc-proto";
+    description = "This package contains rpcsvc proto.x files from glibc, which are missing in libtirpc";
+    longDescription = ''
+      The RPC-API has been removed from glibc. The 2.32-release-notes
+      (https://sourceware.org/pipermail/libc-announce/2020/000029.html) recommend to use
+      `libtirpc` and this package instead.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
index 456798d816f1..abca71febb93 100644
--- a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
@@ -33,20 +33,20 @@
 , json_c
 , zchunk
 , libmodulemd
-, utillinux
+, util-linux
 , sqlite
 , cppunit
 }:
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2020.5";
+  version = "2020.8";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "MLLCmnStvGuSbVBdfOm2Sdzzz7LvPQkgDt9G0CDqCkA=";
+    sha256 = "1iyl6bjkj3drlwds579bh25xcmlwj9lkkbdmcdanq5b3shbmpyhi";
   };
 
   nativeBuildInputs = [
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
     json_c
     zchunk
     libmodulemd
-    utillinux # for smartcols.pc
+    util-linux # for smartcols.pc
     sqlite
     cppunit
   ];
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model";
-    homepage = "https://rpm-ostree.readthedocs.io/en/latest/";
+    homepage = "https://coreos.github.io/rpm-ostree/";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ copumpkin ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
index bc32489c588e..fee6ae14bbde 100644
--- a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -7,8 +7,8 @@ let
 
 in buildPackage {
   pname = pname;
-  version = "2.2.2.2";
-  sha256 = "1k3la37q46n93vjwk9wm9ym4w87z6lqzv43f03qd0vqj9k94mpv3";
+  version = "2.2.3.0";
+  sha256 = "063zwifigg2b3wsixdcz4h9yvr6fkqssvx0iyfsprjfmm1yapfi9";
 
   description = "A set of tiny general Unix utilities optimized for simplicity and small size";
 
diff --git a/nixpkgs/pkgs/tools/misc/shallot/default.nix b/nixpkgs/pkgs/tools/misc/shallot/default.nix
index e8ab6168541c..84e241b7a2c9 100644
--- a/nixpkgs/pkgs/tools/misc/shallot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/shallot/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Shallot allows you to create customized .onion addresses for your hidden service";
+    description = "Allows you to create customized .onion addresses for your hidden service";
 
     license = stdenv.lib.licenses.mit;
     homepage = "https://github.com/katmagic/Shallot";
diff --git a/nixpkgs/pkgs/tools/misc/shunit2/default.nix b/nixpkgs/pkgs/tools/misc/shunit2/default.nix
index 186235be4428..e08a5b576d3f 100644
--- a/nixpkgs/pkgs/tools/misc/shunit2/default.nix
+++ b/nixpkgs/pkgs/tools/misc/shunit2/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/kward/shunit2";
-    description = "A xUnit based unit test framework for Bourne based shell scripts.";
+    description = "A xUnit based unit test framework for Bourne based shell scripts";
     maintainers = with maintainers; [ cdepillabout utdemir ];
     license = licenses.asl20;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/silicon/default.nix b/nixpkgs/pkgs/tools/misc/silicon/default.nix
index 99de1c3d1756..56c9541c2e03 100644
--- a/nixpkgs/pkgs/tools/misc/silicon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/silicon/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "silicon";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "silicon";
     rev = "v${version}";
-    sha256 = "1ga632c86l30n6wjj8rc3gz43v93mb7kcl9f8vhig16ycgiw8v09";
+    sha256 = "0cvzkfyljgxhmn456f2rn0vq2bhm1ishr4jg4dnwjjfgmjg3w908";
   };
 
-  cargoSha256 = "0bgm29v9vmd1xcdazg1psrx6hb1z3zfzr1c4iy8j1r28csbmm6kq";
+  cargoSha256 = "1aymhbfzcncrbc5n8rf62bdgi95b4bjhw6p716vhca5p6c7wfxcb";
 
   buildInputs = [ llvmPackages.libclang expat freetype ]
     ++ lib.optionals stdenv.isLinux [ libxcb ]
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   meta = with lib; {
-    description = "Create beautiful image of your source code.";
+    description = "Create beautiful image of your source code";
     homepage = "https://github.com/Aloxaf/silicon";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ evanjs ];
diff --git a/nixpkgs/pkgs/tools/misc/skim/default.nix b/nixpkgs/pkgs/tools/misc/skim/default.nix
index e89cf366136a..996e6b4490e1 100644
--- a/nixpkgs/pkgs/tools/misc/skim/default.nix
+++ b/nixpkgs/pkgs/tools/misc/skim/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchCrate, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "skim";
-  version = "0.8.2";
+  version = "0.9.3";
 
-  src = fetchFromGitHub {
-    owner = "lotabout";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0paxrf03rqzahbpr4gnsj62vl09vcxvw248n9wzhjq14dqlwcr9w";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "026mgqcp9sg6wwikghrc3rgh5p6wdbnvav5pb3xvs79lj85d5ga7";
   };
 
   outputs = [ "out" "vim" ];
 
-  cargoSha256 = "0rxxdad60fpwkb4wx5407ihd89wqpf2ldcnp7nsx17xh4brp1l9r";
+  cargoSha256 = "07bs23x2vxzlrca5swwq8khmd9fbdhlhm0avwp9y231df6xdi2ys";
 
   postPatch = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
diff --git a/nixpkgs/pkgs/tools/misc/slurp/default.nix b/nixpkgs/pkgs/tools/misc/slurp/default.nix
index dbec2324674b..32263bad4a1d 100644
--- a/nixpkgs/pkgs/tools/misc/slurp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/slurp/default.nix
@@ -1,27 +1,28 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
-, cairo, wayland, wayland-protocols
+{ stdenv, fetchFromGitHub, meson, ninja, pkg-config
+, cairo, libxkbcommon, wayland, wayland-protocols
 , buildDocs ? true, scdoc
 }:
 
 stdenv.mkDerivation rec {
   pname = "slurp";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = "slurp";
     rev = "v${version}";
-    sha256 = "0580m6kaiilgsrcj608r837r37sl6a25y7w21p7d6ij20fs3gvg1";
+    sha256 = "1fby2v2ylcadgclds05wpkl9xi2r9dfz49dqyqpn20rjv1wnz3jv";
   };
 
   nativeBuildInputs = [
     meson
     ninja
-    pkgconfig
+    pkg-config
   ] ++ stdenv.lib.optional buildDocs scdoc;
 
   buildInputs = [
     cairo
+    libxkbcommon
     wayland
     wayland-protocols
   ];
diff --git a/nixpkgs/pkgs/tools/misc/smenu/default.nix b/nixpkgs/pkgs/tools/misc/smenu/default.nix
index 4d24a1542fa3..362c4f6c9145 100644
--- a/nixpkgs/pkgs/tools/misc/smenu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/smenu/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.15";
+  version = "0.9.16";
   pname = "smenu";
 
   src = fetchFromGitHub {
     owner  = "p-gen";
     repo   = "smenu";
     rev    = "v${version}";
-    sha256 = "0s9qhg6dln33x8r2g8igvgkyrv8g1z26wf8gcnqp3kbp6fw12izi";
+    sha256 = "1vlsrc071fznqnz67jbhrc4pcfwzc737lwd9jxpnidn0i08py5p2";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/tools/misc/snapper/default.nix b/nixpkgs/pkgs/tools/misc/snapper/default.nix
index ab4aad485567..3843f16f6a86 100644
--- a/nixpkgs/pkgs/tools/misc/snapper/default.nix
+++ b/nixpkgs/pkgs/tools/misc/snapper/default.nix
@@ -1,17 +1,18 @@
 { 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, json_c, nixosTests }:
+, lvm2, pam, python, util-linux, fetchpatch, json_c, nixosTests
+, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.12";
+  version = "0.8.15";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "0vkzncgyf1l2wcr5qd615qbd0hmclfrblg38mx52m707z3wyv88v";
+    sha256 = "1rqv1qfxr02qbkix1mpx91s4827irxryxkhby3ii0fdkm3ympsas";
   };
 
   nativeBuildInputs = [
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python utillinux json_c
+    lvm2 pam python util-linux json_c ncurses
   ];
 
   passthru.tests.snapper = nixosTests.snapper;
diff --git a/nixpkgs/pkgs/tools/misc/somafm-cli/default.nix b/nixpkgs/pkgs/tools/misc/somafm-cli/default.nix
index 312b402ae66d..3ce3f62a9e2b 100644
--- a/nixpkgs/pkgs/tools/misc/somafm-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/somafm-cli/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     description = "Listen to SomaFM in your terminal via pure bash";
     homepage = "https://github.com/rockymadden/somafm-cli";
     license = licenses.mit;
+    platforms = platforms.all;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/spigot/default.nix b/nixpkgs/pkgs/tools/misc/spigot/default.nix
index fbed27a24478..8321d03a48f4 100644
--- a/nixpkgs/pkgs/tools/misc/spigot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/spigot/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spigot";
-  version = "20200101";
+  version = "20200901";
   src = fetchgit {
     url = "https://git.tartarus.org/simon/spigot.git";
-    rev = "b1b0b202b3523b72f0638fb31fd49c47f4abb39c";
-    sha256 = "0lh5v42aia1hvhsqzs515q0anrjc6c2s9bjklfaap5gz0cg59wbv";
+    rev = "9910e5bdc203bae6b7bbe1ed4a93f13755c1cae";
+    sha256 = "1az6v9gk0g2k197lr288nmr9jv20bvgc508vn9ic3v7mav7hf5bf";
   };
 
   nativeBuildInputs = [ autoreconfHook halibut perl ];
diff --git a/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index a170eef35fb2..4062699bc231 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -1,15 +1,22 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, installShellFiles
-, libiconv, Security }:
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+, installShellFiles
+, libiconv
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.44.0";
+  version = "0.48.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pxrg5sfqqkvqww3fabq64j1fg03v5fj5yvm2xg2qa5n2f2qwnhi";
+    sha256 = "1p37cfkcpqv74gp7g099alkqxanfc002kaq1cim6zkinx50gxjxw";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
@@ -17,33 +24,30 @@ rustPlatform.buildRustPackage rec {
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  postPatch = ''
-    substituteInPlace src/utils.rs \
-      --replace "/bin/echo" "echo"
-  '';
-
   postInstall = ''
     for shell in bash fish zsh; do
-      $out/bin/starship completions $shell > starship.$shell
+      STARSHIP_CACHE=$TMPDIR $out/bin/starship completions $shell > starship.$shell
       installShellCompletion starship.$shell
     done
   '';
 
-  cargoSha256 = "1b5gsw7jpiqjc7kbwf2kp6h6ks7jcgygrwzvn2akz86z40sskyg3";
-
-  preCheck = ''
-    substituteInPlace tests/testsuite/common.rs \
-      --replace "./target/debug/starship" "./$releaseDir/starship"
-    substituteInPlace tests/testsuite/python.rs \
-      --replace "#[test]" "#[test] #[ignore]"
-  '';
+  cargoSha256 = "02djpwvwrrp7f0ifiypx1cr1v4bkqxrhqfhy0abfjszza95fjasv";
 
-  checkFlagsArray = [ "--skip=directory::home_directory" "--skip=directory::directory_in_root" ];
+  checkFlags = [
+    "--skip=directory_in_home"
+    "--skip=home_directory"
+    "--skip=directory_in_root"
+    "--skip=truncation_symbol_not_truncated_home"
+    "--skip=truncation_symbol_truncated_home"
+    "--skip=folder_with_glide_yaml"
+    "--skip=shows_multiple_tfms"
+    "--skip=shows_pinned_in_project_below_root_with_global_json"
+  ];
 
   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 filalex77 Frostman marsam ];
+    maintainers = with maintainers; [ bbigras davidtwco Br1ght0ne Frostman marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/staruml/default.nix b/nixpkgs/pkgs/tools/misc/staruml/default.nix
index 90c3c696526d..d0266cf30e28 100644
--- a/nixpkgs/pkgs/tools/misc/staruml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/staruml/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A sophisticated software modeler";
-    homepage = "http://staruml.io/";
+    homepage = "https://staruml.io/";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/statserial/default.nix b/nixpkgs/pkgs/tools/misc/statserial/default.nix
index 66ae899b9c5a..448323f43461 100644
--- a/nixpkgs/pkgs/tools/misc/statserial/default.nix
+++ b/nixpkgs/pkgs/tools/misc/statserial/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://sites.google.com/site/tranter/software";
-    description = "Display serial port modem status lines.";
+    description = "Display serial port modem status lines";
     license = licenses.gpl2;
 
     longDescription =
diff --git a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
index 8490771ad8d2..d06bb8b134db 100644
--- a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
-, gitMinimal }:
+, gitMinimal, ffmpeg }:
 
 let
 
@@ -8,13 +8,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "svtplay-dl";
-  version = "2.4";
+  version = "2.8";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "146ss7pzh61yw84crk6hzfxkfdnf6bq07m11b6lgsw4hsn71g59w";
+    sha256 = "1977xyxi9jfj7qra1sz7c9lk885cadpci66jvbzvnwm6d60m05lb";
   };
 
   pythonPaths = [ pycrypto pyyaml requests ];
@@ -24,12 +24,16 @@ in stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace scripts/run-tests.sh \
       --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
+
+    sed -i '/def test_sublang2\?(/ i\    @unittest.skip("accesses network")' \
+      lib/svtplay_dl/tests/test_postprocess.py
   '';
 
   makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc" "PYTHON=${python.interpreter}" ];
 
   postInstall = ''
     wrapProgram "$out/bin/svtplay-dl" \
+      --prefix PATH : "${ffmpeg}" \
       --prefix PYTHONPATH : "$PYTHONPATH"
   '';
 
@@ -42,7 +46,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://github.com/spaam/svtplay-dl";
     description = "Command-line tool to download videos from svtplay.se and other sites";
     license = licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ maintainers.rycee ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/swaglyrics/default.nix b/nixpkgs/pkgs/tools/misc/swaglyrics/default.nix
new file mode 100644
index 000000000000..048dac85fdb2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/swaglyrics/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, python3, fetchFromGitHub, ncurses }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "swaglyrics";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "SwagLyrics";
+    repo = "SwagLyrics-For-Spotify";
+    rev = "v${version}";
+    sha256 = "1dwj9fpyhqqpm2z3imp8hfribkzxya891shh77yg77rc2xghp7mh";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    unidecode colorama beautifulsoup4 flask requests swspotify
+  ];
+
+  preConfigure = ''
+    substituteInPlace setup.py \
+      --replace 'requests>=2.24.0' 'requests~=2.23'
+  '';
+
+  preBuild = "export HOME=$NIX_BUILD_TOP";
+
+  # disable tests which touch network
+  disabledTests = [
+     "test_database_for_unsupported_song"
+     "test_that_lyrics_works_for_unsupported_songs"
+     "test_that_get_lyrics_works"
+     "test_lyrics_are_shown_in_tab"
+     "test_songchanged_can_raise_songplaying"
+  ];
+
+  checkInputs = with python3.pkgs;
+    [ blinker swspotify pytestCheckHook flask mock flask_testing ]
+    ++ [ ncurses ];
+
+  meta = with stdenv.lib; {
+    description = "Lyrics fetcher for currently playing Spotify song";
+    homepage = "https://github.com/SwagLyrics/SwagLyrics-For-Spotify";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/sweep-visualizer/default.nix b/nixpkgs/pkgs/tools/misc/sweep-visualizer/default.nix
index 21e6f49df1f5..fdd3c5f628d0 100644
--- a/nixpkgs/pkgs/tools/misc/sweep-visualizer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sweep-visualizer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, makeWrapper, fetchurl,
   alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib,
-  gnome2, gtk2-x11, nspr, nss,
+  gnome2, pango, gtk2-x11, nspr, nss,
   libX11, libxcb, libXcomposite, libXcursor, libXdamage, libXext, libXfixes,
   libXi, libXrandr, libXrender, libXScrnSaver, libXtst,
   libudev0-shim
@@ -33,7 +33,7 @@
     preFixup = let
       libPath = lib.makeLibraryPath [
         alsaLib atk cairo cups.lib dbus.lib expat fontconfig.lib freetype
-        gdk-pixbuf glib gnome2.GConf gnome2.pango gtk2-x11 nspr nss stdenv.cc.cc.lib
+        gdk-pixbuf glib gnome2.GConf pango gtk2-x11 nspr nss stdenv.cc.cc.lib
         libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes
         libXi libXrandr libXrender libXScrnSaver libXtst
       ];
diff --git a/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix b/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
index 8433866928a0..aae69d8ad394 100644
--- a/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
+++ b/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "systrayhelper";
-  version = "0.0.4";
+  version = "0.0.5";
   rev = "ded1f2ed4d30f6ca2c89a13db0bd3046c6d6d0f9";
 
   goPackagePath = "github.com/ssbc/systrayhelper";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "ssbc";
     repo = "systrayhelper";
-    sha256 = "1iq643brha5q6w2v1hz5l3d1z0pqzqr43gpwih4cnx3m5br0wg2k";
+    sha256 = "0bn3nf43m89qmh8ds5vmv0phgdz32idz1zisr47jmvqm2ky1a45s";
   };
 
   # re date: https://github.com/NixOS/nixpkgs/pull/45997#issuecomment-418186178
diff --git a/nixpkgs/pkgs/tools/misc/tagref/default.nix b/nixpkgs/pkgs/tools/misc/tagref/default.nix
new file mode 100644
index 000000000000..43a91eaca529
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/tagref/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform }:
+rustPlatform.buildRustPackage rec {
+  pname = "tagref";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "stepchowfun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y1c0v2zjpav1n72pgf3kpqdz6ixp2mjhcvvza4gzfp865c236nc";
+  };
+
+  cargoSha256 = "06ljy213x9lhvqjysz9cjhrrg0ns07qkz27pxd8rih0mk6cck45g";
+
+  meta = with lib; {
+    description = "Tagref helps you refer to other locations in your codebase.";
+    homepage = "https://github.com/stepchowfun/tagref";
+    license = licenses.mit;
+    maintainers = [ maintainers.yusdacra ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/td/default.nix b/nixpkgs/pkgs/tools/misc/td/default.nix
index f4b120d1bc12..bca5bd601d41 100644
--- a/nixpkgs/pkgs/tools/misc/td/default.nix
+++ b/nixpkgs/pkgs/tools/misc/td/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "td";
 
   meta = with lib; {
-    description = "CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing.";
+    description = "CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing";
     homepage    = "https://github.com/treasure-data/td";
     license     = licenses.asl20;
     maintainers =  with maintainers; [ groodt nicknovitski ];
diff --git a/nixpkgs/pkgs/tools/misc/thefuck/default.nix b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
index b2d31a629116..d923a3f44918 100644
--- a/nixpkgs/pkgs/tools/misc/thefuck/default.nix
+++ b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
@@ -30,7 +30,7 @@ buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/nvbn/thefuck";
-    description = "Magnificent app which corrects your previous console command.";
+    description = "Magnificent app which corrects your previous console command";
     license = licenses.mit;
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix b/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 8df030eafadb..3eccb4883618 100644
--- a/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, expat, libaio, boost, binutils }:
+{ stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost, binutils }:
 
 stdenv.mkDerivation rec {
   pname = "thin-provisioning-tools";
diff --git a/nixpkgs/pkgs/tools/misc/tlp/default.nix b/nixpkgs/pkgs/tools/misc/tlp/default.nix
index 5a467dd626da..b39f631f95bf 100644
--- a/nixpkgs/pkgs/tools/misc/tlp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tlp/default.nix
@@ -16,7 +16,7 @@
 , shellcheck
 , smartmontools
 , systemd
-, utillinux
+, util-linux
 , x86_energy_perf_policy
   # RDW only works with NetworkManager, and thus is optional with default off
 , enableRDW ? false
@@ -86,9 +86,9 @@
         perl
         smartmontools
         systemd
-        utillinux
-        x86_energy_perf_policy
+        util-linux
       ] ++ lib.optional enableRDW networkmanager
+        ++ lib.optional (lib.any (lib.meta.platformMatch stdenv.hostPlatform) x86_energy_perf_policy.meta.platforms) x86_energy_perf_policy
     );
   in
     ''
diff --git a/nixpkgs/pkgs/tools/misc/tmux/default.nix b/nixpkgs/pkgs/tools/misc/tmux/default.nix
index 12ea456b9f7e..7fa33ed82f21 100644
--- a/nixpkgs/pkgs/tools/misc/tmux/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux/default.nix
@@ -13,15 +13,15 @@ let
   bashCompletion = fetchFromGitHub {
     owner = "imomaliev";
     repo = "tmux-bash-completion";
-    rev = "fcda450d452f07d36d2f9f27e7e863ba5241200d";
-    sha256 = "092jpkhggjqspmknw7h3icm0154rg21mkhbc71j5bxfmfjdxmya8";
+    rev = "f5d53239f7658f8e8fbaf02535cc369009c436d6";
+    sha256 = "0sq2g3w0h3mkfa6qwqdw93chb5f1hgkz5vdl8yw8mxwdqwhsdprr";
   };
 
 in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "3.1b";
+  version = "3.1c";
 
   outputs = [ "out" "man" ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "0jvyq4r691bn0wsr8i6c0q0lzss25vm9nx8sv3fhw9cs63ncq04y";
+    sha256 = "1fqgpzfas85dn0sxlvvg6rj488jwgnxs8d3gqcm8lgs211m9qhcf";
   };
 
   nativeBuildInputs = [
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://tmux.github.io/";
+    homepage = "https://tmux.github.io/";
     description = "Terminal multiplexer";
 
     longDescription =
diff --git a/nixpkgs/pkgs/tools/misc/tmuxinator/default.nix b/nixpkgs/pkgs/tools/misc/tmuxinator/default.nix
index e631aa9d342b..5ed63d799793 100644
--- a/nixpkgs/pkgs/tools/misc/tmuxinator/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmuxinator/default.nix
@@ -8,8 +8,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "tmuxinator";
-  version = "2.0.1";
-  source.sha256 = "03q1q6majci0l6kzw6kv7r395jycrl862mlqmyydxcd29y8wm3m2";
+  version = "2.0.2";
+  source.sha256 = "0wwrgx1syi3zrwn52pblh7qivyxp3cvq0rywp6n0s2bkk0xz903z";
 
   erubis = buildRubyGem rec {
     inherit ruby;
diff --git a/nixpkgs/pkgs/tools/misc/tmuxp/default.nix b/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
index 5a14981ef265..cc910c8b41c1 100644
--- a/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.5.5";
+  version = "1.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jbziyqggbfd5m884lg00h0zi99c6cvjxkl4jzr34c4affr295yd";
+    sha256 = "4bc52d6683235307c92ddbb164c84e3e892ee2d00afa16ed89eca0fa7f85029e";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/topgrade/default.nix b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
index b7b38766db38..6a21bc56789a 100644
--- a/nixpkgs/pkgs/tools/misc/topgrade/default.nix
+++ b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, lib, fetchFromGitHub, rustPlatform, Foundation }:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, Foundation, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "5.7.0";
+  version = "6.0.2";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nxqi2rykfxhvn8jzprklsc47iilxp1pmm2f17ikfyf5dgi69whb";
+    sha256 = "1pqf7rs9b8j54rwg8i8alvf65c4jfp5q2hv3yr60aiidfjrawp34";
   };
 
-  cargoSha256 = "05afmz2n006331hc8yi2mq9kj574xi1iq6gr983jj75ix7n40rgg";
+  cargoSha256 = "1wh7xywp92h3in9a2nr6sia6l3852kw4s688sr1c2wjdf2i58lsg";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
-  # TODO: add manpage (topgrade.8) to postInstall on next update
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installManPage topgrade.8
+  '';
 
   meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ filalex77 hugoreeves ];
+    maintainers = with maintainers; [ Br1ght0ne hugoreeves ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/toybox/default.nix b/nixpkgs/pkgs/tools/misc/toybox/default.nix
index 23fdc2f7135c..5ae211bd2376 100644
--- a/nixpkgs/pkgs/tools/misc/toybox/default.nix
+++ b/nixpkgs/pkgs/tools/misc/toybox/default.nix
@@ -1,21 +1,23 @@
 {
   stdenv, lib, fetchFromGitHub, which,
-  enableStatic ? false,
+  buildPackages,
+  enableStatic ? stdenv.hostPlatform.isStatic,
   enableMinimal ? false,
   extraConfig ? ""
 }:
 
 stdenv.mkDerivation rec {
   pname = "toybox";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "landley";
     repo = pname;
     rev = version;
-    sha256 = "0cb1n0skanwwkwgzlswwhvfb4iji1bw9iqskmczlhakpw3j1yaqa";
+    sha256 = "0cgbmv6qk1haj709hjx5q4sl7wgh91i459gzs1203adwc7rvk6jv";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ]; # needed for cross
   buildInputs = lib.optionals enableStatic [ stdenv.cc.libc stdenv.cc.libc.static ];
 
   postPatch = "patchShebangs .";
@@ -60,6 +62,8 @@ stdenv.mkDerivation rec {
     homepage = "https://landley.net/toybox/";
     license = licenses.bsd0;
     platforms = with platforms; linux ++ darwin ++ freebsd;
+    # https://github.com/NixOS/nixpkgs/issues/101229
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ hhm ];
     priority = 10;
   };
diff --git a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
index 141cceff24d3..767e3ea94626 100644
--- a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
@@ -1,37 +1,17 @@
-{ stdenv, fetchFromGitHub, fetchpatch, coreutils
-, python3Packages, substituteAll }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.17.1.14";
+  version = "0.20.12.26";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    sha256 = "1bqazna223ibqjwbc1wfvfnspfyrvjy8347qlrgv4cpng72n7gfi";
+    sha256 = "15iivl9xln1bw1zr2x5zvqyb6aj7mc8hfqi6dniq6xkp5m046ib7";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./nix-paths.patch;
-      df = "${coreutils}/bin/df";
-      libc = let ext = if stdenv.isDarwin then ".dylib" else ".so.6";
-             in "${stdenv.cc.libc}/lib/libc${ext}";
-    })
-
-    # Fix build on Python 3.6.
-    (fetchpatch {
-      url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
-      sha256 = "0w49rjh433sjfc2cl5a9wlbr6kcn9f1qg905qsyv7ay3ar75wvyp";
-    })
-
-    # Fix listing trashed files over mount points, see https://github.com/andreafrancia/trash-cli/issues/95
-    (fetchpatch {
-      url = "https://github.com/andreafrancia/trash-cli/commit/436dfddb4c2932ba3ff696e4732750b7bdc58461.patch";
-      sha256 = "02pkcz7nj67jbnqpw1943nrv95m8xyjvab4j62fa64r73fagm8m4";
-    })
-  ];
+  propagatedBuildInputs = [ python3Packages.psutil ];
 
   checkInputs = with python3Packages; [
     nose
diff --git a/nixpkgs/pkgs/tools/misc/ttygif/default.nix b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
index 5a14dade01b8..dd74f5effed6 100644
--- a/nixpkgs/pkgs/tools/misc/ttygif/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, makeWrapper, imagemagick, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "ttygif";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "CC:=$(CC)" "PREFIX=${placeholder "out"}" ];
 
+  nativeBuildInputs = [ makeWrapper ];
+  postInstall = ''
+    wrapProgram $out/bin/ttygif \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ imagemagick xorg.xwd ]}
+  '';
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/icholy/ttygif";
     description = "Convert terminal recordings to animated gifs";
diff --git a/nixpkgs/pkgs/tools/misc/ttyrec/clang-fixes.patch b/nixpkgs/pkgs/tools/misc/ttyrec/clang-fixes.patch
deleted file mode 100644
index 126ab44090eb..000000000000
--- a/nixpkgs/pkgs/tools/misc/ttyrec/clang-fixes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru ttyrec-1.0.8.orig/io.h ttyrec-1.0.8/io.h
---- ttyrec-1.0.8.orig/io.h	2006-06-11 17:52:50.000000000 +0200
-+++ ttyrec-1.0.8/io.h	2015-11-15 09:59:54.000000000 +0100
-@@ -9,5 +9,6 @@
- int     edup            (int oldfd);
- int     edup2           (int oldfd, int newfd);
- FILE*   efdopen         (int fd, const char *mode);
-+void    set_progname    (const char *name);
- 
- #endif
-diff -ru ttyrec-1.0.8.orig/ttyrec.c ttyrec-1.0.8/ttyrec.c
---- ttyrec-1.0.8.orig/ttyrec.c	2006-06-11 17:52:50.000000000 +0200
-+++ ttyrec-1.0.8/ttyrec.c	2015-11-15 09:59:41.000000000 +0100
-@@ -54,6 +54,7 @@
- #include <unistd.h>
- #include <string.h>
- #include <stdlib.h>
-+#include <signal.h>
- 
- #if defined(SVR4)
- #include <fcntl.h>
diff --git a/nixpkgs/pkgs/tools/misc/ttyrec/default.nix b/nixpkgs/pkgs/tools/misc/ttyrec/default.nix
deleted file mode 100644
index 97049276a32d..000000000000
--- a/nixpkgs/pkgs/tools/misc/ttyrec/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "ttyrec";
-  version = "1.0.8";
-
-  src = fetchurl {
-    url = "http://0xcc.net/ttyrec/${pname}-${version}.tar.gz";
-    sha256 = "ef5e9bf276b65bb831f9c2554cd8784bd5b4ee65353808f82b7e2aef851587ec";
-  };
-
-  patches = [ ./clang-fixes.patch ];
-
-  makeFlags = stdenv.lib.optional stdenv.buildPlatform.isLinux "CFLAGS=-DSVR4"
-    ++ stdenv.lib.optional stdenv.cc.isClang "CC=clang";
-
-  installPhase = ''
-    mkdir -p $out/{bin,man}
-    cp ttytime ttyplay ttyrec $out/bin
-    cp *.1 $out/man
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = "http://0xcc.net/ttyrec/";
-    description = "Terminal interaction recorder and player";
-    license = licenses.bsd3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ zimbatm ];
-    broken = true; # 2020-01-28
-  };
-}
diff --git a/nixpkgs/pkgs/tools/misc/tydra/default.nix b/nixpkgs/pkgs/tools/misc/tydra/default.nix
index c6d7c86c7efd..c19f808397af 100644
--- a/nixpkgs/pkgs/tools/misc/tydra/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tydra/default.nix
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
     description = "Shortcut menu-based task runner, inspired by Emacs Hydra";
     homepage = "https://github.com/Mange/tydra";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ugtrain/default.nix b/nixpkgs/pkgs/tools/misc/ugtrain/default.nix
new file mode 100644
index 000000000000..0645645ae2bf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ugtrain/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, scanmem
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.4.1";
+  pname = "ugtrain";
+
+  src = fetchFromGitHub {
+    owner  = "ugtrain";
+    repo   = "ugtrain";
+    rev    = "v${version}";
+    sha256 = "0pw9lm8y83mda7x39874ax2147818h1wcibi83pd2x4rp1hjbkkn";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config scanmem ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ugtrain/ugtrain";
+    description = "The Universal Elite Game Trainer for CLI (Linux game trainer research project)";
+    maintainers = with maintainers; [ mtrsk ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Only;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/up/default.nix b/nixpkgs/pkgs/tools/misc/up/default.nix
index b3d275d3081d..47c504cd1a71 100644
--- a/nixpkgs/pkgs/tools/misc/up/default.nix
+++ b/nixpkgs/pkgs/tools/misc/up/default.nix
@@ -2,18 +2,16 @@
 
 buildGoModule rec {
   pname = "up";
-  version = "0.3.2";
-
-  patches = [ ./gomod.patch ];
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "akavel";
     repo = "up";
     rev = "v${version}";
-    sha256 = "1psixyymk98z52yy92lwb75yfins45dw6rif9cxwd7yiascwg2if";
+    sha256 = "1j8fi14fiwjscfzdfjqxgavjadwvcm5mqr8fb7hx3jmxs4kl58bp";
   };
 
-  vendorSha256 = "1h3w4i7dyh6yagqmdclvflfq6fx0z880jdnpf28assv7fxd9rjsx";
+  vendorSha256 = "1q8wfsfl3rz698ck5q5s5z6iw9k134fxxvwipcp2b052n998rcrx";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/up/gomod.patch b/nixpkgs/pkgs/tools/misc/up/gomod.patch
deleted file mode 100644
index f894f14d21f1..000000000000
--- a/nixpkgs/pkgs/tools/misc/up/gomod.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/go.mod b/go.mod
-index ecbfe90..56a1409 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,11 +1,14 @@
- module github.com/akavel/up
- 
-+go 1.14
-+
- require (
--	github.com/gdamore/encoding v0.0.0-20151215212835-b23993cbb635
-+	github.com/gdamore/encoding v0.0.0-20151215212835-b23993cbb635 // indirect
- 	github.com/gdamore/tcell v0.0.0-20180924055237-493f3b46b3c2
--	github.com/lucasb-eyer/go-colorful v0.0.0-20170903184257-231272389856
-+	github.com/lucasb-eyer/go-colorful v0.0.0-20170903184257-231272389856 // indirect
- 	github.com/mattn/go-isatty v0.0.3
--	github.com/mattn/go-runewidth v0.0.2
-+	github.com/mattn/go-runewidth v0.0.2 // indirect
- 	github.com/spf13/pflag v1.0.3
--	golang.org/x/text v0.0.0-20171214130843-f21a4dfb5e38
-+	golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3 // indirect
-+	golang.org/x/text v0.0.0-20171214130843-f21a4dfb5e38 // indirect
- )
diff --git a/nixpkgs/pkgs/tools/misc/urjtag/default.nix b/nixpkgs/pkgs/tools/misc/urjtag/default.nix
index 2056fb9d0a5a..f058f2cb8dde 100644
--- a/nixpkgs/pkgs/tools/misc/urjtag/default.nix
+++ b/nixpkgs/pkgs/tools/misc/urjtag/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoconf, automake, pkgconfig, gettext, libtool, bison
-, flex, which, subversion, fetchsvn, makeWrapper, libftdi, libusb-compat-0_1, readline
+, flex, which, subversion, fetchurl, makeWrapper, libftdi1, libusb-compat-0_1, readline
 , python3
 , svfSupport ? true
 , bsdlSupport ? true
@@ -7,19 +7,18 @@
 , jedecSupport ? true
 }:
 
-stdenv.mkDerivation {
-  version = "0.10";
+stdenv.mkDerivation rec {
+  version = "2019.12";
   pname = "urjtag";
 
-  src = fetchsvn {
-    url = "svn://svn.code.sf.net/p/urjtag/svn/trunk/urjtag";
-    rev = "2051";
-    sha256 = "0pyl0y27136nr8mmjdml7zjnfnpbjmgqzkjk99j3hvj38k10wq7f";
+  src = fetchurl {
+    url = "https://downloads.sourceforge.net/project/urjtag/urjtag/${version}/urjtag-${version}.tar.xz";
+    sha256 = "1k2vmvvarik0q3llbfbk8ad35mcns7w1ln9gla1mn7z9c6x6x90r";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gettext autoconf automake libtool bison flex which
-    subversion makeWrapper readline libftdi libusb-compat-0_1 python3 ];
+    subversion makeWrapper readline libftdi1 libusb-compat-0_1 python3 ];
 
   configureFlags = [
     (stdenv.lib.enableFeature svfSupport   "svf")
@@ -28,8 +27,6 @@ stdenv.mkDerivation {
     (stdenv.lib.enableFeature jedecSupport "jedec-exp")
   ];
 
-  preConfigure = "./autogen.sh";
-
   meta = {
     description = "Enhanced, modern tool for communicating over JTAG with flash chips, CPUs,and many more";
     homepage = "http://urjtag.org/";
diff --git a/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix b/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
index 1c1da7597e7d..968b4e0072a5 100644
--- a/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "usbmuxd";
-  version = "2019-11-11";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = "9af2b12552693a47601347e1eafc1e94132d727e";
-    sha256 = "0w8mf2wfpqijg882vhb8xarlp6zja23xf0b59z5zi774pnpjbqvj";
+    rev = version;
+    sha256 = "0a2xgrb4b3ndam448z74wh1267nmrz1wcbpx4xz86pwbdc93snab";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
       in parallel. The higher-level layers are handled by libimobiledevice.
     '';
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ infinisil ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index ddbd78c699c9..d7b141153f46 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -4,38 +4,64 @@
 , tzdata
 
 , features ?
-    (if stdenv.isAarch64
-     then [ "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
-     else [ "leveldb" "leveldb/leveldb-sys-2" "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
+    ((if stdenv.isAarch64
+     then [ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
+     else [ "leveldb" "leveldb/leveldb-sys-2" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
+     ++
+     (lib.optional stdenv.targetPlatform.isUnix "unix")
+     ++
+     [ "sinks" "sources" "transforms" ])
+, coreutils
+, CoreServices
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.8.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner  = "timberio";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0k15scvjcg2v4z80vq27yrn2wm50fp8xj8lga2czzs0zxhlv21nl";
+    sha256 = "0q6x3fvwwh18iyznqlr09n3zppzgw9jaz973s8haz54hnxj16wx0";
   };
 
-  cargoSha256 = "1al8jzjxjhxwb5n1d52pvl59d11g0bdg2dcw8ir2nclya1w68f2w";
+  cargoSha256 = "Y/vDYXWQ65zZ86vTwP4aCZYCMZuqbz6tpfv4uRkFAzc=";
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl protobuf rdkafka ]
-                ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
+                ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
 
   # needed for internal protobuf c wrapper library
   PROTOC="${protobuf}/bin/protoc";
   PROTOC_INCLUDE="${protobuf}/include";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
-  checkPhase = "TZDIR=${tzdata}/share/zoneinfo cargo test --no-default-features --features ${lib.concatStringsSep "," features},disable-resolv-conf -- --test-threads 1";
+  checkPhase = "TZDIR=${tzdata}/share/zoneinfo cargo test --no-default-features --features ${lib.concatStringsSep "," features} -- --test-threads 1";
+
+  # recent overhauls of DNS support in 0.9 mean that we try to resolve
+  # vector.dev during the checkPhase, which obviously isn't going to work.
+  # these tests in the DNS module are trivial though, so stubbing them out is
+  # fine IMO.
+  #
+  # the geoip transform yields maxmindb.so which contains references to rustc.
+  # neither figured out why the shared object is included in the output
+  # (it doesn't seem to be a runtime dependencies of the geoip transform),
+  # nor do I know why it depends on rustc.
+  # However, in order for the closure size to stay at a reasonable level,
+  # transforms-geoip is patched out of Cargo.toml for now - unless explicitly asked for.
+  patchPhase = ''
+    substituteInPlace ./src/dns.rs \
+      --replace "#[test]" ""
+
+    ${lib.optionalString (!builtins.elem "transforms-geoip" features) ''
+        substituteInPlace ./Cargo.toml --replace '"transforms-geoip",' ""
+    ''}
+  '';
 
   meta = with stdenv.lib; {
     description = "A high-performance logs, metrics, and events router";
     homepage    = "https://github.com/timberio/vector";
     license     = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ thoughtpolice ];
+    maintainers = with maintainers; [ thoughtpolice happysalada ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/vimv/default.nix b/nixpkgs/pkgs/tools/misc/vimv/default.nix
new file mode 100644
index 000000000000..023d3384ed68
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/vimv/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, bash, fetchFromGitHub }:
+stdenv.mkDerivation {
+  pname = "vimv";
+  version = "unstable-2019-10-31";
+  src = fetchFromGitHub {
+    owner = "thameera";
+    repo = "vimv";
+    rev = "4152496c1946f68a13c648fb7e583ef23dac4eb8";
+    sha256 = "1fsrfx2gs6bqx7wk7pgcji2i2x4alqpsi66aif4kqvnpqfhcfzjd";
+  };
+  phases = [ "installPhase" ];
+  installPhase = ''
+    install -d $out/bin
+    install $src/vimv $out/bin/vimv
+    patchShebangs $out/bin/vimv
+  '';
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/thameera/vimv";
+    description = "Batch-rename files using Vim";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.kmein ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix b/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix
index b85bb0876605..7c8a723f41f0 100644
--- a/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vimwiki-markdown/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "0.3.0";
+  version = "0.3.3";
   pname = "vimwiki-markdown";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "1icfnc623f9pyn59wgb76g0fnsx41s87q69x354qy17gw23bxabx";
+    sha256 = "ee4ef08f7e4df27f67ffebb5fa413a7cf4fad967a248c1c75d48b00122a5b945";
   };
 
   propagatedBuildInputs= [
diff --git a/nixpkgs/pkgs/tools/misc/vivid/default.nix b/nixpkgs/pkgs/tools/misc/vivid/default.nix
index c8831a6fca5b..35a1d5d2d12a 100644
--- a/nixpkgs/pkgs/tools/misc/vivid/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vivid/default.nix
@@ -2,25 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00xxk1ipr3hndd717q52j7s2wfxis1p4glaa9lvp72gwwzmv5k9w";
+    sha256 = "0m928hy2q8byfpm55nziiz86gcnhdnw3zpj78d8wx0pp318zjbla";
   };
 
-  postPatch = ''
-    substituteInPlace src/main.rs --replace /usr/share $out/share
-  '';
-
-  cargoSha256 = "1l34i7qalid9mlcbpqhbb2bxgn2ylb2lwki4c0hf4kkq646ql0n1";
-
-  postInstall = ''
-    mkdir -p $out/share/${pname}
-    cp -rv config/* themes $out/share/${pname}
-  '';
+  cargoSha256 = "10xddr5cccc5cmhn4kwi27h3krmgapd7bqcp4rhjlbhdhsw7qxkx";
 
   meta = with stdenv.lib; {
     description = "A generator for LS_COLORS with support for multiple color themes";
diff --git a/nixpkgs/pkgs/tools/misc/vix/default.nix b/nixpkgs/pkgs/tools/misc/vix/default.nix
new file mode 100644
index 000000000000..7e93cd5d67ec
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/vix/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, SDL }:
+
+stdenv.mkDerivation {
+  pname = "vix";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "BatchDrake";
+    repo = "vix";
+    rev = "824b6755157a0f7430a0be0af454487d1492204d";
+    sha256 = "1y0a2sajkrsg36px21b8lgx1irf0pyj7hccyd6k806bm4zhgxw1z";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ SDL ];
+
+  meta = with stdenv.lib; {
+    description = "Visual Interface heXadecimal dump ";
+    homepage = "http://actinid.org/vix/";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.ehmry ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix b/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix
index aa631d441148..5ff2800496a7 100644
--- a/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wacomtablet/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchurl, extra-cmake-modules, qtx11extras,
+{ lib, mkDerivation, fetchurl, fetchpatch, extra-cmake-modules, qtx11extras,
   plasma-workspace, libwacom, xf86_input_wacom
 }:
 
@@ -9,6 +9,12 @@ mkDerivation rec {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
     sha256 = "197pwpl87gqlnza36bp68jvw8ww25znk08acmi8bpz7n84xfc368";
   };
+  patches = [
+    (fetchpatch {
+      url = "https://invent.kde.org/system/wacomtablet/commit/4f73ff02b3efd5e8728b18fcf1067eca166704ee.patch";
+      sha256 = "0185gbh1vywfz8a3wnvncmzdk0dd189my4bzimkbh85rlrqq2nf8";
+    })
+  ];
 
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
@@ -22,7 +28,7 @@ mkDerivation rec {
       This module implements a GUI for the Wacom Linux Drivers and extends it
       with profile support to handle different button / pen layouts per profile.
     '';
-    homepage = "https://cgit.kde.org/wacomtablet.git/about/";
+    homepage = "https://invent.kde.org/system/wacomtablet";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.Thra11 ];
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/tools/misc/watchexec/default.nix b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
index 8e3db232feb0..728cdd0c1736 100644
--- a/nixpkgs/pkgs/tools/misc/watchexec/default.nix
+++ b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.14.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0nvd8x60nkk8izqy8m8m1fi0x48s9sjh4zfl8d2ig46lqc8n5cpm";
+    sha256 = "0m4hipjgg64572lzqy9hz4iq9c4awc93c9rmnpap5iyi855x7idj";
   };
 
-  cargoSha256 = "08pv7nr471apzy77da1pffdmx2dgf5mbj09302cfmf8sj49saal6";
+  cargoSha256 = "0035pqr61mdx699hd4f8hnxknvsdg67l6ys7gxym3fzd9dcmqqff";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/misc/websocat/default.nix b/nixpkgs/pkgs/tools/misc/websocat/default.nix
index c936b1599638..f2bcfd8b7813 100644
--- a/nixpkgs/pkgs/tools/misc/websocat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/websocat/default.nix
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
     description = "Command-line client for WebSockets (like netcat/socat)";
     homepage = "https://github.com/vi/websocat";
     license = licenses.mit;
-    maintainers = with maintainers; [ thoughtpolice filalex77 ];
+    maintainers = with maintainers; [ thoughtpolice Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/woeusb/default.nix b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
index 4c235b4866f2..fddb98d8dc38 100644
--- a/nixpkgs/pkgs/tools/misc/woeusb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, makeWrapper
-, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, utillinux, wget
+, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, util-linux, wget
 , wxGTK30 }:
 
 stdenv.mkDerivation rec {
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     # should be patched with a less useless default PATH, but for now
     # we add everything we need manually.
     wrapProgram "$out/bin/woeusb" \
-      --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted utillinux wget p7zip ]}'
+      --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted util-linux wget p7zip ]}'
   '';
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/tools/misc/woof/default.nix b/nixpkgs/pkgs/tools/misc/woof/default.nix
index e00634dd53e1..158a83a99ca5 100644
--- a/nixpkgs/pkgs/tools/misc/woof/default.nix
+++ b/nixpkgs/pkgs/tools/misc/woof/default.nix
@@ -1,31 +1,32 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchFromGitHub, python3 }:
 
 stdenv.mkDerivation rec {
-  version = "2012-05-31";
+  version = "2020-12-17";
   pname = "woof";
 
-  src = fetchurl {
-    url = "http://www.home.unix-ag.org/simon/woof-${version}.py";
-    sha256 = "d84353d07f768321a1921a67193510bf292cf0213295e8c7689176f32e945572";
+  src = fetchFromGitHub {
+    owner = "simon-budig";
+    repo = "woof";
+    rev = "4aab9bca5b80379522ab0bdc5a07e4d652c375c5";
+    sha256 = "0ypd2fs8isv6bqmlrdl2djgs5lnk91y1c3rn4ar6sfkpsqp9krjn";
   };
 
-  buildInputs = [ python ];
+  propagatedBuildInputs = [ python3 ];
 
   dontUnpack = true;
 
-  installPhase =
-    ''
-      mkdir -p $out/bin
-      cp $src $out/bin/woof
-      chmod +x $out/bin/woof
-    '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src/woof $out/bin/woof
+    chmod +x $out/bin/woof
+  '';
 
   meta = with stdenv.lib; {
     homepage = "http://www.home.unix-ag.org/simon/woof.html";
     description = "Web Offer One File - Command-line utility to easily exchange files over a local network";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ lschuermann ];
+    maintainers = with maintainers; [ matthiasbeyer ];
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/misc/wootility/default.nix b/nixpkgs/pkgs/tools/misc/wootility/default.nix
index 91203e5f7be5..a79f414a3591 100644
--- a/nixpkgs/pkgs/tools/misc/wootility/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wootility/default.nix
@@ -35,7 +35,7 @@ appimageTools.wrapType2 rec {
 
   meta = with lib; {
     homepage = "https://wooting.io/wootility";
-    description = "Wootility is customization and management software for Wooting keyboards.";
+    description = "A customization and management software for Wooting keyboards";
     platforms = [ "x86_64-linux" ];
     license = "unknown";
     maintainers = with maintainers; [ davidtwco ];
diff --git a/nixpkgs/pkgs/tools/misc/wsl-open/default.nix b/nixpkgs/pkgs/tools/misc/wsl-open/default.nix
new file mode 100644
index 000000000000..ddd3904a1057
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/wsl-open/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "wsl-open";
+  version = "2.1.1";
+
+  src = fetchFromGitHub {
+    owner = "4U6U57";
+    repo = "wsl-open";
+    rev = "v${version}";
+    sha256 = "1mwak846zh47p3pp4q5f54cw8d9qk61zn43q81j2pkcm35mv9lzg";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  installPhase = ''
+    install -m0755 -D wsl-open.sh $out/bin/wsl-open
+    installManPage wsl-open.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open files with xdg-open from Windows Subsystem for Linux (WSL) in Windows applications";
+    homepage = "https://gitlab.com/4U6U57/wsl-open";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/xdummy/default.nix b/nixpkgs/pkgs/tools/misc/xdummy/default.nix
index 7d7942f7ca98..227829346cd0 100644
--- a/nixpkgs/pkgs/tools/misc/xdummy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xdummy/default.nix
@@ -1,4 +1,5 @@
-{ writeText, writeScriptBin, xorg, xkeyboard_config, runtimeShell }:
+{ writeText, writeScriptBin, xorg, xkeyboard_config, runtimeShell
+, unfreeFonts ? false, lib}:
 
 let
   xorgConfig = writeText "dummy-xorg.conf" ''
@@ -23,11 +24,13 @@ let
       XkbDir "${xkeyboard_config}/share/X11/xkb"
       FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi"
       FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi"
+      FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc"
+      FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc"
+    ${lib.optionalString unfreeFonts ''
       FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi"
       FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi"
       FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi"
-      FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc"
-      FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc"
+    ''}
     EndSection
 
     Section "Module"
diff --git a/nixpkgs/pkgs/tools/misc/xfstests/default.nix b/nixpkgs/pkgs/tools/misc/xfstests/default.nix
index 5f6d2bb1278d..3bc01048c1ed 100644
--- a/nixpkgs/pkgs/tools/misc/xfstests/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xfstests/default.nix
@@ -1,7 +1,7 @@
 { stdenv, acl, attr, autoconf, automake, bash, bc, coreutils, e2fsprogs
 , fetchgit, fio, gawk, keyutils, killall, lib, libaio, libcap, libtool
 , libuuid, libxfs, lvm2, openssl, perl, procps, quota
-, time, utillinux, which, writeScript, xfsprogs, runtimeShell }:
+, time, util-linux, which, writeScript, xfsprogs, runtimeShell }:
 
 stdenv.mkDerivation {
   name = "xfstests-2019-09-08";
@@ -96,7 +96,7 @@ stdenv.mkDerivation {
 
     export PATH=${lib.makeBinPath [acl attr bc e2fsprogs fio gawk keyutils
                                    libcap lvm2 perl procps killall quota
-                                   utillinux which xfsprogs]}:$PATH
+                                   util-linux which xfsprogs]}:$PATH
     exec ./check "$@"
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/xsel/default.nix b/nixpkgs/pkgs/tools/misc/xsel/default.nix
index aea86eda9cb7..69061eb15b8b 100644
--- a/nixpkgs/pkgs/tools/misc/xsel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xsel/default.nix
@@ -1,15 +1,14 @@
-{stdenv, lib, fetchFromGitHub, libX11, autoreconfHook }:
+{ stdenv, lib, fetchFromGitHub, libX11, autoreconfHook }:
 
 stdenv.mkDerivation {
   pname = "xsel-unstable";
-
-  version = "2019-08-21";
+  version = "2020-05-27";
 
   src = fetchFromGitHub {
     owner = "kfish";
     repo = "xsel";
-    rev = "ef01f3c72a195dbce682184c842b81b17d7d7ad1";
-    sha256 = "191qa6022b7nww3bicfxpgp4d9x6c8s3sgixi780383ghkxds08c";
+    rev = "062e6d373537c60829fa9b5dcddbcd942986b3c3";
+    sha256 = "0fbf80zsc22vcqp59r9fdx4icxhrkv7l3lphw83326jrmkzy6kri";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix b/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix
index 04c1902f3a0b..02a2d67de53d 100644
--- a/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, xorgserver, getopt
-, xauth, utillinux, which, fontsConf, gawk, coreutils }:
+, xauth, util-linux, which, fontsConf, gawk, coreutils }:
 let
   xvfb_run = fetchurl {
     name = "xvfb-run";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     patchShebangs $out/bin/xvfb-run
     wrapProgram $out/bin/xvfb-run \
       --set FONTCONFIG_FILE "${fontsConf}" \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux gawk coreutils ]}
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/yad/default.nix b/nixpkgs/pkgs/tools/misc/yad/default.nix
index d00d737c17ce..889c266d28e2 100644
--- a/nixpkgs/pkgs/tools/misc/yad/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yad/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yad";
-  version = "6.0";
+  version = "7.2";
 
   src = fetchFromGitHub {
     owner = "v1cont";
     repo = "yad";
     rev = "v${version}";
-    sha256 = "07myjv0g0iwgclc6q9wkj25myhlc86ahy2lqma8vgv9i3rgy03p7";
+    sha256 = "0ih97hrcra2bg8q19b8819hip1p424z1vj61cl1ym5p477rp37yx";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
index 00624a482c8e..40bf214f4630 100644
--- a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
@@ -1,29 +1,29 @@
-{ stdenv, fetchFromGitHub, rtmpdump, php, pythonPackages, ffmpeg_3 }:
+{ stdenv, fetchFromGitHub, rtmpdump, php, wget, python3Packages, ffmpeg_3 }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "2.31";
+  version = "20201022";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "0k93p9csyjm0w33diwl5s22kzs3g78jl3n9k8nxxpqrybfjl912f";
+    sha256 = "0p56pb3wxdzqgs4fsh4hn06xs0mgzgznqqr0bn2vkkkibnkr1asp";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
-    lxml pyamf pycrypto requests future ffmpeg_3 setuptools
+  propagatedBuildInputs = with python3Packages; [
+    attrs ConfigArgParse ffmpeg_3 future lxml requests
   ];
-  pythonPath = [ rtmpdump php ];
+  pythonPath = [ rtmpdump php wget ];
 
   doCheck = false; # tests require network access
-  checkInputs = with pythonPackages; [ pytest pytestrunner ];
+  checkInputs = with python3Packages; [ ffmpeg_3 pytest pytestrunner ];
 
   meta = with stdenv.lib; {
     description = "Downloads videos from Yle (Finnish Broadcasting Company) servers";
     homepage = "https://aajanki.github.io/yle-dl/";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.dezgeg ];
-    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dezgeg SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/you-get/default.nix b/nixpkgs/pkgs/tools/misc/you-get/default.nix
index 8314dc2c9a35..6a13c455fe06 100644
--- a/nixpkgs/pkgs/tools/misc/you-get/default.nix
+++ b/nixpkgs/pkgs/tools/misc/you-get/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1456";
+  version = "0.4.1500";
 
   # Tests aren't packaged, but they all hit the real network so
   # probably aren't suitable for a build environment anyway.
@@ -10,7 +10,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14miw5gmj571584rmdzjxf88icmb1psrsfbwpabn8blz8l5aq6bv";
+    sha256 = "5a6cc0d661fe0cd4210bf467d6c89afd8611609e402690254722c1415736da92";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix b/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix
index c56862e5f09f..0593e935599d 100644
--- a/nixpkgs/pkgs/tools/misc/youtube-dl/default.nix
+++ b/nixpkgs/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 = "2020.11.21.1";
+  version = "2021.01.03";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0a9livib328z5j3kfndxys2193dvfs4hh38krx0idg0k26xp7cfl";
+    sha256 = "0qqixcr748nfhnihkjzayzdja26kgrsds45q5s8krmfm3b79ipli";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
@@ -63,6 +63,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ma27 ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ma27 zowoq ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
index 01454b48254c..5b5fb66be306 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     inherit version;
-    description = "Cross-platform application for configuring any YubiKey over all USB interfaces.";
+    description = "Cross-platform application for configuring any YubiKey over all USB interfaces";
     homepage = "https://developers.yubico.com/yubikey-manager-qt/";
     license = licenses.bsd2;
     maintainers = [ maintainers.cbley ];
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
index a6b0a93324f1..505d26bb582f 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
@@ -47,7 +47,7 @@ python3Packages.buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://developers.yubico.com/yubikey-manager";
-    description = "Command line tool for configuring any YubiKey over all USB transports.";
+    description = "Command line tool for configuring any YubiKey over all USB transports";
 
     license = licenses.bsd2;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/z-lua/default.nix b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
index 59149506e6c0..2b5a46435499 100644
--- a/nixpkgs/pkgs/tools/misc/z-lua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
-  version = "1.8.7";
+  version = "1.8.10";
 
   src = fetchFromGitHub {
     owner = "skywind3000";
     repo = "z.lua";
     rev = version;
-    sha256 = "14n1abv7gh4zajq471bgzpcv8l1159g00h9x83h719i9kxxsa2ba";
+    sha256 = "0q0qs07kmkpjv68j2bjgsrv6shl76mssnchfv82vjf8abkf8343b";
   };
 
   dontBuild = true;
@@ -20,8 +20,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 z.lua $out/bin/z
-    wrapProgram $out/bin/z --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so" --set _ZL_USE_LFS 1;
+    install -Dm755 z.lua $out/bin/z.lua
+    wrapProgram $out/bin/z.lua --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so" --set _ZL_USE_LFS 1;
+    # Create symlink for backwards compatibility. See: https://github.com/NixOS/nixpkgs/pull/96081
+    ln -s $out/bin/z.lua $out/bin/z
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/tools/misc/zalgo/default.nix b/nixpkgs/pkgs/tools/misc/zalgo/default.nix
new file mode 100644
index 000000000000..d9538141af00
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/zalgo/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "zalgo";
+  version = "unstable-2020-08-26";
+
+  src = fetchFromGitHub {
+    owner = "lunasorcery";
+    repo = "zalgo";
+    rev = "6aa1f66cfe183f8164a666730dfeaf39133cf01a";
+    sha256 = "00q56yvfcj2f89wllrckvizihivqmd6l77nihb52ffqd99rdd24w";
+  };
+
+  installPhase = ''
+    install -Dm755 zalgo -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Read stdin and corrupt it with combining diacritics";
+    homepage = "https://github.com/lunasorcery/zalgo";
+    license = licenses.unfree;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/zoxide/default.nix b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
index 3e4cbfd84334..c5ca2965e9dd 100644
--- a/nixpkgs/pkgs/tools/misc/zoxide/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
@@ -1,11 +1,20 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , withFzf ? true
 , fzf
+
+  # checkInputs
+, fish
+, powershell
+, shellcheck
+, shfmt
+, xonsh
+, zsh
 }:
 let
-  version = "0.4.3";
+  version = "0.5.0";
 in
 rustPlatform.buildRustPackage {
   pname = "zoxide";
@@ -15,15 +24,32 @@ rustPlatform.buildRustPackage {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "1ghdal6pqkp56rqawhj26ch1x4cvnjj032xz3626aiddqgn134zj";
+    sha256 = "143lh94mw31pm9q7ib63h2k842g3h222mdabhf25hpb19lka2w5y";
   };
 
+  # tests are broken on darwin
+  doCheck = !stdenv.isDarwin;
+
+  # fish needs a writable HOME for whatever reason
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  checkInputs = [
+    fish
+    powershell
+    shellcheck
+    shfmt
+    xonsh
+    zsh
+  ];
+
   postPatch = lib.optionalString withFzf ''
     substituteInPlace src/fzf.rs \
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "0klnjmda77bq9i9f0rz48jzaw4rcf7hafcjjpb0i570d7hlxnwsr";
+  cargoSha256 = "05mp101yk1zkjj1gwbkldizq6f9f8089gqgvq42c4ngq88pc7v9a";
 
   meta = with lib; {
     description = "A fast cd command that learns your habits";
diff --git a/nixpkgs/pkgs/tools/misc/zsh-autoenv/default.nix b/nixpkgs/pkgs/tools/misc/zsh-autoenv/default.nix
index c44837b877d1..f4295443f69e 100644
--- a/nixpkgs/pkgs/tools/misc/zsh-autoenv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zsh-autoenv/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
     cat <<SCRIPT > $out/bin/zsh-autoenv-share
     #!${runtimeShell}
-    # Run this script to find the fzf shared folder where all the shell
+    # Run this script to find the zsh-autoenv shared folder where all the shell
     # integration scripts are living.
     echo $out/share/zsh-autoenv
     SCRIPT
diff --git a/nixpkgs/pkgs/tools/networking/6tunnel/default.nix b/nixpkgs/pkgs/tools/networking/6tunnel/default.nix
index bf0e8ba33162..fbdd23f754ef 100644
--- a/nixpkgs/pkgs/tools/networking/6tunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/6tunnel/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "Tunnelling for application that don't speak IPv6";
     homepage = "https://github.com/wojtekka/6tunnel";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/airfield/node.nix b/nixpkgs/pkgs/tools/networking/airfield/node.nix
index e306e49c8498..055fc5267c37 100644
--- a/nixpkgs/pkgs/tools/networking/airfield/node.nix
+++ b/nixpkgs/pkgs/tools/networking/airfield/node.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/nixpkgs/pkgs/tools/networking/amass/default.nix b/nixpkgs/pkgs/tools/networking/amass/default.nix
index 61746ebfcc5f..6277c158f249 100644
--- a/nixpkgs/pkgs/tools/networking/amass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.10.3";
+  version = "3.10.5";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "1vjplwjv0vwwxdpbky7i6dz3phl7yfcbr8fwrbsb47bmj0ldkapc";
+    sha256 = "0zxjgg9z45cs116wa643dfh12skz8zydb85vn03ss150hdlgspda";
   };
 
-  vendorSha256 = "0c3hyvy8s470zvrv49fx0iil59z0xq10dw4vnr55qgbm2k2pay6w";
+  vendorSha256 = "1l7y2h7kpvj6lh3dki5sw0ziyzwihfy0scdk8jqf108ca23g8zv8";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/aria2/default.nix b/nixpkgs/pkgs/tools/networking/aria2/default.nix
index 5ede0db598c9..614584a5f565 100644
--- a/nixpkgs/pkgs/tools/networking/aria2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aria2/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ filalex77 koral ];
+    maintainers = with maintainers; [ Br1ght0ne koral ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/axel/default.nix b/nixpkgs/pkgs/tools/networking/axel/default.nix
index 5cd8e41f70c8..baa498042f94 100644
--- a/nixpkgs/pkgs/tools/networking/axel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/axel/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "axel";
-  version = "2.17.9";
+  version = "2.17.10";
 
   src = fetchFromGitHub {
     owner = "axel-download-accelerator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bhzgvvqcwa5bd487400hg1nycvw8qqxzbzvq5ywyz5d9j12hdrd";
+    sha256 = "01mpfkz98r2fx4n0gyi3b4zvlyfd5bxydp2wh431lnj0ahrsiikp";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig autoconf-archive txt2man ];
diff --git a/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix b/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix
new file mode 100644
index 000000000000..596b30d03e89
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "bacnet-stack";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "bacnet-stack";
+    repo = "bacnet-stack";
+    rev = "bacnet-stack-${version}";
+    sha256 = "078p7qsy9v6fl7pzwgcr72pgjqxfxmfxyqajih2zqlb5g5sf88vh";
+  };
+
+  hardeningDisable = [ "all" ];
+
+  buildPhase = ''
+    make BUILD=debug BACNET_PORT=linux BACDL_DEFINE=-DBACDL_BIP=1 BACNET_DEFINES=" -DPRINT_ENABLED=1 -DBACFILE -DBACAPP_ALL -DBACNET_PROPERTY_LISTS"
+  '';
+
+  installPhase = ''
+    mkdir $out
+    cp -r bin $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "BACnet open source protocol stack for embedded systems, Linux, and Windows";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ WhittlesJr ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
index 1048b3e49834..46739742bd44 100644
--- a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
@@ -2,28 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bandwhich";
-  version = "0.18.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "imsnif";
     repo = pname;
     rev = version;
-    sha256 = "0qzmkhrg7pqgblmva7xcww6zc4rryba6kkfkhj05mvd31z3c1rz8";
+    sha256 = "014blvrv0kk4gzga86mbk7gd5dl1szajfi972da3lrfznck1w24n";
   };
 
-  cargoSha256 = "0iakw42nip0vxq50jjk73r0xl7xp426szb091ap4isad3zxq6saj";
-  cargoPatches = [
-    # Fixes rDNS support for systems using `systemd-networkd` from v246.
-    # See https://github.com/imsnif/bandwhich/pull/184 for context
-    (fetchpatch {
-      url = "https://github.com/imsnif/bandwhich/commit/19e485a1ce9f749c121d235147e3117cc847379e.patch";
-      sha256 = "03hg73gwlfq0l36k3aq7cfak3js7j05ssfpdbfiiwqq7lynm83jr";
-    })
-    (fetchpatch {
-      url = "https://github.com/imsnif/bandwhich/commit/35f03b716832fba9a735628d1c728d3e305f75c8.patch";
-      sha256 = "1bv837wc1dgg26s640f3lfya28ypnjs0675dykzxxxv5y9ns58l3";
-    })
-  ];
+  cargoSha256 = "0b5pqsdggdjq9sl54rmh2gaq31va6b2crdv7ihh3198ixwasaf02";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
@@ -38,7 +26,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/imsnif/bandwhich";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ma27 ];
+    maintainers = with maintainers; [ Br1ght0ne ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bud/default.nix b/nixpkgs/pkgs/tools/networking/bud/default.nix
index a79cbdc8bbd8..724d25d49f93 100644
--- a/nixpkgs/pkgs/tools/networking/bud/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bud/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, python, gyp, utillinux }:
+{ stdenv, lib, fetchgit, python, gyp, util-linux }:
 
 stdenv.mkDerivation {
   pname = "bud";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     python gyp
-  ] ++ lib.optional stdenv.isLinux utillinux;
+  ] ++ lib.optional stdenv.isLinux util-linux;
 
   buildPhase = ''
     python ./gyp_bud -f make
diff --git a/nixpkgs/pkgs/tools/networking/bukubrow/default.nix b/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
index b8f2d70848d5..ed8a6088db07 100644
--- a/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
@@ -39,7 +39,7 @@ in rustPlatform.buildRustPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Bukubrow is a WebExtension for Buku, a command-line bookmark manager";
+    description = "A WebExtension for Buku, a command-line bookmark manager";
     homepage = "https://github.com/SamHH/bukubrow-host";
     license = licenses.gpl3;
     maintainers = with maintainers; [ infinisil ];
diff --git a/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch b/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
deleted file mode 100644
index 2fa3baca7221..000000000000
--- a/nixpkgs/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/nixpkgs/pkgs/tools/networking/chrony/default.nix b/nixpkgs/pkgs/tools/networking/chrony/default.nix
index 6c8254c797b7..374036d11a44 100644
--- a/nixpkgs/pkgs/tools/networking/chrony/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chrony/default.nix
@@ -1,27 +1,22 @@
 { stdenv, fetchurl, pkgconfig, libcap, readline, texinfo, nss, nspr
-, libseccomp, pps-tools }:
+, libseccomp, pps-tools, gnutls }:
 
 assert stdenv.isLinux -> libcap != null;
 
 stdenv.mkDerivation rec {
   pname = "chrony";
-  version = "3.5.1";
+  version = "4.0";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
-    sha256 = "19ywl8a3lb2id7lcna5hp2g4pjnfwdc9ihr0fk6i9m45vdq2za0v";
+    sha256 = "09f6w2x5h5kamb4rhcbaz911q1f730qdalgsn8s48yjyqlafl9xy";
   };
 
-  patches = [
-    ./allow-clock_adjtime.patch
-    ./fix-seccomp-build.patch
-  ];
-
   postPatch = ''
     patchShebangs test
   '';
 
-  buildInputs = [ readline texinfo nss nspr ]
+  buildInputs = [ readline texinfo nss nspr gnutls ]
     ++ stdenv.lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch b/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch
deleted file mode 100644
index 6888e7efeb72..000000000000
--- a/nixpkgs/pkgs/tools/networking/chrony/fix-seccomp-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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/nixpkgs/pkgs/tools/networking/cjdns/default.nix b/nixpkgs/pkgs/tools/networking/cjdns/default.nix
index 13388d337791..8cc891cce19c 100644
--- a/nixpkgs/pkgs/tools/networking/cjdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cjdns/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, nodejs, which, python27, utillinux, nixosTests }:
+{ stdenv, fetchFromGitHub, nodejs, which, python27, util-linux, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "cjdns";
-  version = "20.7";
+  version = "21.1";
 
   src = fetchFromGitHub {
     owner = "cjdelisle";
     repo = "cjdns";
     rev = "cjdns-v${version}";
-    sha256 = "09gpqpzc00pp3cj7lyq9876p7is4bcndpdi5knqbv824vk4bj3k0";
+    sha256 = "NOmk+vMZ8i0E2MjrUzksk+tkJ9XVVNEXlE5OOTNa+Y0=";
   };
 
   buildInputs = [ which python27 nodejs ] ++
     # for flock
-    stdenv.lib.optional stdenv.isLinux utillinux;
+    stdenv.lib.optional stdenv.isLinux util-linux;
 
   CFLAGS = "-O2 -Wno-error=stringop-truncation";
   buildPhase =
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/cjdelisle/cjdns";
     description = "Encrypted networking for regular people";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ehmry ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/networking/cksfv/default.nix b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
index c777f487b3d4..00073686238d 100644
--- a/nixpkgs/pkgs/tools/networking/cksfv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "cksfv-1.3.14";
+  name = "cksfv-1.3.15";
 
   src = fetchurl {
     url = "http://zakalwe.fi/~shd/foss/cksfv/files/${name}.tar.bz2";
-    sha256 = "0lnz0z57phl6s52hjvlryn96xrlph9b0h89ahhv027sa79pj8g4g";
+    sha256 = "0k06aq94cn5xp4knjw0p7gz06hzh622ql2xvnrlr3q8rcmdvwwx1";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/clash/default.nix b/nixpkgs/pkgs/tools/networking/clash/default.nix
index 4447ab0f048e..502a4b4bbd42 100644
--- a/nixpkgs/pkgs/tools/networking/clash/default.nix
+++ b/nixpkgs/pkgs/tools/networking/clash/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clash";
-  version = "1.1.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "Dreamacro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0cbbih035h40hhl7ykmyh9q9nzdqq1p8hmvzd4358cigz1gjc3j2";
+    sha256 = "1y0im2xs6pibbfri2k7g9jqbzm90jd9a5lghrzasxmkzjfcimrnf";
   };
 
-  vendorSha256 = "0s7mhbjfpfmzqf48d7k0d416m39x6fh5ds4q3xnvhcfx5kmdymq6";
+  vendorSha256 = "0lljm594xgcv7ylz7qn170r9526k9d1lh77m9f9zcnhdd2qw4rw1";
 
   doCheck = false;
 
@@ -24,6 +24,6 @@ buildGoModule rec {
     description = "A rule-based tunnel in Go";
     homepage = "https://github.com/Dreamacro/clash";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ contrun filalex77 ];
+    maintainers = with maintainers; [ contrun Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/corerad/default.nix b/nixpkgs/pkgs/tools/networking/corerad/default.nix
index 4ab266e54959..6ac3c48100e8 100644
--- a/nixpkgs/pkgs/tools/networking/corerad/default.nix
+++ b/nixpkgs/pkgs/tools/networking/corerad/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "corerad";
-  version = "0.2.8";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "mdlayher";
     repo = "corerad";
     rev = "v${version}";
-    sha256 = "053rihi8lqai3z837ddi441yl41lsg1zj9gl62s9vbjmq5l11fjh";
+    sha256 = "1q4wcliifas8xvwy7kcq4fbc1iv7dha3k6j1nbwl7pjqmyggs3f4";
   };
 
-  vendorSha256 = "1ra4yfplmgzxzs1nlbm0izg339fjnkfrw071y8w4m6q6wnzdhljb";
+  vendorSha256 = "07khxs15z9xzcmp4gyggdwqyz361y96h6ib92qax8k83cr0l494p";
 
   doCheck = false;
 
@@ -33,7 +33,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/mdlayher/corerad";
-    description = "CoreRAD extensible and observable IPv6 NDP RA daemon";
+    description = "Extensible and observable IPv6 NDP RA daemon";
     license = licenses.asl20;
     maintainers = with maintainers; [ mdlayher ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index 29bc6140b516..08eb3d69128b 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, buildGoModule, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, callPackage}:
 
 buildGoModule rec {
   pname = "croc";
-  version = "8.3.1";
+  version = "8.6.6";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "118lx0phq68rxv71s5gy00qzzrp00qwh6kr85dx83nn1sbp54xx9";
+    sha256 = "0bd7q3j2i0r3v4liv2xpqlvx4nrixpdhr1yy1c579bls7y4myv61";
   };
 
-  vendorSha256 = "0qfrc3c4fsg3w2zcpdr93ilknxhshcysvin029va154sq3zmggbn";
+  vendorSha256 = "06hqb5r9p67zh0v5whdsb3rvax6461y2n6jkhjwmn6zzswpgkg7y";
 
   doCheck = false;
 
   subPackages = [ "." ];
 
+  passthru = {
+    tests = {
+      local-relay = callPackage ./test-local-relay.nix {};
+    };
+  };
   meta = with stdenv.lib; {
     description =
       "Easily and securely send things from one computer to another";
diff --git a/nixpkgs/pkgs/tools/networking/croc/test-local-relay.nix b/nixpkgs/pkgs/tools/networking/croc/test-local-relay.nix
new file mode 100644
index 000000000000..bde05d6deb0a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/croc/test-local-relay.nix
@@ -0,0 +1,20 @@
+{ stdenv, croc }:
+
+stdenv.mkDerivation {
+  name = "croc-test-local-relay";
+  meta.timeout = 300;
+  buildCommand = ''
+          HOME=$(mktemp -d)
+          # start a local relay
+          ${croc}/bin/croc relay --ports 11111,11112 &
+          # start sender in background
+          MSG="See you later, alligator!"
+          ${croc}/bin/croc --relay localhost:11111 send --code correct-horse-battery-staple --text "$MSG" &
+          # wait for things to settle
+          sleep 1
+          # receive
+          MSG2=$(${croc}/bin/croc --relay localhost:11111 --yes correct-horse-battery-staple)
+          # compare
+          [ "$MSG" = "$MSG2" ] && touch $out
+  '';
+}
diff --git a/nixpkgs/pkgs/tools/networking/curl/default.nix b/nixpkgs/pkgs/tools/networking/curl/default.nix
index 8e151bc2ead0..82245f4cd26d 100644
--- a/nixpkgs/pkgs/tools/networking/curl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curl/default.nix
@@ -34,14 +34,14 @@ assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.72.0";
+  version = "7.74.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "1vq3ay87vayfrv67l7s7h79nm7gwdqhidki0brv5jahhch49g4dd";
+    sha256 = "19bp3d91xq9vqwlbzq261j23mk9lz4lyka4gr2fm6dhnd3k66k8g";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/nixpkgs/pkgs/tools/networking/curlie/default.nix b/nixpkgs/pkgs/tools/networking/curlie/default.nix
index f8147cb16115..9ae9644eb940 100644
--- a/nixpkgs/pkgs/tools/networking/curlie/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curlie/default.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "curlie";
-  version = "1.5.4";
+  version = "1.6.0";
 
   src= fetchFromGitHub {
     owner = "rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0z92gz39m0gk8j7l2nwa5vrfr3mq160vr1b15sy13jwi1zspc7hx";
+    sha256 = "sha256-rrwdqaKrC37BaI9RuTTv6EiOZ3ztgd7nGuplmeW02h8=";
   };
 
-  vendorSha256 = "1qnl15b9cs6xi8z368a9n34v3wr2adwp376cjzhyllni7sf6v1mm";
+  vendorSha256 = "sha256-tYZtnD7RUurhl8yccXlTIvOxybBJITM+it1ollYJ1OI=";
 
   doCheck = false;
 
   meta = with lib; {
-    description = "Curlie is a frontend to curl that adds the ease of use of httpie, without compromising on features and performance";
+    description = "Frontend to curl that adds the ease of use of httpie, without compromising on features and performance";
     homepage = "https://curlie.io/";
     maintainers = with maintainers; [ ma27 ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/tools/networking/davix/default.nix b/nixpkgs/pkgs/tools/networking/davix/default.nix
index 797791e1c0b9..ca9e7b033c51 100644
--- a/nixpkgs/pkgs/tools/networking/davix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/davix/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig python3 ];
   buildInputs = [ openssl libxml2 boost libuuid ];
 
-  # using the url below since the 0.7.6 release did carry a broken CMake file,
-  # supposedly fixed in the next release
-  # https://github.com/cern-fts/davix/issues/40
+  # using the url below since the github release page states
+  # "please ignore the GitHub-generated tarballs, as they are incomplete"
+  # https://github.com/cern-fts/davix/releases/tag/R_0_7_6
   src = fetchurl {
-    url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/${version}/davix-${version}.tar.gz";
+    url = "https://github.com/cern-fts/${pname}/releases/download/R_${stdenv.lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.gz";
     sha256 = "0wq66spnr616cns72f9dvr2xfvkdvfqqmc6d7dx29fpp57zzvrx2";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/dhcp/default.nix b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
index 5222f731efb9..4a6eca896249 100644
--- a/nixpkgs/pkgs/tools/networking/dhcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     "-Wno-error=format-truncation"
     "-Wno-error=stringop-truncation"
     "-Wno-error=format-overflow"
+    "-Wno-error=stringop-overflow=8"
   ];
 
   installFlags = [ "DESTDIR=\${out}" ];
@@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
     ''
       substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
-	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
+          -e "s|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
 
       export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar'
     '';
diff --git a/nixpkgs/pkgs/tools/networking/dnsperf/default.nix b/nixpkgs/pkgs/tools/networking/dnsperf/default.nix
index a3d819e8dcfe..68107f193288 100644
--- a/nixpkgs/pkgs/tools/networking/dnsperf/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsperf/default.nix
@@ -1,25 +1,29 @@
 { stdenv, fetchurl, fetchFromGitHub, autoreconfHook, pkgconfig
-, bind, zlib, openssl, libcap
+, openssl, ldns
 }:
 
 stdenv.mkDerivation rec {
   pname = "dnsperf";
-  version = "2.3.4";
+  version = "2.4.0";
 
   # The same as the initial commit of the new GitHub repo (only readme changed).
   src = fetchFromGitHub {
     owner = "DNS-OARC";
     repo = "dnsperf";
     rev = "v${version}";
-    sha256 = "1lyci2vdl6g0s5pqs7dkq7pxdahcpkzh614wmy5fwi2f3334y0d1";
+    sha256 = "0q7zmzhhx71v41wf6rhyvpil43ch4a9sx21x47wgcg362lca3cbz";
   };
 
   outputs = [ "out" "man" "doc" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  buildInputs = [ bind zlib openssl ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libcap.lib ];
+  buildInputs = [
+    openssl
+    ldns # optional for DDNS (but cheap anyway)
+  ];
+
+  doCheck = true;
 
   # For now, keep including the old PDFs as well.
   # https://github.com/DNS-OARC/dnsperf/issues/27
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index 8f279ff688af..e7c30551dc9b 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.32.0";
+  version = "0.33.3";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14iwwg1iqfxjhpw9p3ddq53l901v9l9n2r60q9q6jls8hfqcgsnj";
+    sha256 = "0c7hqsb53711032svicr069gh7faacnsj2v36pj7srng266vk78p";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
index 7109a2945436..558e0dca9034 100644
--- a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lresolv";
 
   meta = with stdenv.lib; {
-    description = "Dnstracer determines where a given Domain Name Server (DNS) gets its information from, and follows the chain of DNS servers back to the servers which know the data.";
+    description = "Determines where a given Domain Name Server (DNS) gets its information from, and follows the chain of DNS servers back to the servers which know the data";
     homepage = "http://www.mavetju.org/unix/general.php";
     license = licenses.bsd2;
     maintainers = with maintainers; [ andir ];
diff --git a/nixpkgs/pkgs/tools/networking/dogdns/default.nix b/nixpkgs/pkgs/tools/networking/dogdns/default.nix
new file mode 100644
index 000000000000..71e065e5d14c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/dogdns/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+, Security
+, installShellFiles
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dogdns";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "ogham";
+    repo = "dog";
+    rev = "v${version}";
+    sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy";
+  };
+
+  nativeBuildInputs = [ installShellFiles ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  cargoSha256 = "08scc6vh703245rg3xkffhalrk5pisd0wg54fd49d7gdbyjivgi6";
+
+  postInstall = ''
+    installShellCompletion completions/dog.{bash,fish,zsh}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command-line DNS client";
+    homepage = "https://dns.lookup.dog";
+    license = licenses.eupl12;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/driftnet/default.nix b/nixpkgs/pkgs/tools/networking/driftnet/default.nix
index 441019103716..7a5ceda96694 100644
--- a/nixpkgs/pkgs/tools/networking/driftnet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/driftnet/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "Driftnet watches network traffic, and picks out and displays JPEG and GIF images for display";
+    description = "Watches network traffic, and picks out and displays JPEG and GIF images for display";
     homepage = "https://github.com/deiv/driftnet";
     maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/networking/drill/default.nix b/nixpkgs/pkgs/tools/networking/drill/default.nix
index 572dc0d83848..176062ed314b 100644
--- a/nixpkgs/pkgs/tools/networking/drill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/drill/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "drill";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "fcsonline";
     repo = pname;
     rev = version;
-    sha256 = "0pcc91nk68z7hlhj7xvh6v3rybxpy6bzv3pzjcyaq7l0szjljrpw";
+    sha256 = "07zz0dj0wjwrc1rmayz7s8kpcv03i0ygl4vfwsam72qd4nf6v538";
   };
 
-  cargoSha256 = "1611w8b60d3x16ik8v96za0mkr5p0f9gdpz0awprfgj6c3r6s16m";
+  cargoSha256 = "1nbfbmm9v1yp7380zdzz7qrc7x6krwlvgn5x5yzb8yn1rc99jzx4";
 
   nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
   buildInputs = [ ]
@@ -28,6 +28,6 @@ rustPlatform.buildRustPackage rec {
     description = "HTTP load testing application inspired by Ansible syntax";
     homepage = "https://github.com/fcsonline/drill";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dropbear/default.nix b/nixpkgs/pkgs/tools/networking/dropbear/default.nix
index dcb05eb84842..605e95c9392a 100644
--- a/nixpkgs/pkgs/tools/networking/dropbear/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dropbear/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchurl, glibc, zlib
-, enableStatic ? false
+, enableStatic ? stdenv.hostPlatform.isStatic
 , sftpPath ? "/run/current-system/sw/libexec/sftp-server"
 }:
 
 stdenv.mkDerivation rec {
-  name = "dropbear-2020.80";
+  name = "dropbear-2020.81";
 
   src = fetchurl {
     url = "https://matt.ucc.asn.au/dropbear/releases/${name}.tar.bz2";
-    sha256 = "0jbrbpdzyv11x5rkljdimzq9p6a7da5siw9k405ibnpjj4dr89yr";
+    sha256 = "0fy5ma4cfc2pk25mcccc67b2mf1rnb2c06ilb7ddnxbpnc85s8s8";
   };
 
   dontDisableStatic = enableStatic;
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib ] ++ lib.optionals enableStatic [ glibc.static zlib.static ];
 
   meta = with stdenv.lib; {
-    homepage = "http://matt.ucc.asn.au/dropbear/dropbear.html";
+    homepage = "https://matt.ucc.asn.au/dropbear/dropbear.html";
     description = "A small footprint implementation of the SSH 2 protocol";
     license = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
diff --git a/nixpkgs/pkgs/tools/networking/dsniff/default.nix b/nixpkgs/pkgs/tools/networking/dsniff/default.nix
index 50de41b921c0..db9c608e931b 100644
--- a/nixpkgs/pkgs/tools/networking/dsniff/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dsniff/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl }:
+{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl
+, rpcsvc-proto, libtirpc, libnsl
+}:
 let
   /*
   dsniff's build system unconditionnaly wants static libraries and does not
@@ -36,7 +38,7 @@ let
     inherit (openssl) name;
     paths = with openssl.override { static = true; }; [ out dev ];
   };
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "dsniff";
   version = "2.4b1";
   # upstream is so old that nearly every distribution packages the beta version.
@@ -47,14 +49,15 @@ in stdenv.mkDerivation {
     domain = "salsa.debian.org";
     owner = "pkg-security-team";
     repo = "dsniff";
-    rev = "debian%2F2.4b1%2Bdebian-29"; # %2B = urlquote("+"), %2F = urlquote("/")
+    rev = "debian/${version}+debian-29";
     sha256 = "10zz9krf65jsqvlcr72ycp5cd27xwr18jkc38zqp2i4j6x0caj2g";
     name = "dsniff.tar.gz";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ glib pcap ];
-  NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ldl";
+  nativeBuildInputs = [ autoreconfHook rpcsvc-proto ];
+  buildInputs = [ glib pcap libtirpc libnsl ];
+  NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ldl -ltirpc";
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
   postPatch = ''
     for patch in debian/patches/*.patch; do
       patch < $patch
diff --git a/nixpkgs/pkgs/tools/networking/easyrsa/default.nix b/nixpkgs/pkgs/tools/networking/easyrsa/default.nix
index 90e05e5310bd..4568aec9c5d9 100644
--- a/nixpkgs/pkgs/tools/networking/easyrsa/default.nix
+++ b/nixpkgs/pkgs/tools/networking/easyrsa/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, openssl, runtimeShell }:
 
 let
-  version = "3.0.0";
+  version = "3.0.8";
 in stdenv.mkDerivation {
   pname = "easyrsa";
   inherit version;
@@ -10,14 +10,15 @@ in stdenv.mkDerivation {
     owner = "OpenVPN";
     repo = "easy-rsa";
     rev = "v${version}";
-    sha256 = "0wbdv3wmqwm5680rpb971l56xiw49adpicqshk3vhfmpvqzl4dbs";
+    sha256 = "05q60s343ydh9j6hzj0840qdcq8fkyz06q68yw4pqgqg4w68rbgs";
   };
 
   patches = [ ./fix-paths.patch ];
 
   installPhase = ''
     mkdir -p $out/share/easyrsa
-    cp -r easyrsa3/{openssl*.cnf,x509-types,vars.example} $out/share/easyrsa
+    cp -r easyrsa3/{*.cnf,x509-types,vars.example} $out/share/easyrsa
+    cp easyrsa3/openssl-easyrsa.cnf $out/share/easyrsa/safessl-easyrsa.cnf
     install -D -m755 easyrsa3/easyrsa $out/bin/easyrsa
     substituteInPlace $out/bin/easyrsa \
       --subst-var out \
@@ -35,7 +36,7 @@ in stdenv.mkDerivation {
     description = "Simple shell based CA utility";
     homepage = "https://openvpn.net/";
     license = licenses.gpl2;
-    maintainers = [ maintainers.offline ];
+    maintainers = [ maintainers.offline maintainers.numinit ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/easyrsa/fix-paths.patch b/nixpkgs/pkgs/tools/networking/easyrsa/fix-paths.patch
index 82688fa79460..7891adcb20c7 100644
--- a/nixpkgs/pkgs/tools/networking/easyrsa/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/networking/easyrsa/fix-paths.patch
@@ -1,33 +1,49 @@
 diff --git a/easyrsa3/easyrsa b/easyrsa3/easyrsa
-index 6fec288..210648a 100755
+index 261336f..7b9a79b 100755
 --- a/easyrsa3/easyrsa
 +++ b/easyrsa3/easyrsa
-@@ -1003,7 +1003,7 @@ Note: using Easy-RSA configuration from: $vars"
+@@ -1661,7 +1661,7 @@ Note: using Easy-RSA configuration from: $vars"
  	
  	# Set defaults, preferring existing env-vars if present
- 	set_var EASYRSA		"$PWD"
+ 	set_var EASYRSA		"$prog_dir"
 -	set_var EASYRSA_OPENSSL	openssl
 +	set_var EASYRSA_OPENSSL	"@openssl@"
- 	set_var EASYRSA_PKI	"$EASYRSA/pki"
+ 	set_var EASYRSA_PKI	"$PWD/pki"
  	set_var EASYRSA_DN	cn_only
  	set_var EASYRSA_REQ_COUNTRY	"US"
-@@ -1030,13 +1030,17 @@ Note: using Easy-RSA configuration from: $vars"
- 	# Detect openssl config, preferring EASYRSA_PKI over EASYRSA
- 	if [ -f "$EASYRSA_PKI/openssl-1.0.cnf" ]; then
- 		set_var EASYRSA_SSL_CONF	"$EASYRSA_PKI/openssl-1.0.cnf"
--	else	set_var EASYRSA_SSL_CONF	"$EASYRSA/openssl-1.0.cnf"
-+	elif [ -f "$EASYRSA/openssl-1.0.cnf" ]; then
-+		set_var EASYRSA_SSL_CONF	"$EASYRSA/openssl-1.0.cnf"
-+	else	set_var EASYRSA_SSL_CONF	"@out@/share/easyrsa/openssl-1.0.cnf"
- 	fi
+@@ -1683,16 +1683,31 @@ Note: using Easy-RSA configuration from: $vars"
+ 	set_var EASYRSA_TEMP_DIR	"$EASYRSA_PKI"
+ 	set_var EASYRSA_REQ_CN		ChangeMe
+ 	set_var EASYRSA_DIGEST		sha256
+-	set_var EASYRSA_SSL_CONF	"$EASYRSA_PKI/openssl-easyrsa.cnf"
+-	set_var EASYRSA_SAFE_CONF	"$EASYRSA_PKI/safessl-easyrsa.cnf"
+ 	set_var EASYRSA_KDC_REALM	"CHANGEME.EXAMPLE.COM"
  
++	if [ -f "$EASYRSA_PKI/safessl-easyrsa.conf" ]; then
++		set_var EASYRSA_SAFE_CONF	"$EASYRSA_PKI/safessl-easyrsa.cnf"
++	elif [ -f "$EASYRSA/safessl-easyrsa.conf" ]; then
++		set_var EASYRSA_SAFE_CONF	"$EASYRSA/safessl-easyrsa.cnf"
++	elif [ -f "@out@/share/easyrsa/safessl-easyrsa.cnf" ]; then
++		set_var EASYRSA_SAFE_CONF	"@out@/share/easyrsa/safessl-easyrsa.cnf"
++	fi
++
++	if [ -f "$EASYRSA_PKI/openssl-easyrsa.conf" ]; then
++		set_var EASYRSA_SSL_CONF	"$EASYRSA_PKI/openssl-easyrsa.cnf"
++	elif [ -f "$EASYRSA/openssl-easyrsa.conf" ]; then
++		set_var EASYRSA_SSL_CONF	"$EASYRSA/openssl-easyrsa.cnf"
++	elif [ -f "@out@/share/easyrsa/openssl-easyrsa.cnf" ]; then
++		set_var EASYRSA_SSL_CONF	"@out@/share/easyrsa/openssl-easyrsa.cnf"
++	fi
++
  	# Same as above for the x509-types extensions dir
  	if [ -d "$EASYRSA_PKI/x509-types" ]; then
  		set_var EASYRSA_EXT_DIR		"$EASYRSA_PKI/x509-types"
--	else	set_var EASYRSA_EXT_DIR		"$EASYRSA/x509-types"
+-	else	
+-		#TODO: This should be removed.  Not really suitable for packaging.
 +	elif [ -d "$EASYRSA/x509-types" ]; then
-+		set_var EASYRSA_EXT_DIR		"$EASYRSA/x509-types"
-+	else	set_var EASYRSA_EXT_DIR		"@out@/share/easyrsa/x509-types"
+ 		set_var EASYRSA_EXT_DIR		"$EASYRSA/x509-types"
++	else
++		set_var EASYRSA_EXT_DIR		"@out@/share/easyrsa/x509-types"
  	fi
  
  	# EASYRSA_ALGO_PARAMS must be set depending on selected algo
diff --git a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
index 452a9873bece..fdad966c81b6 100644
--- a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eternal-terminal";
-  version = "6.0.11";
+  version = "6.0.13";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
     repo = "EternalTerminal";
     rev = "et-v${version}";
-    sha256 = "0yjf639ldfaxrw4pbg9avdkhhmcpnx58j3x70zskvgkajny8yqqr";
+    sha256 = "0sb1hypg2276y8c2a5vivrkcxp70swddvhnd9h273if3kv6j879r";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/networking/fastd/default.nix b/nixpkgs/pkgs/tools/networking/fastd/default.nix
index 8c9a877b8f1e..864b57a0c383 100644
--- a/nixpkgs/pkgs/tools/networking/fastd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fastd/default.nix
@@ -1,29 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, bison, pkgconfig
+{ stdenv, fetchFromGitHub, bison, meson, ninja, pkgconfig
 , libuecc, libsodium, libcap, json_c, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "fastd";
-  version = "19";
+  version = "21";
 
   src = fetchFromGitHub {
     owner  = "Neoraider";
     repo = "fastd";
     rev = "v${version}";
-    sha256 = "1h3whjvy2n2cyvbkbg4y1z9vlrn790spzbdhj4glwp93xcykhz5i";
+    sha256 = "1p4k50dk8byrghbr0fwmgwps8df6rlkgcd603r14i71m5g27z5gw";
   };
 
-  postPatch = ''
-    substituteInPlace src/crypto/cipher/CMakeLists.txt \
-      --replace 'add_subdirectory(aes128_ctr)' ""
-  '';
-
-  nativeBuildInputs = [ pkgconfig bison cmake ];
+  nativeBuildInputs = [ pkgconfig bison meson ninja ];
   buildInputs = [ libuecc libsodium libcap json_c openssl ];
 
-  cmakeFlags = [
-    "-DENABLE_OPENSSL=true"
-  ];
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/fdm/default.nix b/nixpkgs/pkgs/tools/networking/fdm/default.nix
index fb125b486d79..cb5a781f5efa 100644
--- a/nixpkgs/pkgs/tools/networking/fdm/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fdm/default.nix
@@ -1,20 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, openssl, tdb, zlib, flex, bison }:
 
-let
-
-  baseName = "fdm";
-  version = "1.9.0.20170124";
-
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+stdenv.mkDerivation rec {
+  pname = "fdm";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "nicm";
-    repo = baseName;
-    rev = "cae4ea37b6b296d1b2e48f62934ea3a7f6085e33";
-    sha256 = "048191wdv1yprwinipmx2152gvd2iq1ssv7xfb1bzh6zirh1ya3n";
+    repo = pname;
+    rev = version;
+    sha256 = "0j2n271ni5wslgjq1f4zgz1nsvqjf895dxy3ij5c904bbp8ckcwq";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -23,7 +17,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Mail fetching and delivery tool - should do the job of getmail and procmail";
-    maintainers = with maintainers; [ raskin ];
+    maintainers = with maintainers; [ ninjin raskin ];
     platforms = with platforms; linux;
     homepage = "https://github.com/nicm/fdm";
     downloadPage = "https://github.com/nicm/fdm/releases";
diff --git a/nixpkgs/pkgs/tools/networking/findomain/default.nix b/nixpkgs/pkgs/tools/networking/findomain/default.nix
index 2caf18d9a4b0..761e9eb4619b 100644
--- a/nixpkgs/pkgs/tools/networking/findomain/default.nix
+++ b/nixpkgs/pkgs/tools/networking/findomain/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "112w4x79zywy6i5vfr04057p9vschflhdhs7b2mhkcba5gigkrxx";
+    sha256 = "0g0kw1b18kk9jhvw88hcxc04ccj8k22fdzky7l2dv3r37vndd91w";
   };
 
-  cargoSha256 = "1bfbg5fzwp8drm0vp16503qd5mgjfw7z9p292xgdx0i20s4wfrkk";
+  cargoSha256 = "0cmp4w86qnzd2b2w4s3w019857pxysgikkl1g7ldkiylrsm5vlpn";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optional stdenv.isDarwin Security;
@@ -31,6 +31,6 @@ rustPlatform.buildRustPackage rec {
     description = "The fastest and cross-platform subdomain enumerator";
     homepage = "https://github.com/Edu4rdSHL/findomain";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/flannel/default.nix b/nixpkgs/pkgs/tools/networking/flannel/default.nix
index 7ecfb559dcc7..86010f4adb91 100644
--- a/nixpkgs/pkgs/tools/networking/flannel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/flannel/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoPackage rec {
   pname = "flannel";
-  version = "0.12.0";
+  version = "0.13.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/coreos/flannel";
@@ -13,7 +13,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "coreos";
     repo = "flannel";
-    sha256 = "04g7rzgyi3xs3sf5p1a9dmd08crdrz6y1b02ziv3444qk40jyswd";
+    sha256 = "0mmswnaybwpf18h832haapcs5b63wn5w2hax0smm3inldiggsbw8";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/networking/frp/default.nix b/nixpkgs/pkgs/tools/networking/frp/default.nix
index 6bc05139f8b2..7ba943e338d1 100644
--- a/nixpkgs/pkgs/tools/networking/frp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.34.0";
+  version = "0.34.3";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f0cr7211wkam1204x6gsflhw7gc995lia3jq4v6n3ijfwy5vyvm";
+    sha256 = "1c5337yv7m4ad1mr73a38lbxg6b7sk8pxqkzws01jxrry2jahb35";
   };
 
-  vendorSha256 = "1ym4qcqgbbj6pa4cgmxmny7krxwjfl8l02hb3r5jh9qj886fwhdr";
+  vendorSha256 = "0srkvd1kvjabf3r391n6spv5n77r7dw4y982ynqsv5grp5f4zmm1";
 
   doCheck = false;
 
@@ -27,6 +27,6 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/fatedier/frp";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix b/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
index fa364dc4eab6..8a8ed25a5a62 100644
--- a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, makeWrapper, gstreamer
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, makeWrapper, gstreamer
 , gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
 
 let
@@ -19,6 +19,14 @@ in
       sha256 = "14i5jrry6qiap5l2x2jqj7arymllajl3wgnk29ccvr8d45zp4jn1";
     };
 
+    patches = [
+      (fetchpatch {
+        url = "https://github.com/hzeller/gmrender-resurrect/commit/dc8c4d4dc234311b3099e7f1efadf5d9733c81e9.patch";
+        sha256 = "0fqi58viaq9jg5h5j1725qrach4c3wmfmh0q43q4r8az2pn7dszw";
+        name = "libupnp.patch";
+      })
+    ];
+
     buildInputs = [ gstreamer libupnp ];
     nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
 
diff --git a/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix b/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix
index f739e80be1fe..8d7d2392dfb7 100644
--- a/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gnirehtet/default.nix
@@ -1,12 +1,12 @@
-{stdenv, rustPlatform, fetchFromGitHub, fetchzip, androidenv, substituteAll}:
+{ stdenv, rustPlatform, fetchFromGitHub, fetchzip, androidenv, makeWrapper }:
 let
-version = "2.4";
+version = "2.5";
 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 = "13gsh5982v961j86j5y71pgas94g2d1v1fgnbslbqw4h69fbf48g";
+    sha256 = "1db0gkg5z8lighhkyqfsr9jiacrck89zmfnmp74vj865hhxgjzgq";
   };
   installPhase = ''
     mkdir $out
@@ -22,19 +22,18 @@ rustPlatform.buildRustPackage {
       owner = "Genymobile";
       repo = "gnirehtet";
       rev = "v${version}";
-      sha256 = "1c99d6zpjxa8xlrg0n1825am20d2pjiicfcjwv8iay9ylfdnvygl";
+      sha256 = "0wk6n082gnj9xk46n542h1012h8gyhldca23bs7vl73g0534g878";
   };
   sourceRoot = "source/relay-rust";
-  cargoSha256 = "0rb5xcqg5ikgrxpmzrql5n298j50aqgkkp45znbfv2x2n40dywad";
+  cargoSha256 = "0i7f52r697gjw30m8k60hd3y6wsn5lpz419r083a1rhpbinzd26q";
 
-  patchFlags = [ "-p2" ];
-  patches = [
-    (substituteAll {
-      src = ./paths.patch;
-      adb = "${androidenv.androidPkgs_9_0.platform-tools}/bin/adb";
-      inherit apk;
-    })
-  ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/gnirehtet \
+    --set GNIREHTET_APK ${apk}/gnirehtet.apk \
+    --set ADB ${androidenv.androidPkgs_9_0.platform-tools}/bin/adb
+  '';
 
   meta = with stdenv.lib; {
     description = "Reverse tethering over adb for Android";
diff --git a/nixpkgs/pkgs/tools/networking/gnirehtet/paths.patch b/nixpkgs/pkgs/tools/networking/gnirehtet/paths.patch
deleted file mode 100644
index e5df4b8e4fe7..000000000000
--- a/nixpkgs/pkgs/tools/networking/gnirehtet/paths.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Index: gnirehtet/relay-rust/src/main.rs
-===================================================================
---- gnirehtet.orig/relay-rust/src/main.rs
-+++ gnirehtet/relay-rust/src/main.rs
-@@ -299,7 +299,7 @@ impl Command for RelayCommand {
- 
- fn cmd_install(serial: Option<&String>) -> Result<(), CommandExecutionError> {
-     info!(target: TAG, "Installing gnirehtet client...");
--    exec_adb(serial, vec!["install", "-r", "gnirehtet.apk"])
-+    exec_adb(serial, vec!["install", "-r", "@apk@/gnirehtet.apk"])
- }
- 
- fn cmd_uninstall(serial: Option<&String>) -> Result<(), CommandExecutionError> {
-@@ -464,8 +464,8 @@ fn exec_adb<S: Into<String>>(
-     args: Vec<S>,
- ) -> Result<(), CommandExecutionError> {
-     let adb_args = create_adb_args(serial, args);
--    debug!(target: TAG, "Execute: adb {:?}", adb_args);
--    match process::Command::new("adb").args(&adb_args[..]).status() {
-+    debug!(target: TAG, "Execute: @adb@ {:?}", adb_args);
-+    match process::Command::new("@adb@").args(&adb_args[..]).status() {
-         Ok(exit_status) => {
-             if exit_status.success() {
-                 Ok(())
-@@ -487,8 +487,8 @@ fn must_install_client(serial: Option<&S
-         serial,
-         vec!["shell", "dumpsys", "package", "com.genymobile.gnirehtet"],
-     );
--    debug!(target: TAG, "Execute: adb {:?}", args);
--    match process::Command::new("adb").args(&args[..]).output() {
-+    debug!(target: TAG, "Execute: @adb@ {:?}", args);
-+    match process::Command::new("@adb@").args(&args[..]).output() {
-         Ok(output) => {
-             if output.status.success() {
-                 // the "regex" crate makes the binary far bigger, so just parse the versionCode
-Index: gnirehtet/relay-rust/src/adb_monitor.rs
-===================================================================
---- gnirehtet.orig/relay-rust/src/adb_monitor.rs
-+++ gnirehtet/relay-rust/src/adb_monitor.rs
-@@ -206,7 +206,7 @@ impl AdbMonitor {
-
-     fn start_adb_daemon() -> bool {
-         info!(target: TAG, "Restarting adb daemon");
--        match process::Command::new("adb")
-+        match process::Command::new("@adb@")
-             .args(&["start-server"])
-             .status() {
-             Ok(exit_status) => {
diff --git a/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix b/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
index fb64ff65cc15..4232a5a4fedd 100644
--- a/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
+++ b/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
@@ -9,7 +9,7 @@ buildGoPackage rec {
   src = fetchFromGitLab {
     owner = "shackra";
     repo = "goimapnotify";
-    rev = "${version}";
+    rev = version;
     sha256 = "1d42gd3m2rkvy985d181dbcm5i3f7xsg2z8z6s4bpvw24pfnzs42";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/goreplay/default.nix b/nixpkgs/pkgs/tools/networking/goreplay/default.nix
index 3daa6a983b24..0859472a446f 100644
--- a/nixpkgs/pkgs/tools/networking/goreplay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/goreplay/default.nix
@@ -19,7 +19,7 @@ buildGoPackage rec {
   meta = {
     homepage = "https://github.com/buger/goreplay";
     license = stdenv.lib.licenses.lgpl3Only;
-    description = "GoReplay is an open-source tool for capturing and replaying live HTTP traffic.";
+    description = "Open-source tool for capturing and replaying live HTTP traffic";
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/gping/default.nix b/nixpkgs/pkgs/tools/networking/gping/default.nix
index 092f3611abb7..329302ae35d2 100644
--- a/nixpkgs/pkgs/tools/networking/gping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gping/default.nix
@@ -1,32 +1,25 @@
 { lib
-, iputils
-, python3
-, python3Packages
+, rustPlatform
+, fetchFromGitHub
 }:
 
-python3Packages.buildPythonApplication rec {
+rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.1";
+  version = "1.2.0-post";
 
-  propagatedBuildInputs = with python3Packages; [ colorama ];
-
-  src = python3Packages.fetchPypi {
-    inherit version;
-    pname  = "pinggraph";
-    sha256 = "0q5ma98457zb6vxsnhmrr3p38j1vg0gl155y0adzfg67wlniac92";
+  src = fetchFromGitHub {
+    owner = "orf";
+    repo = "gping";
+    rev = "v${version}";
+    sha256 = "0h4cd36lrhr64p3m2l7yvkq22h8fzzm3g61m39d303s1viibm6dg";
   };
 
-  # Make path to ping explicit
-  postFixup = ''
-    substituteInPlace $out/${python3.sitePackages}/gping/pinger.py \
-      --replace 'subprocess.getoutput("ping ' 'subprocess.getoutput("${iputils}/bin/ping ' \
-      --replace 'args = ["ping"]' 'args = ["${iputils}/bin/ping"]'
-  '';
+  cargoSha256 = "0aadalgs5p7wqbbkidm49ccfl716xairb4pirrgm3749zdg55bi9";
 
   meta = with lib; {
     description = "Ping, but with a graph";
     homepage = "https://github.com/orf/gping";
-    license = licenses.gpl2;
+    license = licenses.mit;
     maintainers = with maintainers; [ andrew-d ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/grpcui/default.nix b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
index be3ed2ea2c65..a9fb7c823f9e 100644
--- a/nixpkgs/pkgs/tools/networking/grpcui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpcui";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b6rc294v8jagk79hcjbaldfi7y7idx8bknsbdi3djym5rspdg6s";
+    sha256 = "1l8ldx7nx2pa2ac5znss0j0dhapn3syj02xqys4jz22hr5gvfj6m";
   };
 
-  vendorSha256 = "0wih9xvpgqqd82v1pxy5rslrsd6wsl0ys1bi1mf373dnfq5vh5a9";
+  vendorSha256 = "15qgpbsl41swifw8w1lx0pbniwv3rf35127ald7h1r157vfa0r8b";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
index 6a72be9a1e45..fccd4b8dace5 100644
--- a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
@@ -1,27 +1,26 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-# and modified to add meta and switch to fetchFromGitHub
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "grpcurl";
-  version = "1.4.0";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/fullstorydev/grpcurl";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = "grpcurl";
-    rev = "ccc9007156e7177388c8dd45ec694aebeb2da996";
-    sha256 = "1zgiqg9c6vk45x16n04bpfvj9z838nck7ihdcsbfz89xgq7f1c0b";
+    rev = "v${version}";
+    sha256 = "11wjyg5008mkpzdp6q6k6yxwxx5byas8kbp57kdi1r38pya38hna";
   };
 
-  goDeps = ./deps.nix;
+  subPackages = [ "cmd/grpcurl" ];
+
+  vendorSha256 = "0pc62dndca13jyk3bq6mp53w1ay7sfzf487m0cswvkijcsw8wk9q";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
-  meta = {
+  meta = with lib; {
     description = "Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers";
     homepage = "https://github.com/fullstorydev/grpcurl";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ knl ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ knl ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/grpcurl/deps.nix b/nixpkgs/pkgs/tools/networking/grpcurl/deps.nix
deleted file mode 100644
index 91ec4db79b66..000000000000
--- a/nixpkgs/pkgs/tools/networking/grpcurl/deps.nix
+++ /dev/null
@@ -1,183 +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/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/client9/misspell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/client9/misspell";
-      rev = "v0.3.4";
-      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/glog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/glog";
-      rev = "23def4e6c14b";
-      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
-    };
-  }
-  {
-    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.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
-    };
-  }
-  {
-    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/jhump/protoreflect";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jhump/protoreflect";
-      rev = "v1.5.0";
-      sha256 = "1xwccif809sbgf0xginpd1cm3q1dv7c1rv0qhnvjwbkp9agd0x2a";
-    };
-  }
-  {
-    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 = "d0100b6bd8b3";
-      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "d8887717615a";
-      sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163";
-    };
-  }
-  {
-    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 = "1d60e4601c6f";
-      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
-    };
-  }
-  {
-    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 = "11955173bddd";
-      sha256 = "0hlkai67w167wiyivkzd1fgqrnyxkb94l2c6kr51jwcscizfyfn3";
-    };
-  }
-  {
-    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.21.0";
-      sha256 = "0zxjlxnvjqfn6zfx7gbmqhadx0j788vxfn95g1ngbmjkgppzsnfp";
-    };
-  }
-  {
-    goPackagePath = "honnef.co/go/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dominikh/go-tools";
-      rev = "c2f93a96b099";
-      sha256 = "07lg29aiap80ca9f201jzng9vjr168cv3qmvjmbd7v5pmww9kmr8";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index 91112a2628e2..9f01962250dc 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -1,7 +1,7 @@
 { useLua ? !stdenv.isDarwin
 , usePcre ? true
 , withPrometheusExporter ? true
-, stdenv, lib, fetchurl
+, stdenv, lib, fetchurl, nixosTests
 , openssl, zlib
 , lua5_3 ? null, pcre ? null, systemd ? null
 }:
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.2.2";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "1mjld865p4f7i465fcc5c4jclih1c3345a3ylriql8668rd7071r";
+    sha256 = "1mcg0d6qiwl3xps65ir2sv5sc868zla5wnfhk24d2b0sg6xp7jwr";
   };
 
   buildInputs = [ openssl zlib ]
@@ -51,6 +51,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests.haproxy = nixosTests.haproxy;
+
   meta = with lib; {
     description = "Reliable, high performance TCP/HTTP load balancer";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/networking/hey/default.nix b/nixpkgs/pkgs/tools/networking/hey/default.nix
index 22f933a4b654..edf91dd311d9 100644
--- a/nixpkgs/pkgs/tools/networking/hey/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hey/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hey";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "rakyll";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06w5hf0np0ayvjnfy8zgy605yrs5j326nk2gm0fy7amhwx1fzkwv";
+    sha256 = "0gsdksrzlwpba14a43ayyy41l1hxpw4ayjpvqyd4ycakddlkvgzb";
   };
 
   vendorSha256 = null;
@@ -19,6 +19,6 @@ buildGoModule rec {
     description = "HTTP load generator, ApacheBench (ab) replacement";
     homepage = "https://github.com/rakyll/hey";
     license = licenses.asl20;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/httpstat/default.nix b/nixpkgs/pkgs/tools/networking/httpstat/default.nix
index 70bbabc35bb7..f404090e5e3a 100644
--- a/nixpkgs/pkgs/tools/networking/httpstat/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httpstat/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchFromGitHub, curl, pythonPackages, glibcLocales }:
 
 pythonPackages.buildPythonApplication rec {
-    pname = "httpstat";
-    version = "1.2.1";
-    src = fetchFromGitHub {
-      owner = "reorx";
-      repo = pname;
-      rev = version;
-      sha256 = "1vriibcsq4j1hvm5yigbbmmv21dc40y5c9gvd31dg9qkaz26hml6";
-    };
-    doCheck = false; # No tests
-    buildInputs = [ glibcLocales ];
-    runtimeDeps = [ curl ];
+  pname = "httpstat";
+  version = "1.3.1";
+  src = fetchFromGitHub {
+    owner = "reorx";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-zUdis41sQpJ1E3LdNwaCVj6gexi/Rk21IBUgoFISiDM=";
+  };
+  doCheck = false; # No tests
+  buildInputs = [ glibcLocales ];
+  runtimeDeps = [ curl ];
 
-    LC_ALL = "en_US.UTF-8";
+  LC_ALL = "en_US.UTF-8";
 
-    meta = {
-      description = "curl statistics made simple";
-      homepage = "https://github.com/reorx/httpstat";
-      license = stdenv.lib.licenses.mit;
-      maintainers = with stdenv.lib.maintainers; [ nequissimus ];
-    };
-  }
+  meta = {
+    description = "curl statistics made simple";
+    homepage = "https://github.com/reorx/httpstat";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ nequissimus ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/i2p/default.nix b/nixpkgs/pkgs/tools/networking/i2p/default.nix
index 4371d37391be..5c209393978f 100644
--- a/nixpkgs/pkgs/tools/networking/i2p/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2p/default.nix
@@ -2,11 +2,11 @@
 
 let wrapper = stdenv.mkDerivation rec {
   pname = "wrapper";
-  version = "3.5.43";
+  version = "3.5.44";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    sha256 = "19cx3854rk7b2056z8pvxnf4simsg5js7czsy2bys7jl6vh2x02b";
+    sha256 = "1iq4j7srzy5p8q3nci9316bnwx4g71jyvzd1i5hp3s8v1k61910g";
   };
 
   buildInputs = [ jdk ];
@@ -32,11 +32,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "i2p";
-  version = "0.9.47";
+  version = "0.9.48";
 
   src = fetchurl {
     url = "https://download.i2p2.de/releases/${version}/i2psource_${version}.tar.bz2";
-    sha256 = "0krcdm73qing7z918wpml9sk6dn0284wps2ghkmlrdaklfkavk6v";
+    sha256 = "0cnm4bwl1gqcx89i96j2qlq6adphy4l72h5whamqwv86n8bmpig8";
   };
 
   buildInputs = [ jdk ant gettext which ];
diff --git a/nixpkgs/pkgs/tools/networking/i2pd/default.nix b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
index 08c40a4ac827..8bf90293a8ec 100644
--- a/nixpkgs/pkgs/tools/networking/i2pd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
@@ -9,13 +9,13 @@ assert upnpSupport -> miniupnpc != null;
 
 stdenv.mkDerivation rec {
   pname = "i2pd";
-  version = "2.33.0";
+  version = "2.35.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "1zsp4pml5pq8p1ipvarnlcfwcscch13iz1gzza5qm0yl01dl9qpk";
+    sha256 = "0bpkgq7srwpjmadsz3nsd14jpr19b1zfrpc074lzjaq15icxxgxc";
   };
 
   buildInputs = with stdenv.lib; [ boost zlib openssl ]
diff --git a/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix b/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix
new file mode 100644
index 000000000000..83b35c098669
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "igmpproxy";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "pali";
+    repo = "igmpproxy";
+    rev = version;
+    sha256 = "13zn4q24drbhpqmcmqh1jg7ind5iqn11wj3xvczlc8w35vyqssyf";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with stdenv.lib; {
+    description = "A daemon that routes multicast using IGMP forwarding";
+    homepage = "https://github.com/pali/igmpproxy/";
+    changelog = "https://github.com/pali/igmpproxy/releases/tag/${version}";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sdier ];
+    # The maintainer is using this on linux, but if you test it on other platforms
+    # please add them here!
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/inadyn/default.nix b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
index 2a551c56768c..f01bffa76da5 100644
--- a/nixpkgs/pkgs/tools/networking/inadyn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = "http://troglobit.com/project/inadyn/";
+    homepage = "https://troglobit.com/project/inadyn/";
     description = "Free dynamic DNS client";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/tools/networking/iperf/3.nix b/nixpkgs/pkgs/tools/networking/iperf/3.nix
index 4910ff21da62..2ca924731466 100644
--- a/nixpkgs/pkgs/tools/networking/iperf/3.nix
+++ b/nixpkgs/pkgs/tools/networking/iperf/3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iperf";
-  version = "3.8.1";
+  version = "3.9";
 
   src = fetchurl {
     url = "https://downloads.es.net/pub/iperf/iperf-${version}.tar.gz";
-    sha256 = "15pdgnan9krf3dijan9in73ir8rcmhk3iw8085d732is4zrq1c75";
+    sha256 = "0f601avdmzpwsa3lbi0ppjhkrdipm5wifhhxy5czf99370k3mdi4";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/networking/kapp/default.nix b/nixpkgs/pkgs/tools/networking/kapp/default.nix
new file mode 100644
index 000000000000..130763385291
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/kapp/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "kapp";
+  version = "0.35.0";
+
+  src = fetchFromGitHub {
+    owner = "vmware-tanzu";
+    repo = "carvel-kapp";
+    rev = "v${version}";
+    sha256 = "1i4hpqpbwqb0yg3rx4z733zfslq3svmahfr39ss1ydylsipl02mg";
+  };
+
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/kapp" ];
+
+  meta = with lib; {
+    description = "CLI tool that encourages Kubernetes users to manage bulk resources with an application abstraction for grouping";
+    homepage = "https://get-kapp.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ brodes ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/kea/default.nix b/nixpkgs/pkgs/tools/networking/kea/default.nix
index 386a3ae280aa..1637827f66ea 100644
--- a/nixpkgs/pkgs/tools/networking/kea/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kea/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, openssl, botan2, log4cplus
 , boost, python3, postgresql, libmysqlclient, gmp, bzip2 }:
 
+let inherit (stdenv) lib; in
+
 stdenv.mkDerivation rec {
   pname = "kea";
   version = "1.5.0-P1";
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--with-pgsql=${postgresql}/bin/pg_config"
-    "--with-mysql=${libmysqlclient}/bin/mysql_config"
+    "--with-mysql=${lib.getDev libmysqlclient}/bin/mysql_config"
   ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/keepalived/default.nix b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
index 11ebe228be88..b773e116d8be 100644
--- a/nixpkgs/pkgs/tools/networking/keepalived/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.1.3";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "1zdfvicpll7a5iw6p12pmdcg8y30mr0j5miycn0nhjp8yzi9hdc5";
+    sha256 = "0zdh3g491mlc0x4g8q09vq62a7pb8n13a39jnfdgrm9k29khn0sj";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/default.nix b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
index 3e7719c40d41..7e6f2c475ca5 100644
--- a/nixpkgs/pkgs/tools/networking/libreswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation rec {
     "-Wno-error=format-truncation"
     "-Wno-error=pointer-compare"
     "-Wno-error=stringop-truncation"
+    # The following flag allows libreswan v3.32 to work with NSS 3.22, see
+    # https://github.com/libreswan/libreswan/issues/334.
+    # This flag should not be needed for libreswan v3.33 (which is not yet released).
+    "-DNSS_PKCS11_2_0_COMPAT=1"
   ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
@@ -82,7 +86,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://libreswan.org";
     description = "A free software implementation of the VPN protocol based on IPSec and the Internet Key Exchange";
-    platforms = platforms.linux ++ platforms.darwin ++ platforms.freebsd;
+    platforms = platforms.linux ++ platforms.freebsd;
     license = licenses.gpl2;
     maintainers = [ maintainers.afranchuk ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/linkchecker/default.nix b/nixpkgs/pkgs/tools/networking/linkchecker/default.nix
index e4f2f1685763..746a99ede59f 100644
--- a/nixpkgs/pkgs/tools/networking/linkchecker/default.nix
+++ b/nixpkgs/pkgs/tools/networking/linkchecker/default.nix
@@ -34,12 +34,14 @@ buildPythonApplication rec {
     sed -i "s/'request.*'/'requests >= 2.2'/" setup.py
   '';
 
+  # test_timeit2 is flakey, and depends sleep being precise to the milisecond
   checkPhase = ''
     ${lib.optionalString stdenv.isDarwin ''
       # network tests fails on darwin
-      rm tests/test_network.py
+      rm tests/test_network.py tests/checker/test_http*.py tests/checker/test_content_allows_robots.py tests/checker/test_noproxy.py
     ''}
-      pytest --ignore=tests/checker/{test_telnet,telnetserver}.py -k 'not TestLoginUrl'
+      pytest --ignore=tests/checker/{test_telnet,telnetserver}.py \
+        -k 'not TestLoginUrl and not test_timeit2'
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/networking/lldpd/default.nix b/nixpkgs/pkgs/tools/networking/lldpd/default.nix
index 8462d907a1f6..229f261c8c3e 100644
--- a/nixpkgs/pkgs/tools/networking/lldpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lldpd/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lldpd";
-  version = "1.0.5";
+  version = "1.0.7";
 
   src = fetchurl {
     url = "https://media.luffy.cx/files/lldpd/${pname}-${version}.tar.gz";
-    sha256 = "16fbqrs3l976gdslx647nds8x7sz4h5h3h4l4yxzrayvyh9b5lrd";
+    sha256 = "1qc7k83zpcq27hpjv1lmgrj4la2zy1gspwk5jas43j49siwr3xqx";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/networking/mailutils/default.nix b/nixpkgs/pkgs/tools/networking/mailutils/default.nix
index 9cf5f91cd6d9..ff7d4176bd2e 100644
--- a/nixpkgs/pkgs/tools/networking/mailutils/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mailutils/default.nix
@@ -3,13 +3,12 @@
 , python3, gss, libmysqlclient, system-sendmail }:
 
 stdenv.mkDerivation rec {
-  name = "${project}-${version}";
-  project = "mailutils";
-  version = "3.9";
+  pname = "mailutils";
+  version = "3.10";
 
   src = fetchurl {
-    url = "mirror://gnu/${project}/${name}.tar.xz";
-    sha256 = "1g1xf2lal04nsnf1iym9n9n0wxjpqbcr9nysxpm98v4pniinqwsz";
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9";
   };
 
   postPatch = ''
@@ -18,9 +17,6 @@ stdenv.mkDerivation rec {
       */Makefile{.in,.am}
     sed -i 's:/usr/lib/mysql:${libmysqlclient}/lib/mysql:' configure.ac
     sed -i 's/0\.18/0.19/' configure.ac
-    sed -i -e 's:mysql/mysql.h:mysql.h:' \
-           -e 's:mysql/errmsg.h:errmsg.h:' \
-      sql/mysql.c
   '';
 
   nativeBuildInputs = [
@@ -35,6 +31,18 @@ stdenv.mkDerivation rec {
   patches = [
     ./fix-build-mb-len-max.patch
     ./path-to-cat.patch
+    # mailquota.c:277: undefined reference to `get_size'
+    # https://lists.gnu.org/archive/html/bug-mailutils/2020-08/msg00002.html
+    (fetchpatch {
+      url = "http://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=37713b42a501892469234b90454731d8d8b7a3e6";
+      sha256 = "1mwj77nxvf4xvqf26yjs59jyksnizj0lmbymbzg4kmqynzq3zjny";
+    })
+    # Fix cross-compilation
+    # https://lists.gnu.org/archive/html/bug-mailutils/2020-11/msg00038.html
+    (fetchpatch {
+      url = "https://lists.gnu.org/archive/html/bug-mailutils/2020-11/txtiNjqcNpqOk.txt";
+      sha256 = "0ghzqb8qx2q8cffbvqzw19mivv7r5f16whplzhm7hdj0j2i6xf6s";
+    })
   ];
 
   enableParallelBuilding = false;
diff --git a/nixpkgs/pkgs/tools/networking/maxscale/default.nix b/nixpkgs/pkgs/tools/networking/maxscale/default.nix
index 48590a9e3059..9036e07e7f3f 100644
--- a/nixpkgs/pkgs/tools/networking/maxscale/default.nix
+++ b/nixpkgs/pkgs/tools/networking/maxscale/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-     description = ''MaxScale database proxy extends MariaDB Server's high availability'';
+     description = "MaxScale database proxy extends MariaDB Server's high availability";
      homepage = "https://mariadb.com/products/technology/maxscale";
      license = licenses.bsl11;
      platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
index 4f943f2cec61..7a5e8b8c5ac1 100644
--- a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://bukkit.org/threads/admin-rcon-mcrcon-remote-connection-client-for-minecraft-servers.70910/";
-    description = "Minecraft console client with Bukkit coloring support.";
+    description = "Minecraft console client with Bukkit coloring support";
     longDescription = ''
       Mcrcon is a powerful Minecraft RCON terminal client with Bukkit coloring support.
       It is well suited for remote administration and to be used as part of automated server maintenance scripts.
diff --git a/nixpkgs/pkgs/tools/networking/megatools/default.nix b/nixpkgs/pkgs/tools/networking/megatools/default.nix
index 43bbc62be954..2a957c8a3f41 100644
--- a/nixpkgs/pkgs/tools/networking/megatools/default.nix
+++ b/nixpkgs/pkgs/tools/networking/megatools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, autoreconfHook, pkg-config, glib, fuse, curl, glib-networking
-, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }:
+, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsNoGuiHook }:
 
 stdenv.mkDerivation rec {
   pname = "megatools";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config wrapGAppsHook asciidoc libxml2
+    autoreconfHook pkg-config wrapGAppsNoGuiHook asciidoc libxml2
     docbook_xsl docbook_xml_dtd_45 libxslt
   ];
   buildInputs = [ glib glib-networking curl ]
diff --git a/nixpkgs/pkgs/tools/networking/minidlna/default.nix b/nixpkgs/pkgs/tools/networking/minidlna/default.nix
index 6a14b5f1c82d..d425e16782b3 100644
--- a/nixpkgs/pkgs/tools/networking/minidlna/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minidlna/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, ffmpeg_3, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite, gettext }:
 
-let version = "1.2.1"; in
+let version = "1.3.0"; in
 
 stdenv.mkDerivation {
   pname = "minidlna";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/minidlna/minidlna/${version}/minidlna-${version}.tar.gz";
-    sha256 = "1v1ffhmaqxpvf2vv4yyvjsks4skr9y088853awsh7ixh7ai8nf37";
+    sha256 = "0qrw5ny82p5ybccw4pp9jma8nwl28z927v0j2561m0289imv1na7";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/networking/minio-client/default.nix b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
index 505ecc4c2224..e452719a494a 100644
--- a/nixpkgs/pkgs/tools/networking/minio-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2020-08-08T02-33-58Z";
+  version = "2020-11-25T23-04-07Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "15bkl3q0jidrwy04l0cdmha43r9wlxmlqkhmwz98b57rjrq6grql";
+    sha256 = "0r4za7jnwmh2wna5l4iv5pz6s5c62f7v4hmbv7misff9qbk4p4k7";
   };
 
-  vendorSha256 = "1fsx8zl2qkyf1gx3s6giccd86xawx9d1h4jdnyn1m36clsq9jkpc";
+  vendorSha256 = "0zracgqwhqs3gabrqqm8fm3hyicaadcinsjp5qgprjwd9a3c1zfv";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
index c3981b902f2b..7bad593e4dfa 100644
--- a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.12.10";
+  version = "1.14.8";
 
   package = "ModemManager";
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
-    sha256 = "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj";
+    sha256 = "15cjy7zzsxagx649vz0990avin47vpgdmm4ss2msggdla6x2c6py";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/mosh/default.nix b/nixpkgs/pkgs/tools/networking/mosh/default.nix
index 26c9035cd79b..dba75400f6fa 100644
--- a/nixpkgs/pkgs/tools/networking/mosh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mosh/default.nix
@@ -3,10 +3,11 @@
 , libutempter ? null, withUtempter ? stdenv.isLinux }:
 
 stdenv.mkDerivation rec {
-  name = "mosh-1.3.2";
+  pname = "mosh";
+  version = "1.3.2";
 
   src = fetchurl {
-    url = "https://mosh.org/${name}.tar.gz";
+    url = "https://mosh.org/mosh-${version}.tar.gz";
     sha256 = "05hjhlp6lk8yjcy59zywpf0r6s0h0b9zxq0lw66dh9x8vxrhaq6s";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/mozwire/default.nix b/nixpkgs/pkgs/tools/networking/mozwire/default.nix
index 6264672cfaa1..58afc833ea0e 100644
--- a/nixpkgs/pkgs/tools/networking/mozwire/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mozwire/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "MozWire";
-  version = "0.5.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "NilsIrl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07icgswmfvrvlm3mkm78pbbk6m2hb73j7ffj7r77whzb11v027v1";
+    sha256 = "01bj3c34x9ywxygsz4rdyw5gc9cz8x6zzl5fd7db8qy8bx2lhlr9";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
-  
-  cargoSha256 = "10lhz7bdlfqj7wgsqnsxdfskms33pvj176fhf4kwci7nb8vgai4b";
+
+  cargoSha256 = "0yxnpnxwis46wz4j5rjzyyzrvh94hn8vzxmmrcmrdz3gkakg77hg";
 
   meta = with stdenv.lib; {
     description = "MozillaVPN configuration manager giving Linux, macOS users (among others), access to MozillaVPN";
diff --git a/nixpkgs/pkgs/tools/networking/nebula/default.nix b/nixpkgs/pkgs/tools/networking/nebula/default.nix
index b3cd0d830245..61f0a00a9b81 100644
--- a/nixpkgs/pkgs/tools/networking/nebula/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nebula/default.nix
@@ -38,7 +38,7 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/slackhq/nebula";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
index f5b12a6cf373..c02275ef5b81 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
@@ -62,6 +62,13 @@ in stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
+
+    # Fix build
+    # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/620
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/54e25f23f53af889703dfc50d51a8afeeea8a439.patch";
+      sha256 = "oy/AZhOC15anWeIMYJfDBcITqJ7CiU715he68XvPRxk=";
+    })
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/dmenu/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/dmenu/default.nix
index 4204ba1fcdba..e17d4ebc0719 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/dmenu/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/dmenu/default.nix
@@ -4,13 +4,13 @@
 let inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "networkmanager_dmenu";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = "networkmanager-dmenu";
-    rev = "${version}";
-    sha256 = "1msk4zkm4042av61rgbwc62i62vnv9py93fm1bczmw0b1f54qpmk";
+    rev = version;
+    sha256 = "1liidqh8c33pxyb07qyj0jkd0fdak73g9r2iwiq62vfzrpik09k0";
   };
 
   buildInputs = [ glib python pygobject3 gobject-introspection networkmanager python3Packages.wrapPython ];
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/libnma/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/libnma/default.nix
index 7d7889f9a5bc..d50ccc6517b4 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/libnma/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/libnma/default.nix
@@ -19,6 +19,7 @@
 , gcr
 , glib
 , substituteAll
+, lib
 }:
 
 stdenv.mkDerivation rec {
@@ -61,7 +62,7 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dgcr=${if withGnome then "true" else "false"}"
+    "-Dgcr=${lib.boolToString withGnome}"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/sstp/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/sstp/default.nix
new file mode 100644
index 000000000000..d5195cba3453
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/network-manager/sstp/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, autoreconfHook
+, fetchFromGitHub
+, fetchpatch
+, file
+, glib
+, gnome3
+, gtk3
+, intltool
+, libnma
+, libsecret
+, networkmanager
+, pkgconfig
+, ppp
+, sstp
+, substituteAll
+, withGnome ? true }:
+
+let
+  pname = "NetworkManager-sstp";
+  version = "unstable-2020-04-20";
+in stdenv.mkDerivation {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "enaess";
+    repo = "network-manager-sstp";
+    rev = "735d8ca078f933e085029f60a737e3cf1d8c29a8";
+    sha256 = "0aahfhy2ch951kzj6gnd8p8hv2s5yd5y10wrmj68djhnx2ml8cd3";
+  };
+
+  buildInputs = [ sstp networkmanager glib ppp ]
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
+
+  nativeBuildInputs = [ file intltool autoreconfHook pkgconfig ];
+
+  postPatch = ''
+    sed -i 's#/sbin/pppd#${ppp}/bin/pppd#' src/nm-sstp-service.c
+    sed -i 's#/sbin/sstpc#${sstp}/bin/sstpc#' src/nm-sstp-service.c
+  '';
+
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
+  preConfigure = "intltoolize";
+  configureFlags = [
+    "--without-libnm-glib"
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--enable-absolute-paths"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-sstp";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "NetworkManager's sstp plugin";
+    inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/nfdump/default.nix b/nixpkgs/pkgs/tools/networking/nfdump/default.nix
index 11ba442393dd..0c9bc41099f2 100644
--- a/nixpkgs/pkgs/tools/networking/nfdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nfdump/default.nix
@@ -2,7 +2,7 @@
 , autoconf, automake, libtool, pkg-config
 , bzip2, libpcap, flex, yacc }:
 
-let version = "1.6.21"; in
+let version = "1.6.22"; in
 
 stdenv.mkDerivation {
   pname = "nfdump";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "phaag";
     repo = "nfdump";
     rev = "v${version}";
-    sha256 = "1ifxnpyzyn8nd6n44pjcw0rwck392nzj1gwa4zzqvvgzj477m6ha";
+    sha256 = "14x2k85ard1kp99hhd90zsmvyw24g03m84rn13gb4grm9gjggzrj";
   };
 
   nativeBuildInputs = [ autoconf automake flex libtool pkg-config yacc ];
diff --git a/nixpkgs/pkgs/tools/networking/nfstrace/default.nix b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
index 88510b9b8876..6377f276af3f 100644
--- a/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
@@ -1,4 +1,4 @@
-{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }:
+{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv, libtirpc }:
 
 stdenv.mkDerivation rec {
   pname = "nfstrace";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "epam";
     repo = "nfstrace";
-    rev = "${version}";
+    rev = version;
     sha256 = "1djsyn7i3xp969rnmsdaf5vwjiik9wylxxrc5nm7by00i76c1vsg";
   };
 
@@ -23,13 +23,14 @@ stdenv.mkDerivation rec {
       --replace "-Wno-braced-scalar-init" ""
   '';
 
-  buildInputs = [ json_c libpcap ncurses ];
+  buildInputs = [ json_c libpcap ncurses libtirpc ];
   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" "-Wno-error=address-of-packed-member" ];
+  NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" "-Wno-error=address-of-packed-member" "-I${libtirpc.dev}/include/tirpc" ];
+  NIX_LDFLAGS = [ "-ltirpc" ];
 
   doCheck = false; # requires network access
 
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
index d9c1acc374c0..3c1e0f498fba 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
@@ -35,10 +35,7 @@ stdenv.mkDerivation {
   passthru.updateScript = ./update.sh;
 
   meta = {
-    description = "ngrok";
-    longDescription = ''
-      Allows you to expose a web server running on your local machine to the internet.
-    '';
+    description = "Allows you to expose a web server running on your local machine to the internet";
     homepage = "https://ngrok.com/";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
diff --git a/nixpkgs/pkgs/tools/networking/nxdomain/default.nix b/nixpkgs/pkgs/tools/networking/nxdomain/default.nix
new file mode 100644
index 000000000000..073ac48b8d34
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/nxdomain/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonApplication, fetchPypi, dnspython, pytestCheckHook }:
+
+buildPythonApplication rec {
+  pname = "nxdomain";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1z9iffggqq2kw6kpnj30shi98cg0bkvkwpglmhnkgwac6g55n2zn";
+  };
+
+  propagatedBuildInputs = [ dnspython ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  postCheck = ''
+    echo example.org > simple.list
+    python -m nxdomain --format dnsmasq --out dnsmasq.conf --simple ./simple.list
+    grep -q 'address=/example.org/' dnsmasq.conf
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/zopieux/nxdomain";
+    description = "A domain (ad) block list creator";
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ zopieux ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ocserv/default.nix b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
index dea0d10a277f..daaa483149a2 100644
--- a/nixpkgs/pkgs/tools/networking/ocserv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://gitlab.com/openconnect/ocserv";
     license = licenses.gpl2;
-    description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client.";
+    description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client";
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/olsrd/default.nix b/nixpkgs/pkgs/tools/networking/olsrd/default.nix
index bc5a03580195..3f83081df5d0 100644
--- a/nixpkgs/pkgs/tools/networking/olsrd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/olsrd/default.nix
@@ -1,14 +1,25 @@
-{ stdenv, fetchurl, bison, flex }:
+{ stdenv, fetchFromGitHub, fetchpatch, bison, flex }:
 
 stdenv.mkDerivation rec {
   pname = "olsrd";
-  version = "0.9.6.1";
+  version = "0.9.8";
 
-  src = fetchurl {
-    url = "http://www.olsr.org/releases/0.9/${pname}-${version}.tar.bz2";
-    sha256 = "9cac290e9bff5fc7422110b9ccd972853f10962c962d2f31a63de9c6d1520612";
+  src = fetchFromGitHub {
+    owner = "OLSR";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xk355dm5pfjil1j4m724vkdnc178lv6hi6s1g0xgpd59avbx90j";
   };
 
+  patches = [
+    # remove if there's ever an upstream release that incorporates
+    # https://github.com/OLSR/olsrd/pull/87
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/openwrt-routing/packages/b3897386771890ba1b15f672c2fed58630beedef/olsrd/patches/011-bison.patch";
+      sha256 = "04cl4b8dpr1yjs7wa94jcszmkdzpnrn719a5m9nhm7lvfrn1rzd0";
+    })
+  ];
+
   buildInputs = [ bison flex ];
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/networking/oneshot/default.nix b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
index f02370ab69d5..0f886fda03c9 100644
--- a/nixpkgs/pkgs/tools/networking/oneshot/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "oneshot";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "raphaelreyna";
     repo = "oneshot";
     rev = "v${version}";
-    sha256 = "11xmvqj7md970rjhkg1zj2w6yqpw6cj83aw37a82sfdn90kyhg9d";
+    sha256 = "047mncv9abs4xj7bh9lhc3wan37cldjjyrpkis7pvx6zhzml74kf";
   };
 
   vendorSha256 = "1cxr96yrrmz37r542mc5376jll9lqjqm18k8761h9jqfbzmh9rkp";
diff --git a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
index 2b09fe901d07..4630342cf8ae 100644
--- a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.2";
+  version = "4.3.1";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "1pafv432ll3pp52580pbnk0gnrm6byl5fkrf1rarhxfkpkr82yif";
+    sha256 = "1h9infspwbij9ahb376vc4ijakrqb7xww573ccrqvchxphbcsf7l";
   };
 
   phases = [ "installPhase" ];
@@ -31,4 +31,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.shou ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
index 40fc9e906625..a8ce80f98382 100644
--- a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
@@ -1,34 +1,48 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, openssl, ppp, pkgconfig }:
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
+, openssl, ppp
+, systemd ? null }:
 
-with stdenv.lib;
+let
+  withSystemd = stdenv.isLinux && !(systemd == null);
 
-let repo = "openfortivpn";
-    version = "1.14.1";
-
-in stdenv.mkDerivation {
-  name = "${repo}-${version}";
+in
+stdenv.mkDerivation rec {
+  pname = "openfortivpn";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "adrienverge";
-    inherit repo;
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1r9lp19fmqx9dw33j5967ydijbnacmr80mqnhbbxyqiw4k5c10ds";
+    sha256 = "1qsfgpxg553s8rc9cyrc4k96z0pislxsdxb9wyhp8fdprkak2mw2";
   };
 
+  # we cannot write the config file to /etc and as we don't need the file, so drop it
+  postPatch = ''
+    substituteInPlace Makefile.am \
+      --replace '$(DESTDIR)$(confdir)' /tmp
+  '';
+
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ openssl ppp ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=unused-function";
+  buildInputs = [
+    openssl ppp
+  ]
+  ++ lib.optional withSystemd systemd;
 
-  configureFlags = [ "--with-pppd=${ppp}/bin/pppd" ];
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--with-pppd=${ppp}/bin/pppd"
+  ]
+  ++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Client for PPP+SSL VPN tunnel services";
     homepage = "https://github.com/adrienverge/openfortivpn";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.madjar ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ madjar ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openntpd/default.nix b/nixpkgs/pkgs/tools/networking/openntpd/default.nix
index 7cbba9bfbf6b..aa0a3926b141 100644
--- a/nixpkgs/pkgs/tools/networking/openntpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openntpd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openntpd";
-  version = "6.2p3";
+  version = "6.8p1";
 
   src = fetchurl {
     url = "mirror://openbsd/OpenNTPD/${pname}-${version}.tar.gz";
-    sha256 = "0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv";
+    sha256 = "0ijsylc7a4jlpxsqa0jq1w1c7333id8pcakzl7a5749ria1xp0l5";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/networking/openssh/default.nix b/nixpkgs/pkgs/tools/networking/openssh/default.nix
index 64e6757891e3..ef98f4821405 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, pkgs
 , fetchurl
 , fetchpatch
 , zlib
@@ -19,13 +20,13 @@
 
 let
 
-  version = "8.3p1";
+  version = "8.4p1";
 
   # **please** update this patch when you update to a new openssh release.
   gssapiPatch = fetchpatch {
     name = "openssh-gssapi.patch";
-    url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch";
-    sha256 = "0j22ccg6msyi88mpsb6x0il5cg8v2b7qdah57ninbwx5isyld80l";
+    url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-2/debian/patches/gssapi.patch";
+    sha256 = "1z1ckzimlkm1dmr9f5fqjnjg28gsqcwx6xka0klak857548d2lp2";
   };
 
 in
@@ -37,12 +38,12 @@ stdenv.mkDerivation rec {
   src = if hpnSupport then
       fetchurl {
         url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-${replaceStrings [ "." "p" ] [ "_" "_P" ] version}.tar.gz";
-        sha256 = "1ssdwgdxnvjwigisqi8c053znps5a4jf7bzsi99y0xyfzbw0x55k";
+        sha256 = "1x2afjy1isslbg7qlvhhs4zhj2c8q2h1ljz0fc5b4h9pqcm9j540";
       }
     else
       fetchurl {
         url = "mirror://openbsd/OpenSSH/portable/${pname}-${version}.tar.gz";
-        sha256 = "1cl74ghi9y21dc3f4xa0qamb7dhwacbynh1ks9syprrg8zhgpgpj";
+        sha256 = "091b3pxdlj47scxx6kkf4agkx8c8sdacdxx8m1dw1cby80pd40as";
       };
 
   patches =
@@ -53,6 +54,9 @@ stdenv.mkDerivation rec {
       ./dont_create_privsep_path.patch
 
       ./ssh-keysign.patch
+
+      # See https://github.com/openssh/openssh-portable/pull/206
+      ./ssh-copy-id-fix-eof.patch
     ]
     ++ optional withGssapiPatches (assert withKerberos; gssapiPatch);
 
@@ -63,7 +67,9 @@ stdenv.mkDerivation rec {
       substituteInPlace Makefile.in --replace '$(INSTALL) -m 4711' '$(INSTALL) -m 0711'
     '';
 
-  nativeBuildInputs = [ pkgconfig ] ++ optional (hpnSupport || withGssapiPatches) autoreconfHook;
+  nativeBuildInputs = [ pkgconfig ]
+    ++ optional (hpnSupport || withGssapiPatches) autoreconfHook
+    ++ optional withKerberos pkgs.kerberos.dev;
   buildInputs = [ zlib openssl libedit pam ]
     ++ optional withFIDO libfido2
     ++ optional withKerberos kerberos;
@@ -72,6 +78,22 @@ stdenv.mkDerivation rec {
     # Setting LD causes `configure' and `make' to disagree about which linker
     # to use: `configure' wants `gcc', but `make' wants `ld'.
     unset LD
+  ''
+  # Upstream build system does not support static build, so we fall back
+  # on fragile patching of configure script.
+  #
+  # libedit is found by pkgconfig, but without --static flag, required
+  # to get also transitive dependencies for static linkage, hence sed
+  # expression.
+  #
+  # Kerberos can be found either by krb5-config or by fall-back shell
+  # code in openssh's configure.ac. Neither of them support static
+  # build, but patching code for krb5-config is simpler, so to get it
+  # into PATH, kerberos.dev is added into buildInputs.
+  + optionalString stdenv.hostPlatform.isStatic ''
+    sed -i "s,PKGCONFIG --libs,PKGCONFIG --libs --static,g" configure
+    sed -i 's#KRB5CONF --libs`#KRB5CONF --libs` -lkrb5support -lkeyutils#g' configure
+    sed -i 's#KRB5CONF --libs gssapi`#KRB5CONF --libs gssapi` -lkrb5support -lkeyutils#g' configure
   '';
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
diff --git a/nixpkgs/pkgs/tools/networking/openssh/ssh-copy-id-fix-eof.patch b/nixpkgs/pkgs/tools/networking/openssh/ssh-copy-id-fix-eof.patch
new file mode 100644
index 000000000000..4ba2b562f556
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/openssh/ssh-copy-id-fix-eof.patch
@@ -0,0 +1,21 @@
+diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id
+index 392f64f..a769077 100644
+--- a/contrib/ssh-copy-id
++++ b/contrib/ssh-copy-id
+@@ -247,7 +247,7 @@ installkeys_sh() {
+   #    the -z `tail ...` checks for a trailing newline. The echo adds one if was missing
+   #    the cat adds the keys we're getting via STDIN
+   #    and if available restorecon is used to restore the SELinux context
+-  INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF)
++  INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF
+ 	cd;
+ 	umask 077;
+ 	mkdir -p $(dirname "${AUTH_KEY_FILE}") &&
+@@ -258,6 +258,7 @@ installkeys_sh() {
+ 	  restorecon -F .ssh ${AUTH_KEY_FILE};
+ 	fi
+ EOF
++  )
+ 
+   # to defend against quirky remote shells: use 'exec sh -c' to get POSIX;
+   printf "exec sh -c '%s'" "${INSTALLKEYS_SH}"
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
index c5a15c2f87a8..04ac97003102 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
@@ -1,14 +1,23 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, makeWrapper
-, iproute, lzo, openssl, pam
-, useSystemd ? stdenv.isLinux, systemd ? null, utillinux ? null
-, pkcs11Support ? false, pkcs11helper ? null,
+{ stdenv
+, fetchurl
+, pkg-config
+, makeWrapper
+, runtimeShell
+, iproute ? null
+, lzo
+, openssl
+, pam
+, useSystemd ? stdenv.isLinux
+, systemd ? null
+, util-linux ? null
+, pkcs11Support ? false
+, pkcs11helper ? null
 }:
 
 assert useSystemd -> (systemd != null);
 assert pkcs11Support -> (pkcs11helper != null);
 
 with stdenv.lib;
-
 let
   # Check if the script needs to have other binaries wrapped when changing this.
   update-resolved = fetchurl {
@@ -16,49 +25,68 @@ let
     sha256 = "021qzv1k0zxgv1rmyfpqj3zlzqr28xa7zff1n7vrbjk36ijylpsc";
   };
 
-in stdenv.mkDerivation rec {
-  pname = "openvpn";
-  version = "2.4.9";
+  generic = { version, sha256 }:
+    let
+      withIpRoute = stdenv.isLinux && (versionOlder version "2.5");
+    in
+    stdenv.mkDerivation
+      rec {
+        pname = "openvpn";
+        inherit version;
 
-  src = fetchurl {
-    url = "https://swupdate.openvpn.net/community/releases/${pname}-${version}.tar.xz";
-    sha256 = "1qpbllwlha7cffsd5dlddb8rl22g9rar5zflkz1wrcllhvfkl7v4";
-  };
+        src = fetchurl {
+          url = "https://swupdate.openvpn.net/community/releases/${pname}-${version}.tar.xz";
+          inherit sha256;
+        };
+
+        nativeBuildInputs = [ makeWrapper pkg-config ];
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
+        buildInputs = [ lzo openssl ]
+          ++ optional stdenv.isLinux pam
+          ++ optional withIpRoute iproute
+          ++ optional useSystemd systemd
+          ++ optional pkcs11Support pkcs11helper;
 
-  buildInputs = [ lzo openssl ]
-                  ++ optionals stdenv.isLinux [ pam iproute ]
-                  ++ optional useSystemd systemd
-                  ++ optional pkcs11Support pkcs11helper;
+        configureFlags = optionals withIpRoute [
+          "--enable-iproute2"
+          "IPROUTE=${iproute}/sbin/ip"
+        ]
+        ++ optional useSystemd "--enable-systemd"
+        ++ optional pkcs11Support "--enable-pkcs11"
+        ++ optional stdenv.isDarwin "--disable-plugin-auth-pam";
 
-  configureFlags = optionals stdenv.isLinux [
-    "--enable-iproute2"
-    "IPROUTE=${iproute}/sbin/ip" ]
-    ++ optional useSystemd "--enable-systemd"
-    ++ optional pkcs11Support "--enable-pkcs11"
-    ++ optional stdenv.isDarwin "--disable-plugin-auth-pam";
+        postInstall = ''
+          mkdir -p $out/share/doc/openvpn/examples
+          cp -r sample/sample-config-files/ $out/share/doc/openvpn/examples
+          cp -r sample/sample-keys/ $out/share/doc/openvpn/examples
+          cp -r sample/sample-scripts/ $out/share/doc/openvpn/examples
+        '' + optionalString useSystemd ''
+          install -Dm555 ${update-resolved} $out/libexec/update-systemd-resolved
+          wrapProgram $out/libexec/update-systemd-resolved \
+            --prefix PATH : ${makeBinPath [ runtimeShell iproute systemd util-linux ]}
+        '';
 
-  postInstall = ''
-    mkdir -p $out/share/doc/openvpn/examples
-    cp -r sample/sample-config-files/ $out/share/doc/openvpn/examples
-    cp -r sample/sample-keys/ $out/share/doc/openvpn/examples
-    cp -r sample/sample-scripts/ $out/share/doc/openvpn/examples
-  '' + optionalString useSystemd ''
-    install -Dm555 ${update-resolved} $out/libexec/update-systemd-resolved
-    wrapProgram $out/libexec/update-systemd-resolved \
-      --prefix PATH : ${makeBinPath [ stdenv.shell iproute systemd utillinux ]}
-  '';
+        enableParallelBuilding = true;
 
-  enableParallelBuilding = true;
+        meta = with stdenv.lib; {
+          description = "A robust and highly flexible tunneling application";
+          downloadPage = "https://openvpn.net/community-downloads/";
+          homepage = "https://openvpn.net/";
+          license = licenses.gpl2;
+          maintainers = with maintainers; [ viric peterhoeg ];
+          platforms = platforms.unix;
+        };
+      };
+
+in
+{
+  openvpn_24 = generic {
+    version = "2.4.9";
+    sha256 = "1qpbllwlha7cffsd5dlddb8rl22g9rar5zflkz1wrcllhvfkl7v4";
+  };
 
-  meta = with stdenv.lib; {
-    description = "A robust and highly flexible tunneling application";
-    downloadPage = "https://openvpn.net/community-downloads/";
-    homepage = "https://openvpn.net/";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ viric ];
-    platforms = platforms.unix;
-    updateWalker = true;
+  openvpn = generic {
+    version = "2.5.0";
+    sha256 = "sha256-AppCbkTWVstOEYkxnJX+b8mGQkdyT1WZ2Z35xMNHj70=";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/nixpkgs/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
index d73b8e911b9d..f50d17eaf7de 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, makeWrapper,  coreutils, gawk, utillinux }:
+{ stdenv, fetchgit, makeWrapper,  coreutils, gawk, util-linux }:
 
 stdenv.mkDerivation {
   name = "openvpn-learnaddress-19b03c3";
@@ -9,13 +9,13 @@ stdenv.mkDerivation {
     sha256 = "16pcyvyhwsx34i0cjkkx906lmrwdd9gvznvqdwlad4ha8l8f8z42";
   };
 
-  buildInputs = [ makeWrapper coreutils gawk utillinux ];
+  buildInputs = [ makeWrapper coreutils gawk util-linux ];
 
   installPhase = ''
     install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress
 
     wrapProgram $out/libexec/openvpn/openvpn-learnaddress \
-        --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk utillinux ]}
+        --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk util-linux ]}
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix b/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
index 4d18372363b6..1a192ce6688a 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , makeWrapper
-, iproute, systemd, coreutils, utillinux }:
+, iproute, systemd, coreutils, util-linux }:
 
 stdenv.mkDerivation rec {
   pname = "update-systemd-resolved";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     wrapProgram $out/libexec/openvpn/update-systemd-resolved \
-      --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils utillinux ]}
+      --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils util-linux ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix b/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
index 264c6fd4e165..6ecc9f7ba12b 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
+++ b/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
@@ -10,28 +10,15 @@ assert client -> libX11 != null;
 
 stdenv.mkDerivation rec {
   pname = "amule";
-  version = "2.3.2";
+  version = "unstable-20201006";
 
   src = fetchFromGitHub {
     owner = "amule-project";
     repo = "amule";
-    rev = version;
-    sha256 = "010wxm6g9f92x6fympj501zbnjka32rzbx0sk3a2y4zpih5d2nsn";
+    rev = "6f8951527eda670c7266984ce476061bfe8867fc";
+    sha256 = "12b44b6hz3mb7nsn6xhzvm726xs06xcim013i1appif4dr8njbx1";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://patch-diff.githubusercontent.com/raw/amule-project/amule/pull/135.patch";
-      sha256 = "1n24r1j28083b8ipbnh1nf6i4j6vx59pdkfl1c0g6bb4psx9wvvi";
-      name = "libupnp_18.patch";
-    })
-    (fetchpatch {
-      name = "amule-cryptopp_6.patch";
-      url = "https://github.com/amule-project/amule/commit/27c13f3e622b8a3eaaa05bb62b0149604bdcc9e8.patch";
-      sha256 = "0kq095gi3xl665wr864zlhp5f3blk75pr725yany8ilzcwrzdrnm";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/libs/ec/file_generator.pl \
       --replace /usr/bin/perl ${perl}/bin/perl
diff --git a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
index e4322242e0b6..2b1467cd3485 100644
--- a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
@@ -1,24 +1,36 @@
-{ stdenv, fetchFromGitHub, bison, flex }:
-stdenv.mkDerivation {
-  version = "1.0";
+{ stdenv, fetchFromGitHub, bison, flex, cmake, libpcap }:
+stdenv.mkDerivation rec {
   pname = "packetdrill";
+  version = "unstable-2020-08-22";
+
   src = fetchFromGitHub {
     owner = "google";
     repo = "packetdrill";
-    rev = "58a7865c47e3a71e92ca0e4cc478c320e1c35f82";
-    sha256 = "09sqiakmn63idfjhy2ddf1456sfhi8yhsbp8lxvc1yfjikjxwwbc";
+    rev = "68a34fa73cf221e5f52d6fa4f203bcd93062be1b";
+    sha256 = "0djkwb6l2959f44d98vwb092rghf0qmii8391vrpxqb99j6pv4h6";
   };
   setSourceRoot = ''
     export sourceRoot=$(realpath */gtests/net/packetdrill)
   '';
+
   NIX_CFLAGS_COMPILE = [
     "-Wno-error=unused-result"
     "-Wno-error=stringop-truncation"
     "-Wno-error=address-of-packed-member"
   ];
-  nativeBuildInputs = [ bison flex ];
-  patches = [ ./nix.patch ];
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ bison flex cmake libpcap ];
+  buildInputs = [ libpcap ];
+
+  installPhase = ''
+    install -m 0755 -t $out/bin -D \
+      packetdrill \
+      packet_parser_test \
+      packet_to_string_test \
+      checksum_test
+    mkdir -p $out/share
+    cp -r ../tests $out/share/packetdrill-tests
+  '';
+
   meta = {
     description = "Quick, precise tests for entire TCP/UDP/IPv4/IPv6 network stacks";
     homepage = "https://github.com/google/packetdrill";
diff --git a/nixpkgs/pkgs/tools/networking/packetdrill/nix.patch b/nixpkgs/pkgs/tools/networking/packetdrill/nix.patch
deleted file mode 100644
index 6bad14421b98..000000000000
--- a/nixpkgs/pkgs/tools/networking/packetdrill/nix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/gtests/net/packetdrill/Makefile.common b/gtests/net/packetdrill/Makefile.common
-index 0ec741f..bf1cbb1 100644
---- a/Makefile.common
-+++ b/Makefile.common
-@@ -33,7 +33,7 @@ packetdrill-lib := \
- packetdrill-objs := packetdrill.o $(packetdrill-lib)
- 
- packetdrill: $(packetdrill-objs)
--	$(CC) -o packetdrill -g -static $(packetdrill-objs) $(packetdrill-ext-libs)
-+	$(CC) -o packetdrill -g $(packetdrill-objs) $(packetdrill-ext-libs)
- 
- test-bins := checksum_test packet_parser_test packet_to_string_test
- tests: $(test-bins)
-@@ -43,6 +43,10 @@ tests: $(test-bins)
- 
- binaries: packetdrill $(test-bins)
- 
-+install: packetdrill $(test-bins)
-+	mkdir -p ${out}/bin
-+	cp -vi $^ ${out}/bin
-+
- checksum_test-objs := $(packetdrill-lib) checksum_test.o
- checksum_test: $(checksum_test-objs)
- 	$(CC) -o checksum_test $(checksum_test-objs) $(packetdrill-ext-libs)
diff --git a/nixpkgs/pkgs/tools/networking/pdsh/default.nix b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
index 9dd1a5581c55..3f00964bfd35 100644
--- a/nixpkgs/pkgs/tools/networking/pdsh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, readline, rsh, ssh }:
+{ stdenv, fetchurl, perl, readline, rsh, ssh, slurm, slurmSupport ? false }:
 
 stdenv.mkDerivation rec {
   name = "pdsh-2.34";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1s91hmhrz7rfb6h3l5k97s393rcm1ww3svp8dx5z8vkkc933wyxl";
   };
 
-  buildInputs = [ perl readline ssh ];
+  buildInputs = [ perl readline ssh ]
+    ++ (stdenv.lib.optional slurmSupport slurm);
 
   preConfigure = ''
     configureFlagsArray=(
@@ -18,6 +19,7 @@ stdenv.mkDerivation rec {
       ${if readline == null then "--without-readline" else "--with-readline"}
       ${if ssh == null then "--without-ssh" else "--with-ssh"}
       ${if rsh == false then "--without-rsh" else "--with-rsh"}
+      ${if slurmSupport then "--with-slurm" else "--without-slurm"}
       "--with-dshgroups"
       "--with-xcpu"
       "--disable-debug"
diff --git a/nixpkgs/pkgs/tools/networking/persepolis/default.nix b/nixpkgs/pkgs/tools/networking/persepolis/default.nix
index ecceed216607..32fb053f811c 100644
--- a/nixpkgs/pkgs/tools/networking/persepolis/default.nix
+++ b/nixpkgs/pkgs/tools/networking/persepolis/default.nix
@@ -62,7 +62,7 @@ buildPythonApplication rec {
   ];
 
   meta = with stdenv.lib; {
-    description = "Persepolis Download Manager is a GUI for aria2.";
+    description = "Persepolis Download Manager is a GUI for aria2";
     homepage = "https://persepolisdm.github.io/";
     license = licenses.gpl3;
     maintainers = [ maintainers.linarcx ];
diff --git a/nixpkgs/pkgs/tools/networking/photon/default.nix b/nixpkgs/pkgs/tools/networking/photon/default.nix
index 22da1320803e..db6917ef0b76 100644
--- a/nixpkgs/pkgs/tools/networking/photon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/photon/default.nix
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
   installPhase = ''
     mkdir -p "$out"/{bin,share/photon}
     cp -R photon.py core plugins $out/share/photon
- 
+
     makeWrapper ${python3Packages.python.interpreter} $out/bin/photon \
       --set PYTHONPATH "$PYTHONPATH:$out/share/photon" \
       --add-flags "-O $out/share/photon/photon.py"
@@ -29,6 +29,6 @@ python3Packages.buildPythonApplication rec {
     description = "a lightning fast web crawler which extracts URLs, files, intel & endpoints from a target";
     homepage = "https://github.com/s0md3v/Photon";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ genesis ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pmacct/default.nix b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
index ffecbfcaf425..4ef3cd6345e5 100644
--- a/nixpkgs/pkgs/tools/networking/pmacct/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
@@ -19,7 +19,7 @@ assert withSQLite -> sqlite != null;
 assert withPgSQL -> postgresql != null;
 assert withMysql -> libmysqlclient != null;
 
-let inherit (stdenv.lib) optional; in
+let inherit (stdenv.lib) getDev optional optionalString; in
 
 stdenv.mkDerivation rec {
   version = "1.7.5";
@@ -40,6 +40,9 @@ stdenv.mkDerivation rec {
     ++ optional withPgSQL postgresql
     ++ optional withMysql [ libmysqlclient zlib ];
 
+  MYSQL_CONFIG =
+    optionalString withMysql "${getDev libmysqlclient}/bin/mysql_config";
+
   configureFlags = [
     "--with-pcap-includes=${libpcap}/include"
   ] ++ optional withJansson "--enable-jansson"
@@ -49,7 +52,7 @@ stdenv.mkDerivation rec {
     ++ optional withMysql "--enable-mysql";
 
   meta = with stdenv.lib; {
-    description = "pmacct is a small set of multi-purpose passive network monitoring tools";
+    description = "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]
diff --git a/nixpkgs/pkgs/tools/networking/privoxy/default.nix b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
index 10a25d5bf8b2..8346c862fc6e 100644
--- a/nixpkgs/pkgs/tools/networking/privoxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   pname = "privoxy";
-  version = "3.0.28";
+  version = "3.0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
-    sha256 = "0jl2yav1qzqnaqnnx8i6i53ayckkimcrs3l6ryvv7bda6v08rmxm";
+    sha256 = "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/nixpkgs/pkgs/tools/networking/proxify/default.nix b/nixpkgs/pkgs/tools/networking/proxify/default.nix
new file mode 100644
index 000000000000..4a75b3ca2f17
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/proxify/default.nix
@@ -0,0 +1,31 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "proxify";
+  version = "0.0.3";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = "proxify";
+    rev = "v${version}";
+    sha256 = "15j2q9zrs8bdf72jgldkai3xbi4irk69wyjzv48r74rdgf2k49gn";
+  };
+
+  vendorSha256 = "1x78n88ri8kph827k03x1q06zpbbbp7793xsvc376ljda5n6bqig";
+
+  meta = with stdenv.lib; {
+    description = "Proxy tool for HTTP/HTTPS traffic capture";
+    longDescription = ''
+      This tool supports multiple operations such as request/response dump, filtering
+      and manipulation via DSL language, upstream HTTP/Socks5 proxy. Additionally a
+      replay utility allows to import the dumped traffic (request/responses with correct
+      domain name) into other tools by simply setting the upstream proxy to proxify.
+    '';
+    homepage = "https://github.com/projectdiscovery/proxify";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/proxychains/default.nix b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
index 6f00c7fc8b74..6ace8e139e13 100644
--- a/nixpkgs/pkgs/tools/networking/proxychains/default.nix
+++ b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
     # Temporary work-around; most likely fixed by next upstream release
     sed -i Makefile -e '/-lpthread/a LDFLAGS+=-ldl'
   '';
+  postInstall = ''
+    cp src/proxychains.conf $out/etc
+  '';
 
   meta = {
     description = "Proxifier for SOCKS proxies";
diff --git a/nixpkgs/pkgs/tools/networking/qr-filetransfer/default.nix b/nixpkgs/pkgs/tools/networking/qr-filetransfer/default.nix
deleted file mode 100644
index bb62be6d3e24..000000000000
--- a/nixpkgs/pkgs/tools/networking/qr-filetransfer/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage {
-  pname = "qr-filetransfer-unstable";
-  version = "2018-10-22";
-
-  goPackagePath = "github.com/claudiodangelis/qr-filetransfer";
-
-  src = fetchFromGitHub {
-    rev = "b1e5b91aa2aa469f870c62074e879d46e353edae";
-    owner = "claudiodangelis";
-    repo = "qr-filetransfer";
-    sha256 = "04cl3v6bzpaxp1scpsa42xxa1c1brbplq408bb7nixa98bacj4x1";
-  };
-
-  goDeps = ./deps.nix;
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/claudiodangelis/qr-filetransfer";
-    description = "Transfer files over wifi by scanning a QR code from your terminal";
-    longDescription = ''
-      qr-filetransfer binds a web server to the address of your Wi-Fi network
-      interface on a random port and creates a handler for it. The default
-      handler serves the content and exits the program when the transfer is
-      complete.
-    '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ fgaz ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/qr-filetransfer/deps.nix b/nixpkgs/pkgs/tools/networking/qr-filetransfer/deps.nix
deleted file mode 100644
index a15dd9689433..000000000000
--- a/nixpkgs/pkgs/tools/networking/qr-filetransfer/deps.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
-      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "3fb116b820352b7f0c281308a4d6250c22d94e27";
-      sha256 = "084hplr4n4g5nvp70clljk428hc963460xz0ggcj3xdi4w7hhsvv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "c88d7e5f2e24de48a200a2655ac8a0910be9a0f7";
-      sha256 = "14prmzjlv9z31n6caaaq1kwi4p0mp3x4pv5r7d0575lcampa41jw";
-    };
-  }
-  {
-    goPackagePath = "github.com/mdp/qrterminal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mdp/qrterminal";
-      rev = "6967d3624af633162b77160078e12a4c14174470";
-      sha256 = "1f2zrdv9sw2a6ni1712d27cayr3f8whqagx6f0yglc5gdd9f3i2n";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "a5c9d58dba9a56f97aaa86f55e638b718c5a6c42";
-      sha256 = "02qv5i7yps35p7fa81345qz7k8i73gkigj69anwmpw9rhpmzayf9";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/cheggaaa/pb.v1";
-      rev = "007b75a044e968336a69a6c0c617251ab62ac14c";
-      sha256 = "0l8m5cy6fbir7nrsk985ap7dxp9qlfmh8r73g7j9zg7pfq3lkhad";
-    };
-  }
-  {
-    goPackagePath = "rsc.io/qr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rsc/qr";
-      rev = "ca9a01fc2f9505024045632c50e5e8cd6142fafe";
-      sha256 = "04yx493g0fqp8i59zjxnl4k3s0cl0kr5m8xh0ph8m10r1hkw0xr3";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/networking/qrcp/default.nix b/nixpkgs/pkgs/tools/networking/qrcp/default.nix
new file mode 100644
index 000000000000..bf3b3936edd3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/qrcp/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "qrcp";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "claudiodangelis";
+    repo = "qrcp";
+    rev = version;
+    sha256 = "0rx0pzy7p3dklayr2lkmyfdc00x9v4pd5xnzydbjx12hncnkpw4l";
+  };
+
+  vendorSha256 = "0iffy43x3njcahrxl99a71v8p7im102nzv8iqbvd5c6m14rsckqa";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    homepage = "https://claudiodangelis.com/qrcp/";
+    description = "Transfer files over wifi by scanning a QR code from your terminal";
+    longDescription = ''
+      qrcp binds a web server to the address of your Wi-Fi network
+      interface on a random port and creates a handler for it. The default
+      handler serves the content and exits the program when the transfer is
+      complete.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/quickserve/default.nix b/nixpkgs/pkgs/tools/networking/quickserve/default.nix
index 8f4876b6ee26..53d649d791fc 100644
--- a/nixpkgs/pkgs/tools/networking/quickserve/default.nix
+++ b/nixpkgs/pkgs/tools/networking/quickserve/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "A simple HTTP server for quickly sharing files.";
+    description = "A simple HTTP server for quickly sharing files";
     homepage = "https://xyne.archlinux.ca/projects/quickserve/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ lassulus ];
diff --git a/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
index e2a0c900c52a..283131b56714 100644
--- a/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = "https://software.nordu.net/radsecproxy/";
-    description = "A generic RADIUS proxy that supports both UDP and TLS (RadSec) RADIUS transports.";
+    description = "A generic RADIUS proxy that supports both UDP and TLS (RadSec) RADIUS transports";
     license = licenses.bsd3;
     maintainers = with maintainers; [ sargon ];
     platforms = with platforms; linux;
diff --git a/nixpkgs/pkgs/tools/networking/rcon/default.nix b/nixpkgs/pkgs/tools/networking/rcon/default.nix
new file mode 100644
index 000000000000..f7cd08e197e8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/rcon/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, glib, libbsd, check, pcre }:
+
+stdenv.mkDerivation rec {
+  pname = "rcon";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "n0la";
+    repo = "rcon";
+    rev = version;
+    sha256 = "1jsnmsm2qkiv8dan1yncx0qp6zfkcbyvf81c7xwpv6r499ijw1nb";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    glib
+    libbsd
+    check
+    pcre
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/n0la/rcon";
+    description = "Source RCON client for command line";
+    maintainers = with maintainers; [ f4814n ];
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.bsd2;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/saldl/default.nix b/nixpkgs/pkgs/tools/networking/saldl/default.nix
index d51e5515bd63..9c2b4915bf1e 100644
--- a/nixpkgs/pkgs/tools/networking/saldl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/saldl/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , pkgconfig
 , wafHook
+, python3
 , asciidoc
 , docbook_xml_dtd_45
 , docbook_xsl
@@ -25,6 +26,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig
     wafHook
+    python3
     asciidoc
     docbook_xml_dtd_45
     docbook_xsl
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
index 9726cde61e54..ed793a50cb8f 100644
--- a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.8.18";
+  version = "1.8.23";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "1kxf0qcyg5mhddrzwv0hd1fy901wl0ydmxi6b1k2217xmgiyi2s6";
+    sha256 = "1ylasv33478cgwmr8wrd4705azfzrw495w629ncynamv7z17w3k3";
   };
 
-  cargoSha256 = "0vmd4sjagyhrc7q7fszwcjh4nhhmhckmx48i1h2xhr68bwncmyif";
+  cargoSha256 = "060k2dil38bx4zb5nnkr3mj6aayginbhr3aqjv0h071q0vlvp05p";
 
   SODIUM_USE_PKG_CONFIG = 1;
 
diff --git a/nixpkgs/pkgs/tools/networking/shorewall/default.nix b/nixpkgs/pkgs/tools/networking/shorewall/default.nix
index 67f81b821053..c56f0eac7ff8 100644
--- a/nixpkgs/pkgs/tools/networking/shorewall/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shorewall/default.nix
@@ -10,7 +10,7 @@
 , perlPackages
 , stdenv
 , tree
-, utillinux
+, util-linux
 }:
 let
   PATH = stdenv.lib.concatStringsSep ":"
@@ -19,7 +19,7 @@ let
              "${iptables}/bin"
              "${ipset}/bin"
              "${ebtables}/bin"
-             "${utillinux}/bin"
+             "${util-linux}/bin"
              "${gnugrep}/bin"
              "${gnused}/bin"
            ];
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     ipset
     iptables
     ebtables
-    utillinux
+    util-linux
     gnugrep
     gnused
     perl
diff --git a/nixpkgs/pkgs/tools/networking/siege/default.nix b/nixpkgs/pkgs/tools/networking/siege/default.nix
index 7e85973cbdb6..4df008364d0c 100644
--- a/nixpkgs/pkgs/tools/networking/siege/default.nix
+++ b/nixpkgs/pkgs/tools/networking/siege/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "HTTP load tester";
-    maintainers = with maintainers; [ ocharles raskin ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.unix;
     license = licenses.gpl2Plus;
   };
diff --git a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
index 60cb34132537..c0c64405c0d4 100644
--- a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.1.4";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "13hlljkqss9abjpwaa5gcn6qnax0ws03zzh45c4rv1if7rwk6nbl";
+    sha256 = "06813k8a1gpakgykz5h75qpdlhrci9r39309n3qqh34ynbjil468";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/smartdns/default.nix b/nixpkgs/pkgs/tools/networking/smartdns/default.nix
index 62a9aaf216cc..ca40012433ef 100644
--- a/nixpkgs/pkgs/tools/networking/smartdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/smartdns/default.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smartdns";
-  version =
-    "30"; # This would be used later in the next release as the FHS commit integrated into realse 31.
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "pymumu";
     repo = pname;
-    rev = "3ad7cd7f454eec2fbdf338c0eb0541da301f1e73";
-    sha256 = "1y9p8gxpj2k4a10maggkxg8l55jvr7x1wyxi69waxf56ggh2dvv0";
+    rev = "Release${version}";
+    sha256 = "0cmzpm4y1yi96mg2cz2byqw6vl62dgnikldy08q43vi7jl3y0749";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/networking/ssh-askpass-fullscreen/default.nix b/nixpkgs/pkgs/tools/networking/ssh-askpass-fullscreen/default.nix
new file mode 100644
index 000000000000..07cc5da960dd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/ssh-askpass-fullscreen/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk2, openssh }:
+
+stdenv.mkDerivation rec {
+  pname = "ssh-askpass-fullscreen";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "atj";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1zldhylln412974cnxyqcrrc6b4ry3m9s5ijq3dnwz2g7nz1bx9d";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk2
+    openssh
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A small SSH askpass GUI using GTK+2";
+    homepage = "https://github.com/atj/ssh-askpass-fullscreen";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ caadar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/sshping/default.nix b/nixpkgs/pkgs/tools/networking/sshping/default.nix
index 20f0eaa7e471..aa3e57d53f88 100644
--- a/nixpkgs/pkgs/tools/networking/sshping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sshping/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libssh ];
 
   buildPhase = ''
-      g++ -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh
+      $CXX -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh
     '';
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/networking/ssldump/default.nix b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
index b492b5a226ba..d7578c4adda8 100644
--- a/nixpkgs/pkgs/tools/networking/ssldump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
                      "--with-openssl-lib=${openssl}/lib"
                      "--with-openssl-inc=${openssl}/include" ];
   meta = {
-    description = "ssldump is an SSLv3/TLS network protocol analyzer";
+    description = "An SSLv3/TLS network protocol analyzer";
     homepage = "http://ssldump.sourceforge.net";
     license = "BSD-style";
     maintainers = with stdenv.lib.maintainers; [ aycanirican ];
diff --git a/nixpkgs/pkgs/tools/networking/sstp/default.nix b/nixpkgs/pkgs/tools/networking/sstp/default.nix
index 4d05b478ab40..22ef9102ef85 100644
--- a/nixpkgs/pkgs/tools/networking/sstp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sstp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sstp-client";
-  version = "1.0.12";
+  version = "1.0.13";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sstp-client/sstp-client/${version}/sstp-client-${version}.tar.gz";
-    sha256 = "1zv7rx6wh9rhbyg9pg6759by8hc6n4162zrrw0y812cnaw3b8zj8";
+    url = "mirror://sourceforge/sstp-client/sstp-client/sstp-client-${version}.tar.gz";
+    sha256 = "06rjyncmgdy212xf9l9z6mfh4gdmgk7l4y841gb8lpbrl3y5h4ln";
   };
 
   patchPhase =
diff --git a/nixpkgs/pkgs/tools/networking/subfinder/default.nix b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
index 70820ea03208..f812f7ffa91f 100644
--- a/nixpkgs/pkgs/tools/networking/subfinder/default.nix
+++ b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
@@ -24,6 +24,6 @@ buildGoPackage rec {
     '';
     homepage = "https://github.com/projectdiscovery/subfinder";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz filalex77 ];
+    maintainers = with maintainers; [ fpletz Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix b/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
index ac4c1e24e3ba..c5026851f50e 100644
--- a/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.1";
+  version = "2.4.17";
   pname = "swagger-codegen";
 
   jarfilename = "${pname}-cli-${version}.jar";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "https://oss.sonatype.org/content/repositories/releases/io/swagger/${pname}-cli/${version}/${jarfilename}";
-    sha256 = "171qr0zx7i6cykv54vqjf3mplrf7w4a1fpq47wsj861lbf8xm322";
+    url = "https://repo1.maven.org/maven2/io/swagger/${pname}-cli/${version}/${jarfilename}";
+    sha256 = "06xx42ayh4xqpr71lq1hj7kv1v6m9ld9jm1d15fhs935zqckv32a";
   };
 
   phases = [ "installPhase" ];
diff --git a/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix b/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
index b40df721c83e..fdf7965311d0 100644
--- a/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap, tcpdump }:
+{ stdenv, fetchurl, libpcap, tcpdump, Carbon, CoreServices }:
 
 stdenv.mkDerivation rec {
   pname = "tcpreplay";
@@ -9,7 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1plgjm3dr9rr5q71s7paqk2wgrvkihbk2yrf9g3zaks3m750497d";
   };
 
-  buildInputs = [ libpcap ];
+  buildInputs = [ libpcap ]
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [
+      Carbon CoreServices
+    ];
+
 
   configureFlags = [
     "--disable-local-libopts"
@@ -26,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "http://tcpreplay.appneta.com/";
     license = with licenses; [ bsd3 gpl3 ];
     maintainers = with maintainers; [ eleanor ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix b/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
index 6901166e38fa..e1e711ef16a1 100644
--- a/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
    buildInputs = [ libpcap libnet ];
 
    meta = {
-     description = "A traceroute implementation using TCP packets.";
+     description = "A traceroute implementation using TCP packets";
      homepage = "https://github.com/mct/tcptraceroute";
      license = stdenv.lib.licenses.gpl2;
      maintainers = [ ];
diff --git a/nixpkgs/pkgs/tools/networking/telepresence/default.nix b/nixpkgs/pkgs/tools/networking/telepresence/default.nix
index 285a3764e038..a077ddb3de46 100644
--- a/nixpkgs/pkgs/tools/networking/telepresence/default.nix
+++ b/nixpkgs/pkgs/tools/networking/telepresence/default.nix
@@ -3,7 +3,7 @@
 , iptables, bash }:
 
 let
-  sshuttle-telepresence = 
+  sshuttle-telepresence =
     let
       sshuttleTelepresenceRev = "32226ff14d98d58ccad2a699e10cdfa5d86d6269";
     in
@@ -22,13 +22,13 @@ let
       });
 in pythonPackages.buildPythonPackage rec {
   pname = "telepresence";
-  version = "0.105";
+  version = "0.108";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = version;
-    sha256 = "0fccbd54ryd9rcbhfh5lx8qcc3kx3k9jads918rwnzwllqzjf7sg";
+    sha256 = "6V0sM0Z+2xNDgL0wIzJOdaUp2Ol4ejNTk9K/pllVa7g=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/networking/tendermint/default.nix b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
index 081819458f07..2fedae4b7a79 100644
--- a/nixpkgs/pkgs/tools/networking/tendermint/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.33.8";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1dcr60gmbkb6833n49mjmlr082ahlv7alaqycl8g3d4f93kdm5c3";
+    sha256 = "1fnykdk35937ld8dyzjs571klz187jr8wlj8ljn78pajx1cd84k6";
   };
 
-  vendorSha256 = "0i0n89lal99fqnzva51kp9f7wzqsfmncpshwxhq26kvykp7ji7sw";
+  vendorSha256 = "19qx7ab6ar609cxxdsb9i2c3h7icqgf5bhi28lnsdk3bdjxr27vz";
 
   doCheck = false;
 
@@ -20,7 +20,7 @@ buildGoModule rec {
   buildFlagsArray = [ "-ldflags=-s -w -X github.com/tendermint/tendermint/version.GitCommit=${src.rev}" ];
 
   meta = with stdenv.lib; {
-    description = "Byzantine-Fault Tolerant State Machines. Or Blockchain, for short.";
+    description = "Byzantine-Fault Tolerant State Machines. Or Blockchain, for short";
     homepage = "https://tendermint.com/";
     license = licenses.asl20;
     maintainers = with maintainers; [ alexfmpe ];
diff --git a/nixpkgs/pkgs/tools/networking/tgt/default.nix b/nixpkgs/pkgs/tools/networking/tgt/default.nix
index 478c1ed35f29..d9d8478e9856 100644
--- a/nixpkgs/pkgs/tools/networking/tgt/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tgt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, libxslt, libaio, systemd, perl, perlPackages
-, docbook_xsl, coreutils, lsof, rdma-core, makeWrapper, sg3_utils, utillinux
+, docbook_xsl, coreutils, lsof, rdma-core, makeWrapper, sg3_utils, util-linux
 }:
 
 stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/tools/networking/tinc/pre.nix b/nixpkgs/pkgs/tools/networking/tinc/pre.nix
index 85cdd19702fa..a49ab43e55ed 100644
--- a/nixpkgs/pkgs/tools/networking/tinc/pre.nix
+++ b/nixpkgs/pkgs/tools/networking/tinc/pre.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     homepage="http://www.tinc-vpn.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz lassulus ];
+    maintainers = with maintainers; [ fpletz lassulus mic92 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tox-node/default.nix b/nixpkgs/pkgs/tools/networking/tox-node/default.nix
index feeceef81f45..43be37c94288 100644
--- a/nixpkgs/pkgs/tools/networking/tox-node/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tox-node/default.nix
@@ -7,13 +7,13 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "tox-node";
-  version = "0.0.8";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "tox-rs";
     repo = "tox-node";
     rev = "v${version}";
-    sha256 = "0vnjbhz74d4s6701xsd46ygx0kq8wd8xwpajvkhdivc042mw9078";
+    sha256 = "0bar42nigjwn7dq48rmg74sm3gnfqvb6gnd9g1n0i8nmynd00wvn";
   };
 
   buildInputs = [ libsodium openssl ];
@@ -31,12 +31,12 @@ buildRustPackage rec {
 
   doCheck = false;
 
-  cargoSha256 = "1ka22krw8s05vpamg9naqqf7vv5h8dkpfdik0wy8nispkrxzgb92";
+  cargoSha256 = "087ccb824hmmxmnn5c2bzww2q888a8zy6y7rwgsdfr8rbay2c909";
 
   meta = with stdenv.lib; {
     description = "A server application to run tox node written in pure Rust";
     homepage = "https://github.com/tox-rs/tox-node";
-    license = [ licenses.mit ];
+    license = [ licenses.gpl3Plus ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ suhr ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/trickle/default.nix b/nixpkgs/pkgs/tools/networking/trickle/default.nix
index f97d3c857621..fc32d34ad316 100644
--- a/nixpkgs/pkgs/tools/networking/trickle/default.nix
+++ b/nixpkgs/pkgs/tools/networking/trickle/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libevent }:
+{ stdenv, fetchurl, libevent, libtirpc }:
 
 stdenv.mkDerivation rec {
   name = "trickle-1.07";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx";
   };
 
-  buildInputs = [ libevent ];
+  buildInputs = [ libevent libtirpc ];
 
   preConfigure = ''
     sed -i 's|libevent.a|libevent.so|' configure
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     sed -i '/#define in_addr_t/ s:^://:' config.h
   '';
 
-  LDFLAGS = "-levent";
+  NIX_LDFLAGS = [ "-levent" "-ltirpc" ];
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
 
   configureFlags = [ "--with-libevent" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix b/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix
index f0d2cd9a0df6..1ebd8d8be6a2 100644
--- a/nixpkgs/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/nixpkgs/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.20.1";
+  version = "1.20.3";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "108zx2x5q23cq0fzxmix31xcw62k3r1wlb55612c15ilz9c5xm32";
+    sha256 = "064cl9m4hdv69q1af0xjcf2rf30n3pvz6ym2l53w90aq3217amps";
   };
   sourceRoot = "source/native";
 
diff --git a/nixpkgs/pkgs/tools/networking/tunnelto/default.nix b/nixpkgs/pkgs/tools/networking/tunnelto/default.nix
index c0dce98c4447..4bf251be81fc 100644
--- a/nixpkgs/pkgs/tools/networking/tunnelto/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tunnelto/default.nix
@@ -28,6 +28,6 @@ rustPlatform.buildRustPackage rec {
     description = "Expose your local web server to the internet with a public URL";
     homepage = "https://tunnelto.dev";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index 9b33d53e54f1..ce27f1113773 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -1,17 +1,37 @@
-{ stdenv, fetchurl, openssl, nettle, expat, libevent, dns-root-data }:
+{ stdenv
+, lib
+, fetchurl
+, openssl
+, nettle
+, expat
+, libevent
+, dns-root-data
+, pkg-config
+  #
+  # By default unbound will not be built with systemd support. Unbound is a very
+  # commmon dependency. The transitive dependency closure of systemd also
+  # contains unbound.
+  # Since most (all?) (lib)unbound users outside of the unbound daemon usage do
+  # not need the systemd integration it is likely best to just default to no
+  # systemd integration.
+  # For the daemon use-case, that needs to notify systemd, use `unbound-with-systemd`.
+  #
+, withSystemd ? false
+, systemd ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.11.0";
+  version = "1.13.0";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1xqywn2qdmjjq0csrqxh9p2rnizdrr1f99zdx87z7f3fyyc0fbwz";
+    sha256 = "18dj7migq6379hps59793457l81s3z7dll3y0fj6qcmhjlx08m59";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
 
-  buildInputs = [ openssl nettle expat libevent ];
+  buildInputs = [ openssl nettle expat libevent ] ++ lib.optionals withSystemd [ pkg-config systemd ];
 
   configureFlags = [
     "--with-ssl=${openssl.dev}"
@@ -25,6 +45,8 @@ stdenv.mkDerivation rec {
     "--enable-relro-now"
   ] ++ stdenv.lib.optional stdenv.hostPlatform.isStatic [
     "--disable-flto"
+  ] ++ lib.optionals withSystemd [
+    "--enable-systemd"
   ];
 
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
@@ -33,7 +55,7 @@ stdenv.mkDerivation rec {
     make unbound-event-install
   '';
 
-  preFixup = stdenv.lib.optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) # XXX: revisit
+  preFixup = 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.
     # There was some problem with this on Darwin; let's not complicate non-Linux.
@@ -43,17 +65,17 @@ stdenv.mkDerivation rec {
       buildPhase
       installPhase
     ''
-    # get rid of runtime dependencies on $dev outputs
+  # get rid of runtime dependencies on $dev outputs
   + ''substituteInPlace "$lib/lib/libunbound.la" ''
-    + stdenv.lib.concatMapStrings
-      (pkg: " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' --replace '-R${pkg.dev}/lib' '-R${pkg.out}/lib'")
-      buildInputs;
+  + lib.concatMapStrings
+    (pkg: lib.optionalString (pkg ? dev) " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' --replace '-R${pkg.dev}/lib' '-R${pkg.out}/lib'")
+    (builtins.filter (p: p != null) buildInputs);
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Validating, recursive, and caching DNS resolver";
     license = licenses.bsd3;
     homepage = "https://www.unbound.net";
     maintainers = with maintainers; [ ehmry fpletz globin ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/urlwatch/default.nix b/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
index f23aed3707be..e4b821be1f46 100644
--- a/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
+++ b/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.19";
+  version = "2.21";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "05vxs0x8gnsv2r9cy0brqny1y5jnj2mw11lqc8lqahx84xcs2m00";
+    sha256 = "1s6bigkwymxdp9bkgvwg3lbf465i6k8kmak2w7czf4mhwavcfq63";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -20,12 +20,13 @@ python3Packages.buildPythonApplication rec {
     pycodestyle
     pyyaml
     requests
+    pyppeteer
   ];
 
   meta = with stdenv.lib; {
     description = "A tool for monitoring webpages for updates";
     homepage = "https://thp.io/2008/urlwatch/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ tv ];
+    maintainers = with maintainers; [ kmein tv ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
index fac43cabab86..4d553670e359 100644
--- a/nixpkgs/pkgs/tools/networking/v2ray/default.nix
+++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
@@ -3,33 +3,33 @@
 }:
 
 let
-  version = "4.28.2";
+  version = "4.33.0";
 
   src = fetchFromGitHub {
-    owner = "v2ray";
+    owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    sha256 = "0q2gpnx7nrnrdkc8fq1ghbki8yyh11hs5bw8rb48jsrnigrg73b8";
+    sha256 = "05w714i56nipp7m985g6zqq6ljz0w5ihxrgs93j10llfdd089iig";
   };
 
-  vendorSha256 = "1ghpb5ijpmmq1qysjifj6ss1zk1h2l55r6w7l4a01bp8sxncxarc";
+  vendorSha256 = "0ix5kxldgbcb10jh0l64lrh8qzla4qvsxi6vanb73y7lbsix120w";
 
   assets = {
     # MIT licensed
     "geoip.dat" = let
-      geoipRev = "202009160005";
-      geoipSha256 = "00hilqqnpfyvxxaiamwmkdpzid763xgig1vk4rxv76npwyixsmj4";
+      geoipRev = "202012030015";
+      geoipSha256 = "1qy9h0721y5kjcp0s859lhj253jfi3d3i658gpc4kmij2l5dxm5w";
     in fetchurl {
-      url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
+      url = "https://github.com/v2fly/geoip/releases/download/${geoipRev}/geoip.dat";
       sha256 = geoipSha256;
     };
 
     # MIT licensed
     "geosite.dat" = let
-      geositeRev = "20200918144814";
-      geositeSha256 = "08zdw20wdksp96436j3my145qvyvr9a15lj8j4wdagr64iap5nx7";
+      geositeRev = "20201207123222";
+      geositeSha256 = "03xckk39rrda42cam2awbsh0gib6rhmz28asc8vx29lsp9g2bj6n";
     in fetchurl {
-      url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
+      url = "https://github.com/v2fly/domain-list-community/releases/download/${geositeRev}/dlc.dat";
       sha256 = geositeSha256;
     };
 
@@ -59,22 +59,23 @@ let
     installPhase = ''
       install -Dm755 v2ray v2ctl -t $out/bin
     '';
+
+    meta = {
+      homepage = "https://www.v2fly.org/en_US/";
+      description = "A platform for building proxies to bypass network restrictions";
+      license = with lib.licenses; [ mit ];
+      maintainers = with lib.maintainers; [ servalcatty ];
+    };
   };
 
 in runCommand "v2ray-${version}" {
   inherit version;
+  inherit (core) meta;
 
-  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 ];
-  };
-
   passthru = {
+    inherit core;
     updateScript = ./update.sh;
     tests = {
       simple-vmess-proxy-test = nixosTests.v2ray;
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/update.sh b/nixpkgs/pkgs/tools/networking/v2ray/update.sh
index 56a148444c71..08062b1e9969 100755
--- a/nixpkgs/pkgs/tools/networking/v2ray/update.sh
+++ b/nixpkgs/pkgs/tools/networking/v2ray/update.sh
@@ -14,7 +14,7 @@ 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" |
+    curl "https://api.github.com/repos/v2fly/$1/releases" |
         jq '.[0].tag_name' --raw-output
 }
 
@@ -28,7 +28,7 @@ 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/v$core_rev.zip"
+        nix-prefetch-url --unpack --print-path "https://github.com/v2fly/v2ray-core/archive/v$core_rev.zip"
     )
 
     sed --in-place \
@@ -40,7 +40,7 @@ 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")
+    hash=$(nix-prefetch-url "https://github.com/v2fly/geoip/releases/download/$geoip_rev/geoip.dat")
     sed --in-place \
         -e "s/\bgeoipRev = \".*\"/geoipRev = \"$geoip_rev\"/" \
         -e "s/\bgeoipSha256 = \".*\"/geoipSha256 = \"$hash\"/" \
@@ -49,7 +49,7 @@ 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")
+    hash=$(nix-prefetch-url "https://github.com/v2fly/domain-list-community/releases/download/$geosite_rev/dlc.dat")
     sed --in-place \
         -e "s/\bgeositeRev = \".*\"/geositeRev = \"$geosite_rev\"/" \
         -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \
diff --git a/nixpkgs/pkgs/tools/networking/vegeta/default.nix b/nixpkgs/pkgs/tools/networking/vegeta/default.nix
index cb7cbd677431..16abe8c60335 100644
--- a/nixpkgs/pkgs/tools/networking/vegeta/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vegeta/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vegeta";
-  version = "12.7.0";
+  version = "12.8.4";
 
   src = fetchFromGitHub {
-    owner = "tsenart";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1wzx9588hjzxq65fxi1zz9xpsw33qq41hpl0j2f077g4m8yxahv5";
+    owner  = "tsenart";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0sw10k4g370c544dgw2c1sqdnxryld8lf6c1wnyknrm3zsfzn1hl";
   };
 
   goPackagePath = "github.com/tsenart/${pname}";
diff --git a/nixpkgs/pkgs/tools/networking/vegeta/deps.nix b/nixpkgs/pkgs/tools/networking/vegeta/deps.nix
index d0637dbeaef8..1a06ad178ec4 100644
--- a/nixpkgs/pkgs/tools/networking/vegeta/deps.nix
+++ b/nixpkgs/pkgs/tools/networking/vegeta/deps.nix
@@ -243,4 +243,13 @@
       sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
     };
   }
+  {
+    goPackagePath = "pgregory.net/rapid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flyingmutant/rapid";
+      rev = "v0.3.3";
+      sha256 = "04w4dmx753b2xp5z5br5wxalgkkgag8qpbxics2gdcksqgi85vg3";
+    };
+  }
 ]
diff --git a/nixpkgs/pkgs/tools/networking/waitron/default.nix b/nixpkgs/pkgs/tools/networking/waitron/default.nix
new file mode 100644
index 000000000000..cc28455d06a5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/waitron/default.nix
@@ -0,0 +1,30 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "waitron-unstable-${version}";
+  version = "2020-01-24";
+  rev = "c96833619cbb0cf2bc71b1d7b534101e139cc6e6";
+
+  goPackagePath = "github.com/ns1/waitron";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/ns1/waitron";
+    sha256 = "0lgw37iq1cvg3mqc94nzf0027mvv721ay8x6dw3fc814ww8a2hb6";
+  };
+
+  patches = [
+    ./staticfiles-directory.patch
+  ];
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "A tool to manage network booting of machines";
+    homepage = "https://github.com/ns1/waitron";
+    license =  stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ guibert ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/waitron/deps.nix b/nixpkgs/pkgs/tools/networking/waitron/deps.nix
new file mode 100644
index 000000000000..46369c783184
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/waitron/deps.nix
@@ -0,0 +1,57 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/flosch/pongo2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flosch/pongo2";
+      rev = "bbf5a6c351f4d4e883daa40046a404d7553e0a00";
+      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/handlers";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/handlers";
+      rev = "f08afc1876ad882db8074bcb8a4cc96107d3a5f4";
+      sha256 = "1ysm6sw3jqa3h8pb5qpqgh44g91c23n3as277sh0vyp7282290jq";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev = "d42613fe1ab9e303fc850e7a19fda2e8eeb6516e";
+      sha256 = "0qggzzvh9lzlfk8ixlyw8bw645rh0lrjrd367505hhl6cg18v8yf";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "8c9f31f047a304abedb5614d4a18a843cd5f4a40";
+      sha256 = "00f5ja1yslrjclx3sf29mzpcsrpfd15kkw5ygv7n4jsyb4v3xgj6";
+    };
+  }
+  {
+    goPackagePath = "github.com/satori/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satori/go.uuid";
+      rev = "b2ce2384e17bbe0c6d34077efa39dbab3e09123b";
+      sha256 = "1yz4cx02377ijlf8mnn84j1dcmlwh8ncx7y3kw1zg2qw0z4x119c";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "53403b58ad1b561927d19068c655246f2db79d48";
+      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/tools/networking/waitron/staticfiles-directory.patch b/nixpkgs/pkgs/tools/networking/waitron/staticfiles-directory.patch
new file mode 100644
index 000000000000..b1096487fac1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/waitron/staticfiles-directory.patch
@@ -0,0 +1,13 @@
+diff --git a/main.go b/main.go
+index 4046911..a126bae 100644
+--- a/main.go
++++ b/main.go
+@@ -411,7 +411,7 @@ func main() {
+ 
+ 	if configuration.StaticFilesPath != "" {
+ 		fs := http.FileServer(http.Dir(configuration.StaticFilesPath))
+-		r.Handler("GET", "/files/:filename", http.StripPrefix("/files/", fs))
++		r.Handler("GET", "/files/*filepath", http.StripPrefix("/files/", fs))
+ 		log.Println("Serving static files from " + configuration.StaticFilesPath)
+ 	}
+ 
diff --git a/nixpkgs/pkgs/tools/networking/wavemon/default.nix b/nixpkgs/pkgs/tools/networking/wavemon/default.nix
index dab52720a029..0f39a221f4db 100644
--- a/nixpkgs/pkgs/tools/networking/wavemon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wavemon/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchFromGitHub, ncurses, libnl, pkgconfig }:
+{ stdenv, fetchFromGitHub, ncurses, libnl, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.1";
-  baseName = "wavemon";
-  name = "${baseName}-${version}";
+  pname = "wavemon";
+  version = "0.9.3";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ncurses libnl ];
 
   src = fetchFromGitHub {
     owner = "uoaerg";
     repo = "wavemon";
     rev = "v${version}";
-    sha256 = "109ycwnjjqc2vpnd8b86njfifczlxglnyv4rh2qmbn2i5nw2wryg";
+    sha256 = "0m9n5asjxs1ir5rqprigqcrm976mgjvh4yql1jhfnbszwbf95193";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
index 90cd64b83adb..d5ecae75eb1a 100644
--- a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.3.14";
+  version = "0.3.15";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "147kl2kvv1rn3yk0mlvd998a2yayjl07csxxkjvs6264j6csb860";
+    sha256 = "1nf00ygp55l01c0gdkw15f08p3hmn6s2r99lgf2xpq8jn75qra4i";
   };
 
-  vendorSha256 = "09xv2p9rydnsb185x61fxhyjqx41wz285c1gdd47ad3s08ay1qc7";
+  vendorSha256 = "1zk6h1isxyml9asyb7g4scbhnfwghqwnv40a5f5j7z0s0s4nybdp";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/ytcc/default.nix b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
index dc38648c369c..2d474159359f 100644
--- a/nixpkgs/pkgs/tools/networking/ytcc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
@@ -19,11 +19,11 @@ python3Packages.buildPythonApplication rec {
 
   # Disable tests that touch network or shell out to commands
   checkPhase = ''
-    pytest . -k 'not get_channels \
+    pytest . -k "not get_channels \
                  and not play_video \
                  and not download_videos \
                  and not update_all \
-                 and not add_channel_duplicate'
+                 and not add_channel_duplicate"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/networking/zerotierone/default.nix b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
index 666b30d2c8e7..1413ca72a105 100644
--- a/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
@@ -2,22 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.4.6";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "1f8hh05wx59dc0fbzdzwq05x0gmrdfl4v103wbcyjmzsbazaw6p3";
+    sha256 = "0lky68fjrqjsd62g97jkn5a9hzj53g8wb6d2ncx8s21rknpncdar";
   };
 
   preConfigure = ''
-      substituteInPlace ./osdep/ManagedRoute.cpp \
-        --replace '/usr/sbin/ip' '${iproute}/bin/ip'
-
-      substituteInPlace ./osdep/ManagedRoute.cpp \
-        --replace '/sbin/ip' '${iproute}/bin/ip'
-
       patchShebangs ./doc/build.sh
       substituteInPlace ./doc/build.sh \
         --replace '/usr/bin/ronn' '${buildPackages.ronn}/bin/ronn' \
diff --git a/nixpkgs/pkgs/tools/nix/cached-nix-shell/default.nix b/nixpkgs/pkgs/tools/nix/cached-nix-shell/default.nix
index 2db9ee6d9b3f..0b40e2b71435 100644
--- a/nixpkgs/pkgs/tools/nix/cached-nix-shell/default.nix
+++ b/nixpkgs/pkgs/tools/nix/cached-nix-shell/default.nix
@@ -10,16 +10,16 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "cached-nix-shell";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "xzfc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ni671wr2lrvyz6myaz3v4llrjvq4jc1ygw1m7rvnadzyf3va3lw";
+    sha256 = "0w6khry1ncyqy5h6996xw1f6viw4wdrfji5m8lz9gm487xlq5v0b";
   };
 
-  cargoSha256 = "19i39b1yqdf81ql4psr3nfah6ci2mw3ljkv740clqmz088j2av8g";
+  cargoSha256 = "0d4fz0rhqy1n30wfl2pmf76zpp21agr3h0hswp3r5bfnxqp6i54h";
 
   # The BLAKE3 C library is intended to be built by the project depending on it
   # rather than as a standalone library.
@@ -29,14 +29,11 @@ in rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ ronn ];
 
   postBuild = ''
-    ronn -r cached-nix-shell.1.md
+    make -f nix/Makefile post-build
   '';
 
   postInstall = ''
-    mkdir -p $out/lib $out/share/cached-nix-shell $out/share/man/man1 $out/var/empty
-    cp $releaseDir/build/cached-nix-shell-*/out/trace-nix.so $out/lib
-    cp rcfile.sh $out/share/cached-nix-shell/rcfile.sh
-    cp cached-nix-shell.1 $out/share/man/man1
+    make -f nix/Makefile post-install
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/nix/dnadd/default.nix b/nixpkgs/pkgs/tools/nix/dnadd/default.nix
new file mode 100644
index 000000000000..eff99743f1e1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/nix/dnadd/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "dnadd";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "JoeLancaster";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vzbgz8y9gj4lszsx4iczfbrj373sl4wi43j7rp46zfcbw323d4r";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/joelancaster/dnadd";
+    description = "Adds packages declaratively on the command line";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ joelancaster ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/nix/nar-serve/default.nix b/nixpkgs/pkgs/tools/nix/nar-serve/default.nix
new file mode 100644
index 000000000000..89a38b40a199
--- /dev/null
+++ b/nixpkgs/pkgs/tools/nix/nar-serve/default.nix
@@ -0,0 +1,31 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, stdenv
+}:
+let
+  pname = "nar-serve";
+  version = "0.3.0";
+
+in
+buildGoModule rec {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "numtide";
+    repo = "nar-serve";
+    rev = "v${version}";
+    sha256 = "000xxrar5ngrqqfi7ynx84i6wi27mirgm26brhyg0y4pygc9ykhz";
+  };
+
+  vendorSha256 = "0qkzbr85wkx3r7qgnzg9pdl7vsli10bzcdbj2gqd1kdzwb8khszs";
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Serve NAR file contents via HTTP";
+    homepage = "https://github.com/numtide/nar-serve";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rizary ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/nix/nix-output-monitor/default.nix b/nixpkgs/pkgs/tools/nix/nix-output-monitor/default.nix
new file mode 100644
index 000000000000..1c35e0ccd51c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/nix/nix-output-monitor/default.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, ansi-terminal, async, attoparsec, base, containers
+, directory, HUnit, mtl, nix-derivation, process, relude, stdenv
+, stm, text, time, unix, fetchFromGitHub
+}:
+mkDerivation {
+  pname = "nix-output-monitor";
+  version = "0.1.0.2";
+  src = fetchFromGitHub {
+    owner = "maralorn";
+    repo = "nix-output-monitor";
+    sha256 = "0r4348cbmnpawbfa20qw3wnywiqp0jkl5svzl27jrm2yk2g51509";
+    rev = "5bf7534";
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    ansi-terminal async attoparsec base containers directory mtl
+    nix-derivation relude stm text time unix
+  ];
+  executableHaskellDepends = [
+    ansi-terminal async attoparsec base containers directory mtl
+    nix-derivation relude stm text time unix
+  ];
+  testHaskellDepends = [
+    ansi-terminal async attoparsec base containers directory HUnit mtl
+    nix-derivation process relude stm text time unix
+  ];
+  homepage = "https://github.com/maralorn/nix-output-monitor";
+  description = "Parses output of nix-build to show additional information";
+  license = stdenv.lib.licenses.agpl3Plus;
+  maintainers = [ stdenv.lib.maintainers.maralorn ];
+}
diff --git a/nixpkgs/pkgs/tools/nix/nix-script/default.nix b/nixpkgs/pkgs/tools/nix/nix-script/default.nix
index da8ba3bce8e9..d604463bb05c 100644
--- a/nixpkgs/pkgs/tools/nix/nix-script/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nix-script/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    description = "A shebang for running inside nix-shell.";
+    description = "A shebang for running inside nix-shell";
     homepage    = "https://github.com/bennofs/nix-script";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ bennofs rnhmjoj ];
diff --git a/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix b/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
index c1e844946094..74bbcbd0ae6b 100644
--- a/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nixos-generators";
-  version = "1.1.0";
+  version = "1.2.0";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nixos-generators";
     rev = version;
-    sha256 = "04cfhj42c2m7lafir9ksh36n3nhx3x20lhamyk4zc5p3pm1xdbs6";
+    sha256 = "1iwc39hzvzzyndxwbnl3fck7phxnjpnhy8zn4nyp8is1fiw0648v";
   };
   nativeBuildInputs = [ makeWrapper ];
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
index 33c08636e44d..c1141362f820 100644
--- a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ qyliss ];
     license = licenses.gpl2;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix
index c4d9aae267e7..c2cda02ca255 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
-    rev = "${version}";
-    sha256 = "00ing1v6vjqfvirp3mbayn8rwvxf72wnhz9249k2iifw8bl2r2hd";
+    rev = version;
+    sha256 = "1jdp5ksxm4rsqhirgl5zwpiahrz2lx046pkvf6xvr6ms70l2xiwj";
   };
 
-  cargoSha256 = "1wmw7knkx79fbwizaj9qkcnw0ld1lsfhca8mfpn5f0daxa5v5y97";
+  cargoSha256 = "07bjxsg5kgx8dg3wf6mvi5460db206l68irqc21hz10plz5llmnr";
 
   meta = with lib; {
     description = "Cargo plugin to generate list of all licenses for a crate";
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
index acd088177803..df492863a142 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
@@ -1,16 +1,16 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, openssl, pkg-config, Security, libiconv }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-audit";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "RustSec";
     repo = "cargo-audit";
     rev = "v${version}";
-    sha256 = "0zby9bd64bmrkb229ic7ckn2ycf9bpwsisx2a7z0id0j4mjaca4k";
+    sha256 = "1q8i2c3f8ir1pxkvla4dshz7n0cl97mjydc64xis5pph39f69yc1";
   };
 
-  cargoSha256 = "1w4618w5yj1205d7s2hq273fb35qfcd7cnxdwxn4pq8x3ahgy4kx";
+  cargoSha256 = "1b62mcj4gjz2arjf3r30k9qcg81i5x0149a4bfj39xdrz55gg0wh";
 
   buildInputs = [ openssl libiconv ] ++ lib.optionals stdenv.isDarwin [ Security ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix
index 43a2fccd8789..668a623ee2a5 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-deb/default.nix
@@ -32,6 +32,6 @@ rustPlatform.buildRustPackage rec {
     description = "Generate Debian packages from information in Cargo.toml";
     homepage = "https://github.com/mmstick/cargo-deb";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix b/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix
index 217a7ecb3245..f96a3a207df0 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix
@@ -427,7 +427,7 @@ rec {
     serde_urlencoded = "0.5.1";
     tokio = "0.1.7";
     tokio_io = "0.1.10";
-    url = "1.7.2";
+    url = "1.6.1";
     uuid = "0.7.1";
   };
   deps.rustc_version."0.2.3" = {
@@ -464,7 +464,7 @@ rec {
     dtoa = "0.4.2";
     itoa = "0.3.4";
     serde = "1.0.21";
-    url = "1.7.2";
+    url = "1.6.1";
   };
   deps.siphasher."0.2.2" = {};
   deps.slab."0.4.0" = {};
@@ -639,7 +639,7 @@ rec {
   deps.unreachable."1.0.0" = {
     void = "1.0.2";
   };
-  deps.url."1.7.2" = {
+  deps.url."1.6.1" = {
     idna = "0.1.4";
     matches = "0.1.6";
     percent_encoding = "1.0.1";
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix b/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix
index ff2f34022738..dde192585e08 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix
@@ -14,7 +14,7 @@ rec {
     authors = [ "Remi Rampin <remirampin@gmail.com>" ];
     sha256 = "1974q3nysai026zhz24df506cxwi09jdzqksll4h7ibpb5n9g1d4";
   };
-  features_.adler32."1.0.2" = deps: f: updateFeatures f (rec {
+  features_.adler32."1.0.2" = deps: f: updateFeatures f ({
     adler32."1.0.2".default = (f.adler32."1.0.2".default or true);
   }) [];
 
@@ -35,7 +35,7 @@ rec {
       (crates."memchr"."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
     ]);
   };
-  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f (rec {
+  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f ({
     aho_corasick."0.5.3".default = (f.aho_corasick."0.5.3".default or true);
     memchr."${deps.aho_corasick."0.5.3".memchr}".default = true;
   }) [
@@ -53,7 +53,7 @@ rec {
     authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
     sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
   };
-  features_.ansi_term."0.9.0" = deps: f: updateFeatures f (rec {
+  features_.ansi_term."0.9.0" = deps: f: updateFeatures f ({
     ansi_term."0.9.0".default = (f.ansi_term."0.9.0".default or true);
   }) [];
 
@@ -110,7 +110,7 @@ rec {
       (crates."winapi"."${deps."atty"."0.2.3"."winapi"}" deps)
     ]) else []);
   };
-  features_.atty."0.2.3" = deps: f: updateFeatures f (rec {
+  features_.atty."0.2.3" = deps: f: updateFeatures f ({
     atty."0.2.3".default = (f.atty."0.2.3".default or true);
     kernel32_sys."${deps.atty."0.2.3".kernel32_sys}".default = true;
     libc."${deps.atty."0.2.3".libc}".default = (f.libc."${deps.atty."0.2.3".libc}".default or false);
@@ -138,7 +138,7 @@ rec {
       (crates."safemem"."${deps."base64"."0.9.3"."safemem"}" deps)
     ]);
   };
-  features_.base64."0.9.3" = deps: f: updateFeatures f (rec {
+  features_.base64."0.9.3" = deps: f: updateFeatures f ({
     base64."0.9.3".default = (f.base64."0.9.3".default or true);
     byteorder."${deps.base64."0.9.3".byteorder}".default = true;
     safemem."${deps.base64."0.9.3".safemem}".default = true;
@@ -158,7 +158,7 @@ rec {
     authors = [ "The Rust Project Developers" ];
     sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
   };
-  features_.bitflags."0.7.0" = deps: f: updateFeatures f (rec {
+  features_.bitflags."0.7.0" = deps: f: updateFeatures f ({
     bitflags."0.7.0".default = (f.bitflags."0.7.0".default or true);
   }) [];
 
@@ -196,7 +196,7 @@ rec {
     sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08";
     features = mkFeatures (features."bitflags"."1.0.4" or {});
   };
-  features_.bitflags."1.0.4" = deps: f: updateFeatures f (rec {
+  features_.bitflags."1.0.4" = deps: f: updateFeatures f ({
     bitflags."1.0.4".default = (f.bitflags."1.0.4".default or true);
   }) [];
 
@@ -288,7 +288,7 @@ rec {
       (crates."time"."${deps."cargo_download"."0.1.2"."time"}" deps)
     ]);
   };
-  features_.cargo_download."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.cargo_download."0.1.2" = deps: f: updateFeatures f ({
     ansi_term."${deps.cargo_download."0.1.2".ansi_term}".default = true;
     cargo_download."0.1.2".default = (f.cargo_download."0.1.2".default or true);
     clap."${deps.cargo_download."0.1.2".clap}".default = true;
@@ -344,7 +344,7 @@ rec {
     authors = [ "Skyler Lipthay <skyler.lipthay@gmail.com>" ];
     sha256 = "06i1x3wqv30rkvlgj134qf9vzxhzz28bz41mm0rgki0i0f7gf96n";
   };
-  features_.case."0.1.0" = deps: f: updateFeatures f (rec {
+  features_.case."0.1.0" = deps: f: updateFeatures f ({
     case."0.1.0".default = (f.case."0.1.0".default or true);
   }) [];
 
@@ -383,7 +383,7 @@ rec {
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
     sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
   };
-  features_.cfg_if."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.cfg_if."0.1.2" = deps: f: updateFeatures f ({
     cfg_if."0.1.2".default = (f.cfg_if."0.1.2".default or true);
   }) [];
 
@@ -402,7 +402,7 @@ rec {
       (crates."time"."${deps."chrono"."0.2.25"."time"}" deps)
     ]);
   };
-  features_.chrono."0.2.25" = deps: f: updateFeatures f (rec {
+  features_.chrono."0.2.25" = deps: f: updateFeatures f ({
     chrono."0.2.25".default = (f.chrono."0.2.25".default or true);
     num."${deps.chrono."0.2.25".num}".default = (f.num."${deps.chrono."0.2.25".num}".default or false);
     time."${deps.chrono."0.2.25".time}".default = true;
@@ -542,7 +542,7 @@ rec {
       (crates."custom_derive"."${deps."conv"."0.3.3"."custom_derive"}" deps)
     ]);
   };
-  features_.conv."0.3.3" = deps: f: updateFeatures f (rec {
+  features_.conv."0.3.3" = deps: f: updateFeatures f ({
     conv."0.3.3".default = (f.conv."0.3.3".default or true);
     custom_derive."${deps.conv."0.3.3".custom_derive}".default = true;
   }) [
@@ -610,7 +610,7 @@ rec {
     ]);
     features = mkFeatures (features."core_foundation_sys"."0.5.1" or {});
   };
-  features_.core_foundation_sys."0.5.1" = deps: f: updateFeatures f (rec {
+  features_.core_foundation_sys."0.5.1" = deps: f: updateFeatures f ({
     core_foundation_sys."0.5.1".default = (f.core_foundation_sys."0.5.1".default or true);
     libc."${deps.core_foundation_sys."0.5.1".libc}".default = true;
   }) [
@@ -628,7 +628,7 @@ rec {
     authors = [ "Sam Rijs <srijs@airpost.net>" "Alex Crichton <alex@alexcrichton.com>" ];
     sha256 = "1rwvhb98w41mk5phr84mryally58f68h0v933772gdxqvqbcayqy";
   };
-  features_.crc32fast."1.1.1" = deps: f: updateFeatures f (rec {
+  features_.crc32fast."1.1.1" = deps: f: updateFeatures f ({
     crc32fast."1.1.1".default = (f.crc32fast."1.1.1".default or true);
   }) [];
 
@@ -644,7 +644,7 @@ rec {
     sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
     features = mkFeatures (features."crossbeam"."0.2.10" or {});
   };
-  features_.crossbeam."0.2.10" = deps: f: updateFeatures f (rec {
+  features_.crossbeam."0.2.10" = deps: f: updateFeatures f ({
     crossbeam."0.2.10".default = (f.crossbeam."0.2.10".default or true);
   }) [];
 
@@ -663,7 +663,7 @@ rec {
       (crates."crossbeam_utils"."${deps."crossbeam_deque"."0.6.2"."crossbeam_utils"}" deps)
     ]);
   };
-  features_.crossbeam_deque."0.6.2" = deps: f: updateFeatures f (rec {
+  features_.crossbeam_deque."0.6.2" = deps: f: updateFeatures f ({
     crossbeam_deque."0.6.2".default = (f.crossbeam_deque."0.6.2".default or true);
     crossbeam_epoch."${deps.crossbeam_deque."0.6.2".crossbeam_epoch}".default = true;
     crossbeam_utils."${deps.crossbeam_deque."0.6.2".crossbeam_utils}".default = true;
@@ -798,7 +798,7 @@ rec {
       (crates."syn"."${deps."derive_error"."0.0.3"."syn"}" deps)
     ]);
   };
-  features_.derive_error."0.0.3" = deps: f: updateFeatures f (rec {
+  features_.derive_error."0.0.3" = deps: f: updateFeatures f ({
     case."${deps.derive_error."0.0.3".case}".default = true;
     derive_error."0.0.3".default = (f.derive_error."0.0.3".default or true);
     quote."${deps.derive_error."0.0.3".quote}".default = true;
@@ -820,7 +820,7 @@ rec {
     authors = [ "David Tolnay <dtolnay@gmail.com>" ];
     sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
   };
-  features_.dtoa."0.4.2" = deps: f: updateFeatures f (rec {
+  features_.dtoa."0.4.2" = deps: f: updateFeatures f ({
     dtoa."0.4.2".default = (f.dtoa."0.4.2".default or true);
   }) [];
 
@@ -907,7 +907,7 @@ rec {
     authors = [ "Ben Wilber <benwilber@gmail.com>" ];
     sha256 = "1cw9p4vzbscvyrbzv7z68gv2cairrns2d4wcb4nkahkcjk25phip";
   };
-  features_.exitcode."1.1.2" = deps: f: updateFeatures f (rec {
+  features_.exitcode."1.1.2" = deps: f: updateFeatures f ({
     exitcode."1.1.2".default = (f.exitcode."1.1.2".default or true);
   }) [];
 
@@ -931,7 +931,7 @@ rec {
       (crates."libc"."${deps."filetime"."0.1.14"."libc"}" deps)
     ]) else []);
   };
-  features_.filetime."0.1.14" = deps: f: updateFeatures f (rec {
+  features_.filetime."0.1.14" = deps: f: updateFeatures f ({
     cfg_if."${deps.filetime."0.1.14".cfg_if}".default = true;
     filetime."0.1.14".default = (f.filetime."0.1.14".default or true);
     libc."${deps.filetime."0.1.14".libc}".default = true;
@@ -997,7 +997,7 @@ rec {
     sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip";
     libPath = "lib.rs";
   };
-  features_.fnv."1.0.6" = deps: f: updateFeatures f (rec {
+  features_.fnv."1.0.6" = deps: f: updateFeatures f ({
     fnv."1.0.6".default = (f.fnv."1.0.6".default or true);
   }) [];
 
@@ -1015,7 +1015,7 @@ rec {
       (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
     ]);
   };
-  features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec {
+  features_.foreign_types."0.3.2" = deps: f: updateFeatures f ({
     foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true);
     foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true;
   }) [
@@ -1033,7 +1033,7 @@ rec {
     authors = [ "Steven Fackler <sfackler@gmail.com>" ];
     sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
   };
-  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec {
+  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f ({
     foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true);
   }) [];
 
@@ -1051,7 +1051,7 @@ rec {
       (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.2.1"."fuchsia_zircon_sys"}" deps)
     ]);
   };
-  features_.fuchsia_zircon."0.2.1" = deps: f: updateFeatures f (rec {
+  features_.fuchsia_zircon."0.2.1" = deps: f: updateFeatures f ({
     fuchsia_zircon."0.2.1".default = (f.fuchsia_zircon."0.2.1".default or true);
     fuchsia_zircon_sys."${deps.fuchsia_zircon."0.2.1".fuchsia_zircon_sys}".default = true;
   }) [
@@ -1073,7 +1073,7 @@ rec {
       (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
     ]);
   };
-  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f (rec {
+  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f ({
     bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
     fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
     fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
@@ -1096,7 +1096,7 @@ rec {
       (crates."bitflags"."${deps."fuchsia_zircon_sys"."0.2.0"."bitflags"}" deps)
     ]);
   };
-  features_.fuchsia_zircon_sys."0.2.0" = deps: f: updateFeatures f (rec {
+  features_.fuchsia_zircon_sys."0.2.0" = deps: f: updateFeatures f ({
     bitflags."${deps.fuchsia_zircon_sys."0.2.0".bitflags}".default = true;
     fuchsia_zircon_sys."0.2.0".default = (f.fuchsia_zircon_sys."0.2.0".default or true);
   }) [
@@ -1114,7 +1114,7 @@ rec {
     authors = [ "Raph Levien <raph@google.com>" ];
     sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
   };
-  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f (rec {
+  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f ({
     fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
   }) [];
 
@@ -1206,7 +1206,7 @@ rec {
     ]);
     features = mkFeatures (features."h2"."0.1.13" or {});
   };
-  features_.h2."0.1.13" = deps: f: updateFeatures f (rec {
+  features_.h2."0.1.13" = deps: f: updateFeatures f ({
     byteorder."${deps.h2."0.1.13".byteorder}".default = true;
     bytes."${deps.h2."0.1.13".bytes}".default = true;
     fnv."${deps.h2."0.1.13".fnv}".default = true;
@@ -1247,7 +1247,7 @@ rec {
       (crates."itoa"."${deps."http"."0.1.14"."itoa"}" deps)
     ]);
   };
-  features_.http."0.1.14" = deps: f: updateFeatures f (rec {
+  features_.http."0.1.14" = deps: f: updateFeatures f ({
     bytes."${deps.http."0.1.14".bytes}".default = true;
     fnv."${deps.http."0.1.14".fnv}".default = true;
     http."0.1.14".default = (f.http."0.1.14".default or true);
@@ -1454,7 +1454,7 @@ rec {
       (crates."unicode_normalization"."${deps."idna"."0.1.4"."unicode_normalization"}" deps)
     ]);
   };
-  features_.idna."0.1.4" = deps: f: updateFeatures f (rec {
+  features_.idna."0.1.4" = deps: f: updateFeatures f ({
     idna."0.1.4".default = (f.idna."0.1.4".default or true);
     matches."${deps.idna."0.1.4".matches}".default = true;
     unicode_bidi."${deps.idna."0.1.4".unicode_bidi}".default = true;
@@ -1506,7 +1506,7 @@ rec {
       (crates."winapi"."${deps."iovec"."0.1.1"."winapi"}" deps)
     ]) else []);
   };
-  features_.iovec."0.1.1" = deps: f: updateFeatures f (rec {
+  features_.iovec."0.1.1" = deps: f: updateFeatures f ({
     iovec."0.1.1".default = (f.iovec."0.1.1".default or true);
     libc."${deps.iovec."0.1.1".libc}".default = true;
     winapi."${deps.iovec."0.1.1".winapi}".default = true;
@@ -1533,7 +1533,7 @@ rec {
       (crates."winapi"."${deps."isatty"."0.1.5"."winapi"}" deps)
     ]) else []);
   };
-  features_.isatty."0.1.5" = deps: f: updateFeatures f (rec {
+  features_.isatty."0.1.5" = deps: f: updateFeatures f ({
     isatty."0.1.5".default = (f.isatty."0.1.5".default or true);
     kernel32_sys."${deps.isatty."0.1.5".kernel32_sys}".default = true;
     libc."${deps.isatty."0.1.5".libc}".default = true;
@@ -1558,7 +1558,7 @@ rec {
       (crates."either"."${deps."itertools"."0.6.5"."either"}" deps)
     ]);
   };
-  features_.itertools."0.6.5" = deps: f: updateFeatures f (rec {
+  features_.itertools."0.6.5" = deps: f: updateFeatures f ({
     either."${deps.itertools."0.6.5".either}".default = (f.either."${deps.itertools."0.6.5".either}".default or false);
     itertools."0.6.5".default = (f.itertools."0.6.5".default or true);
   }) [
@@ -1577,7 +1577,7 @@ rec {
     sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
     features = mkFeatures (features."itoa"."0.3.4" or {});
   };
-  features_.itoa."0.3.4" = deps: f: updateFeatures f (rec {
+  features_.itoa."0.3.4" = deps: f: updateFeatures f ({
     itoa."0.3.4".default = (f.itoa."0.3.4".default or true);
   }) [];
 
@@ -1623,7 +1623,7 @@ rec {
       (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
     ]);
   };
-  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
+  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f ({
     kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
     winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
     winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
@@ -1765,7 +1765,7 @@ rec {
       (crates."crc32fast"."${deps."libflate"."0.1.19"."crc32fast"}" deps)
     ]);
   };
-  features_.libflate."0.1.19" = deps: f: updateFeatures f (rec {
+  features_.libflate."0.1.19" = deps: f: updateFeatures f ({
     adler32."${deps.libflate."0.1.19".adler32}".default = true;
     byteorder."${deps.libflate."0.1.19".byteorder}".default = true;
     crc32fast."${deps.libflate."0.1.19".crc32fast}".default = true;
@@ -1792,7 +1792,7 @@ rec {
       ++ (if features.lock_api."0.1.5".owning_ref or false then [ (crates.owning_ref."${deps."lock_api"."0.1.5".owning_ref}" deps) ] else []));
     features = mkFeatures (features."lock_api"."0.1.5" or {});
   };
-  features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec {
+  features_.lock_api."0.1.5" = deps: f: updateFeatures f ({
     lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true);
     owning_ref."${deps.lock_api."0.1.5".owning_ref}".default = true;
     scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false);
@@ -1838,7 +1838,7 @@ rec {
     ]);
     features = mkFeatures (features."log"."0.4.6" or {});
   };
-  features_.log."0.4.6" = deps: f: updateFeatures f (rec {
+  features_.log."0.4.6" = deps: f: updateFeatures f ({
     cfg_if."${deps.log."0.4.6".cfg_if}".default = true;
     log."0.4.6".default = (f.log."0.4.6".default or true);
   }) [
@@ -1856,7 +1856,7 @@ rec {
     authors = [ "bluss" ];
     sha256 = "1f8kf5v7xra8ssvh5c10qlacbk4l0z2817pkscflx5s5q6y7925h";
   };
-  features_.maplit."0.1.6" = deps: f: updateFeatures f (rec {
+  features_.maplit."0.1.6" = deps: f: updateFeatures f ({
     maplit."0.1.6".default = (f.maplit."0.1.6".default or true);
   }) [];
 
@@ -1872,7 +1872,7 @@ rec {
     sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
     libPath = "lib.rs";
   };
-  features_.matches."0.1.6" = deps: f: updateFeatures f (rec {
+  features_.matches."0.1.6" = deps: f: updateFeatures f ({
     matches."0.1.6".default = (f.matches."0.1.6".default or true);
   }) [];
 
@@ -1890,7 +1890,7 @@ rec {
       (crates."libc"."${deps."memchr"."0.1.11"."libc"}" deps)
     ]);
   };
-  features_.memchr."0.1.11" = deps: f: updateFeatures f (rec {
+  features_.memchr."0.1.11" = deps: f: updateFeatures f ({
     libc."${deps.memchr."0.1.11".libc}".default = true;
     memchr."0.1.11".default = (f.memchr."0.1.11".default or true);
   }) [
@@ -1908,7 +1908,7 @@ rec {
     authors = [ "Gilad Naaman <gilad.naaman@gmail.com>" ];
     sha256 = "00vym01jk9slibq2nsiilgffp7n6k52a4q3n4dqp0xf5kzxvffcf";
   };
-  features_.memoffset."0.2.1" = deps: f: updateFeatures f (rec {
+  features_.memoffset."0.2.1" = deps: f: updateFeatures f ({
     memoffset."0.2.1".default = (f.memoffset."0.2.1".default or true);
   }) [];
 
@@ -1926,7 +1926,7 @@ rec {
       (crates."unicase"."${deps."mime"."0.3.12"."unicase"}" deps)
     ]);
   };
-  features_.mime."0.3.12" = deps: f: updateFeatures f (rec {
+  features_.mime."0.3.12" = deps: f: updateFeatures f ({
     mime."0.3.12".default = (f.mime."0.3.12".default or true);
     unicase."${deps.mime."0.3.12".unicase}".default = true;
   }) [
@@ -1955,7 +1955,7 @@ rec {
     ]);
     features = mkFeatures (features."mime_guess"."2.0.0-alpha.6" or {});
   };
-  features_.mime_guess."2.0.0-alpha.6" = deps: f: updateFeatures f (rec {
+  features_.mime_guess."2.0.0-alpha.6" = deps: f: updateFeatures f ({
     mime."${deps.mime_guess."2.0.0-alpha.6".mime}".default = true;
     mime_guess."2.0.0-alpha.6".default = (f.mime_guess."2.0.0-alpha.6".default or true);
     phf = fold recursiveUpdate {} [
@@ -1993,7 +1993,7 @@ rec {
       (crates."cc"."${deps."miniz_sys"."0.1.10"."cc"}" deps)
     ]);
   };
-  features_.miniz_sys."0.1.10" = deps: f: updateFeatures f (rec {
+  features_.miniz_sys."0.1.10" = deps: f: updateFeatures f ({
     cc."${deps.miniz_sys."0.1.10".cc}".default = true;
     libc."${deps.miniz_sys."0.1.10".libc}".default = true;
     miniz_sys."0.1.10".default = (f.miniz_sys."0.1.10".default or true);
@@ -2083,7 +2083,7 @@ rec {
       (crates."ws2_32_sys"."${deps."miow"."0.2.1"."ws2_32_sys"}" deps)
     ]);
   };
-  features_.miow."0.2.1" = deps: f: updateFeatures f (rec {
+  features_.miow."0.2.1" = deps: f: updateFeatures f ({
     kernel32_sys."${deps.miow."0.2.1".kernel32_sys}".default = true;
     miow."0.2.1".default = (f.miow."0.2.1".default or true);
     net2."${deps.miow."0.2.1".net2}".default = (f.net2."${deps.miow."0.2.1".net2}".default or false);
@@ -2126,7 +2126,7 @@ rec {
     ]) else []);
     features = mkFeatures (features."native_tls"."0.2.2" or {});
   };
-  features_.native_tls."0.2.2" = deps: f: updateFeatures f (rec {
+  features_.native_tls."0.2.2" = deps: f: updateFeatures f ({
     lazy_static."${deps.native_tls."0.2.2".lazy_static}".default = true;
     libc."${deps.native_tls."0.2.2".libc}".default = true;
     log."${deps.native_tls."0.2.2".log}".default = true;
@@ -2296,7 +2296,7 @@ rec {
       (crates."num_traits"."${deps."num_integer"."0.1.35"."num_traits"}" deps)
     ]);
   };
-  features_.num_integer."0.1.35" = deps: f: updateFeatures f (rec {
+  features_.num_integer."0.1.35" = deps: f: updateFeatures f ({
     num_integer."0.1.35".default = (f.num_integer."0.1.35".default or true);
     num_traits."${deps.num_integer."0.1.35".num_traits}".default = true;
   }) [
@@ -2318,7 +2318,7 @@ rec {
       (crates."num_traits"."${deps."num_iter"."0.1.34"."num_traits"}" deps)
     ]);
   };
-  features_.num_iter."0.1.34" = deps: f: updateFeatures f (rec {
+  features_.num_iter."0.1.34" = deps: f: updateFeatures f ({
     num_integer."${deps.num_iter."0.1.34".num_integer}".default = true;
     num_iter."0.1.34".default = (f.num_iter."0.1.34".default or true);
     num_traits."${deps.num_iter."0.1.34".num_traits}".default = true;
@@ -2338,7 +2338,7 @@ rec {
     authors = [ "The Rust Project Developers" ];
     sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
   };
-  features_.num_traits."0.1.40" = deps: f: updateFeatures f (rec {
+  features_.num_traits."0.1.40" = deps: f: updateFeatures f ({
     num_traits."0.1.40".default = (f.num_traits."0.1.40".default or true);
   }) [];
 
@@ -2356,7 +2356,7 @@ rec {
       (crates."libc"."${deps."num_cpus"."1.8.0"."libc"}" deps)
     ]);
   };
-  features_.num_cpus."1.8.0" = deps: f: updateFeatures f (rec {
+  features_.num_cpus."1.8.0" = deps: f: updateFeatures f ({
     libc."${deps.num_cpus."1.8.0".libc}".default = true;
     num_cpus."1.8.0".default = (f.num_cpus."1.8.0".default or true);
   }) [
@@ -2417,7 +2417,7 @@ rec {
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
     sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a";
   };
-  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f ({
     openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true);
   }) [];
 
@@ -2475,7 +2475,7 @@ rec {
       (crates."stable_deref_trait"."${deps."owning_ref"."0.4.0"."stable_deref_trait"}" deps)
     ]);
   };
-  features_.owning_ref."0.4.0" = deps: f: updateFeatures f (rec {
+  features_.owning_ref."0.4.0" = deps: f: updateFeatures f ({
     owning_ref."0.4.0".default = (f.owning_ref."0.4.0".default or true);
     stable_deref_trait."${deps.owning_ref."0.4.0".stable_deref_trait}".default = true;
   }) [
@@ -2609,7 +2609,7 @@ rec {
     sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i";
     libPath = "lib.rs";
   };
-  features_.percent_encoding."1.0.1" = deps: f: updateFeatures f (rec {
+  features_.percent_encoding."1.0.1" = deps: f: updateFeatures f ({
     percent_encoding."1.0.1".default = (f.percent_encoding."1.0.1".default or true);
   }) [];
 
@@ -2661,7 +2661,7 @@ rec {
       (crates."phf_shared"."${deps."phf_codegen"."0.7.21"."phf_shared"}" deps)
     ]);
   };
-  features_.phf_codegen."0.7.21" = deps: f: updateFeatures f (rec {
+  features_.phf_codegen."0.7.21" = deps: f: updateFeatures f ({
     phf_codegen."0.7.21".default = (f.phf_codegen."0.7.21".default or true);
     phf_generator."${deps.phf_codegen."0.7.21".phf_generator}".default = true;
     phf_shared."${deps.phf_codegen."0.7.21".phf_shared}".default = true;
@@ -2685,7 +2685,7 @@ rec {
       (crates."rand"."${deps."phf_generator"."0.7.21"."rand"}" deps)
     ]);
   };
-  features_.phf_generator."0.7.21" = deps: f: updateFeatures f (rec {
+  features_.phf_generator."0.7.21" = deps: f: updateFeatures f ({
     phf_generator."0.7.21".default = (f.phf_generator."0.7.21".default or true);
     phf_shared."${deps.phf_generator."0.7.21".phf_shared}".default = true;
     rand."${deps.phf_generator."0.7.21".rand}".default = true;
@@ -2711,7 +2711,7 @@ rec {
       ++ (if features.phf_shared."0.7.21".unicase or false then [ (crates.unicase."${deps."phf_shared"."0.7.21".unicase}" deps) ] else []));
     features = mkFeatures (features."phf_shared"."0.7.21" or {});
   };
-  features_.phf_shared."0.7.21" = deps: f: updateFeatures f (rec {
+  features_.phf_shared."0.7.21" = deps: f: updateFeatures f ({
     phf_shared."0.7.21".default = (f.phf_shared."0.7.21".default or true);
     siphasher."${deps.phf_shared."0.7.21".siphasher}".default = true;
     unicase."${deps.phf_shared."0.7.21".unicase}".default = true;
@@ -2731,7 +2731,7 @@ rec {
     authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
     sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
   };
-  features_.pkg_config."0.3.9" = deps: f: updateFeatures f (rec {
+  features_.pkg_config."0.3.9" = deps: f: updateFeatures f ({
     pkg_config."0.3.9".default = (f.pkg_config."0.3.9".default or true);
   }) [];
 
@@ -2746,7 +2746,7 @@ rec {
     authors = [ "David Tolnay <dtolnay@gmail.com>" ];
     sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
   };
-  features_.quote."0.3.15" = deps: f: updateFeatures f (rec {
+  features_.quote."0.3.15" = deps: f: updateFeatures f ({
     quote."0.3.15".default = (f.quote."0.3.15".default or true);
   }) [];
 
@@ -3036,7 +3036,7 @@ rec {
       (crates."rustc_version"."${deps."rand_chacha"."0.1.0"."rustc_version"}" deps)
     ]);
   };
-  features_.rand_chacha."0.1.0" = deps: f: updateFeatures f (rec {
+  features_.rand_chacha."0.1.0" = deps: f: updateFeatures f ({
     rand_chacha."0.1.0".default = (f.rand_chacha."0.1.0".default or true);
     rand_core."${deps.rand_chacha."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.0".rand_core}".default or false);
     rustc_version."${deps.rand_chacha."0.1.0".rustc_version}".default = true;
@@ -3131,7 +3131,7 @@ rec {
       (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
     ]);
   };
-  features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec {
+  features_.rand_hc."0.1.0" = deps: f: updateFeatures f ({
     rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false);
     rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true);
   }) [
@@ -3259,7 +3259,7 @@ rec {
     sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
     libName = "syscall";
   };
-  features_.redox_syscall."0.1.31" = deps: f: updateFeatures f (rec {
+  features_.redox_syscall."0.1.31" = deps: f: updateFeatures f ({
     redox_syscall."0.1.31".default = (f.redox_syscall."0.1.31".default or true);
   }) [];
 
@@ -3278,7 +3278,7 @@ rec {
       (crates."redox_syscall"."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
     ]);
   };
-  features_.redox_termios."0.1.1" = deps: f: updateFeatures f (rec {
+  features_.redox_termios."0.1.1" = deps: f: updateFeatures f ({
     redox_syscall."${deps.redox_termios."0.1.1".redox_syscall}".default = true;
     redox_termios."0.1.1".default = (f.redox_termios."0.1.1".default or true);
   }) [
@@ -3336,7 +3336,7 @@ rec {
     authors = [ "The Rust Project Developers" ];
     sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
   };
-  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f (rec {
+  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f ({
     regex_syntax."0.3.9".default = (f.regex_syntax."0.3.9".default or true);
   }) [];
 
@@ -3354,7 +3354,7 @@ rec {
       (crates."winapi"."${deps."remove_dir_all"."0.5.1"."winapi"}" deps)
     ]) else []);
   };
-  features_.remove_dir_all."0.5.1" = deps: f: updateFeatures f (rec {
+  features_.remove_dir_all."0.5.1" = deps: f: updateFeatures f ({
     remove_dir_all."0.5.1".default = (f.remove_dir_all."0.5.1".default or true);
     winapi = fold recursiveUpdate {} [
       { "${deps.remove_dir_all."0.5.1".winapi}"."errhandlingapi" = true; }
@@ -3479,7 +3479,7 @@ rec {
       (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps)
     ]);
   };
-  features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec {
+  features_.rustc_version."0.2.3" = deps: f: updateFeatures f ({
     rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true);
     semver."${deps.rustc_version."0.2.3".semver}".default = true;
   }) [
@@ -3523,7 +3523,7 @@ rec {
       (crates."winapi"."${deps."schannel"."0.1.14"."winapi"}" deps)
     ]);
   };
-  features_.schannel."0.1.14" = deps: f: updateFeatures f (rec {
+  features_.schannel."0.1.14" = deps: f: updateFeatures f ({
     lazy_static."${deps.schannel."0.1.14".lazy_static}".default = true;
     schannel."0.1.14".default = (f.schannel."0.1.14".default or true);
     winapi = fold recursiveUpdate {} [
@@ -3706,7 +3706,7 @@ rec {
     authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
     sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
   };
-  features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec {
+  features_.semver_parser."0.7.0" = deps: f: updateFeatures f ({
     semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true);
   }) [];
 
@@ -3798,7 +3798,7 @@ rec {
       (crates."url"."${deps."serde_urlencoded"."0.5.1"."url"}" deps)
     ]);
   };
-  features_.serde_urlencoded."0.5.1" = deps: f: updateFeatures f (rec {
+  features_.serde_urlencoded."0.5.1" = deps: f: updateFeatures f ({
     dtoa."${deps.serde_urlencoded."0.5.1".dtoa}".default = true;
     itoa."${deps.serde_urlencoded."0.5.1".itoa}".default = true;
     serde."${deps.serde_urlencoded."0.5.1".serde}".default = true;
@@ -3824,7 +3824,7 @@ rec {
     dependencies = mapFeatures features ([
 ]);
   };
-  features_.siphasher."0.2.2" = deps: f: updateFeatures f (rec {
+  features_.siphasher."0.2.2" = deps: f: updateFeatures f ({
     siphasher."0.2.2".default = (f.siphasher."0.2.2".default or true);
   }) [];
 
@@ -3839,7 +3839,7 @@ rec {
     authors = [ "Carl Lerche <me@carllerche.com>" ];
     sha256 = "1qy2vkgwqgj5z4ygdkh040n9yh1vz80v5flxb1xrvw3i4wxs7yx0";
   };
-  features_.slab."0.4.0" = deps: f: updateFeatures f (rec {
+  features_.slab."0.4.0" = deps: f: updateFeatures f ({
     slab."0.4.0".default = (f.slab."0.4.0".default or true);
   }) [];
 
@@ -3884,7 +3884,7 @@ rec {
       (crates."slog_term"."${deps."slog_envlogger"."0.5.0"."slog_term"}" deps)
     ]);
   };
-  features_.slog_envlogger."0.5.0" = deps: f: updateFeatures f (rec {
+  features_.slog_envlogger."0.5.0" = deps: f: updateFeatures f ({
     log."${deps.slog_envlogger."0.5.0".log}".default = true;
     regex."${deps.slog_envlogger."0.5.0".regex}".default = true;
     slog."${deps.slog_envlogger."0.5.0".slog}".default = true;
@@ -3915,7 +3915,7 @@ rec {
       (crates."thread_local"."${deps."slog_extra"."0.1.2"."thread_local"}" deps)
     ]);
   };
-  features_.slog_extra."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.slog_extra."0.1.2" = deps: f: updateFeatures f ({
     slog."${deps.slog_extra."0.1.2".slog}".default = true;
     slog_extra."0.1.2".default = (f.slog_extra."0.1.2".default or true);
     thread_local."${deps.slog_extra."0.1.2".thread_local}".default = true;
@@ -3943,7 +3943,7 @@ rec {
       (crates."slog_term"."${deps."slog_stdlog"."1.1.0"."slog_term"}" deps)
     ]);
   };
-  features_.slog_stdlog."1.1.0" = deps: f: updateFeatures f (rec {
+  features_.slog_stdlog."1.1.0" = deps: f: updateFeatures f ({
     crossbeam."${deps.slog_stdlog."1.1.0".crossbeam}".default = true;
     lazy_static."${deps.slog_stdlog."1.1.0".lazy_static}".default = true;
     log."${deps.slog_stdlog."1.1.0".log}".default = true;
@@ -3975,7 +3975,7 @@ rec {
       (crates."thread_local"."${deps."slog_stream"."1.2.1"."thread_local"}" deps)
     ]);
   };
-  features_.slog_stream."1.2.1" = deps: f: updateFeatures f (rec {
+  features_.slog_stream."1.2.1" = deps: f: updateFeatures f ({
     slog."${deps.slog_stream."1.2.1".slog}".default = true;
     slog_extra."${deps.slog_stream."1.2.1".slog_extra}".default = true;
     slog_stream."1.2.1".default = (f.slog_stream."1.2.1".default or true);
@@ -4005,7 +4005,7 @@ rec {
       (crates."thread_local"."${deps."slog_term"."1.5.0"."thread_local"}" deps)
     ]);
   };
-  features_.slog_term."1.5.0" = deps: f: updateFeatures f (rec {
+  features_.slog_term."1.5.0" = deps: f: updateFeatures f ({
     chrono."${deps.slog_term."1.5.0".chrono}".default = true;
     isatty."${deps.slog_term."1.5.0".isatty}".default = true;
     slog."${deps.slog_term."1.5.0".slog}".default = true;
@@ -4082,7 +4082,7 @@ rec {
     authors = [ "Carl Lerche <me@carllerche.com>" ];
     sha256 = "1120qvf02aydqj0k3kpr8d7zybq0y5arnmgmfsdw75r8qwz75wc6";
   };
-  features_.string."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.string."0.1.2" = deps: f: updateFeatures f ({
     string."0.1.2".default = (f.string."0.1.2".default or true);
   }) [];
 
@@ -4097,7 +4097,7 @@ rec {
     authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
     sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
   };
-  features_.strsim."0.6.0" = deps: f: updateFeatures f (rec {
+  features_.strsim."0.6.0" = deps: f: updateFeatures f ({
     strsim."0.6.0".default = (f.strsim."0.6.0".default or true);
   }) [];
 
@@ -4165,7 +4165,7 @@ rec {
       (crates."unicode_xid"."${deps."synom"."0.11.3"."unicode_xid"}" deps)
     ]);
   };
-  features_.synom."0.11.3" = deps: f: updateFeatures f (rec {
+  features_.synom."0.11.3" = deps: f: updateFeatures f ({
     synom."0.11.3".default = (f.synom."0.11.3".default or true);
     unicode_xid."${deps.synom."0.11.3".unicode_xid}".default = true;
   }) [
@@ -4233,7 +4233,7 @@ rec {
       (crates."winapi"."${deps."tempfile"."3.0.5"."winapi"}" deps)
     ]) else []);
   };
-  features_.tempfile."3.0.5" = deps: f: updateFeatures f (rec {
+  features_.tempfile."3.0.5" = deps: f: updateFeatures f ({
     cfg_if."${deps.tempfile."3.0.5".cfg_if}".default = true;
     libc."${deps.tempfile."3.0.5".libc}".default = true;
     rand."${deps.tempfile."3.0.5".rand}".default = true;
@@ -4273,7 +4273,7 @@ rec {
       (crates."redox_termios"."${deps."termion"."1.5.1"."redox_termios"}" deps)
     ]) else []);
   };
-  features_.termion."1.5.1" = deps: f: updateFeatures f (rec {
+  features_.termion."1.5.1" = deps: f: updateFeatures f ({
     libc."${deps.termion."1.5.1".libc}".default = true;
     redox_syscall."${deps.termion."1.5.1".redox_syscall}".default = true;
     redox_termios."${deps.termion."1.5.1".redox_termios}".default = true;
@@ -4298,7 +4298,7 @@ rec {
       (crates."unicode_width"."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
     ]);
   };
-  features_.textwrap."0.9.0" = deps: f: updateFeatures f (rec {
+  features_.textwrap."0.9.0" = deps: f: updateFeatures f ({
     textwrap."0.9.0".default = (f.textwrap."0.9.0".default or true);
     unicode_width."${deps.textwrap."0.9.0".unicode_width}".default = true;
   }) [
@@ -4320,7 +4320,7 @@ rec {
       (crates."libc"."${deps."thread_id"."2.0.0"."libc"}" deps)
     ]);
   };
-  features_.thread_id."2.0.0" = deps: f: updateFeatures f (rec {
+  features_.thread_id."2.0.0" = deps: f: updateFeatures f ({
     kernel32_sys."${deps.thread_id."2.0.0".kernel32_sys}".default = true;
     libc."${deps.thread_id."2.0.0".libc}".default = true;
     thread_id."2.0.0".default = (f.thread_id."2.0.0".default or true);
@@ -4343,7 +4343,7 @@ rec {
       (crates."thread_id"."${deps."thread_local"."0.2.7"."thread_id"}" deps)
     ]);
   };
-  features_.thread_local."0.2.7" = deps: f: updateFeatures f (rec {
+  features_.thread_local."0.2.7" = deps: f: updateFeatures f ({
     thread_id."${deps.thread_local."0.2.7".thread_id}".default = true;
     thread_local."0.2.7".default = (f.thread_local."0.2.7".default or true);
   }) [
@@ -4365,7 +4365,7 @@ rec {
       (crates."unreachable"."${deps."thread_local"."0.3.4"."unreachable"}" deps)
     ]);
   };
-  features_.thread_local."0.3.4" = deps: f: updateFeatures f (rec {
+  features_.thread_local."0.3.4" = deps: f: updateFeatures f ({
     lazy_static."${deps.thread_local."0.3.4".lazy_static}".default = true;
     thread_local."0.3.4".default = (f.thread_local."0.3.4".default or true);
     unreachable."${deps.thread_local."0.3.4".unreachable}".default = true;
@@ -4395,7 +4395,7 @@ rec {
       (crates."winapi"."${deps."time"."0.1.38"."winapi"}" deps)
     ]) else []);
   };
-  features_.time."0.1.38" = deps: f: updateFeatures f (rec {
+  features_.time."0.1.38" = deps: f: updateFeatures f ({
     kernel32_sys."${deps.time."0.1.38".kernel32_sys}".default = true;
     libc."${deps.time."0.1.38".libc}".default = true;
     redox_syscall."${deps.time."0.1.38".redox_syscall}".default = true;
@@ -4431,7 +4431,7 @@ rec {
       (crates."tokio_udp"."${deps."tokio"."0.1.7"."tokio_udp"}" deps)
     ]);
   };
-  features_.tokio."0.1.7" = deps: f: updateFeatures f (rec {
+  features_.tokio."0.1.7" = deps: f: updateFeatures f ({
     futures."${deps.tokio."0.1.7".futures}".default = true;
     mio."${deps.tokio."0.1.7".mio}".default = true;
     tokio."0.1.7".default = (f.tokio."0.1.7".default or true);
@@ -4472,7 +4472,7 @@ rec {
       (crates."tokio_io"."${deps."tokio_codec"."0.1.1"."tokio_io"}" deps)
     ]);
   };
-  features_.tokio_codec."0.1.1" = deps: f: updateFeatures f (rec {
+  features_.tokio_codec."0.1.1" = deps: f: updateFeatures f ({
     bytes."${deps.tokio_codec."0.1.1".bytes}".default = true;
     futures."${deps.tokio_codec."0.1.1".futures}".default = true;
     tokio_codec."0.1.1".default = (f.tokio_codec."0.1.1".default or true);
@@ -4497,7 +4497,7 @@ rec {
       (crates."futures"."${deps."tokio_executor"."0.1.5"."futures"}" deps)
     ]);
   };
-  features_.tokio_executor."0.1.5" = deps: f: updateFeatures f (rec {
+  features_.tokio_executor."0.1.5" = deps: f: updateFeatures f ({
     futures."${deps.tokio_executor."0.1.5".futures}".default = true;
     tokio_executor."0.1.5".default = (f.tokio_executor."0.1.5".default or true);
   }) [
@@ -4520,7 +4520,7 @@ rec {
       (crates."tokio_threadpool"."${deps."tokio_fs"."0.1.4"."tokio_threadpool"}" deps)
     ]);
   };
-  features_.tokio_fs."0.1.4" = deps: f: updateFeatures f (rec {
+  features_.tokio_fs."0.1.4" = deps: f: updateFeatures f ({
     futures."${deps.tokio_fs."0.1.4".futures}".default = true;
     tokio_fs."0.1.4".default = (f.tokio_fs."0.1.4".default or true);
     tokio_io."${deps.tokio_fs."0.1.4".tokio_io}".default = true;
@@ -4547,7 +4547,7 @@ rec {
       (crates."log"."${deps."tokio_io"."0.1.10"."log"}" deps)
     ]);
   };
-  features_.tokio_io."0.1.10" = deps: f: updateFeatures f (rec {
+  features_.tokio_io."0.1.10" = deps: f: updateFeatures f ({
     bytes."${deps.tokio_io."0.1.10".bytes}".default = true;
     futures."${deps.tokio_io."0.1.10".futures}".default = true;
     log."${deps.tokio_io."0.1.10".log}".default = true;
@@ -4581,7 +4581,7 @@ rec {
       (crates."tokio_io"."${deps."tokio_reactor"."0.1.7"."tokio_io"}" deps)
     ]);
   };
-  features_.tokio_reactor."0.1.7" = deps: f: updateFeatures f (rec {
+  features_.tokio_reactor."0.1.7" = deps: f: updateFeatures f ({
     crossbeam_utils."${deps.tokio_reactor."0.1.7".crossbeam_utils}".default = true;
     futures."${deps.tokio_reactor."0.1.7".futures}".default = true;
     lazy_static."${deps.tokio_reactor."0.1.7".lazy_static}".default = true;
@@ -4625,7 +4625,7 @@ rec {
       (crates."tokio_reactor"."${deps."tokio_tcp"."0.1.2"."tokio_reactor"}" deps)
     ]);
   };
-  features_.tokio_tcp."0.1.2" = deps: f: updateFeatures f (rec {
+  features_.tokio_tcp."0.1.2" = deps: f: updateFeatures f ({
     bytes."${deps.tokio_tcp."0.1.2".bytes}".default = true;
     futures."${deps.tokio_tcp."0.1.2".futures}".default = true;
     iovec."${deps.tokio_tcp."0.1.2".iovec}".default = true;
@@ -4662,7 +4662,7 @@ rec {
       (crates."tokio_executor"."${deps."tokio_threadpool"."0.1.9"."tokio_executor"}" deps)
     ]);
   };
-  features_.tokio_threadpool."0.1.9" = deps: f: updateFeatures f (rec {
+  features_.tokio_threadpool."0.1.9" = deps: f: updateFeatures f ({
     crossbeam_deque."${deps.tokio_threadpool."0.1.9".crossbeam_deque}".default = true;
     crossbeam_utils."${deps.tokio_threadpool."0.1.9".crossbeam_utils}".default = true;
     futures."${deps.tokio_threadpool."0.1.9".futures}".default = true;
@@ -4696,7 +4696,7 @@ rec {
       (crates."tokio_executor"."${deps."tokio_timer"."0.2.5"."tokio_executor"}" deps)
     ]);
   };
-  features_.tokio_timer."0.2.5" = deps: f: updateFeatures f (rec {
+  features_.tokio_timer."0.2.5" = deps: f: updateFeatures f ({
     futures."${deps.tokio_timer."0.2.5".futures}".default = true;
     tokio_executor."${deps.tokio_timer."0.2.5".tokio_executor}".default = true;
     tokio_timer."0.2.5".default = (f.tokio_timer."0.2.5".default or true);
@@ -4725,7 +4725,7 @@ rec {
       (crates."tokio_reactor"."${deps."tokio_udp"."0.1.3"."tokio_reactor"}" deps)
     ]);
   };
-  features_.tokio_udp."0.1.3" = deps: f: updateFeatures f (rec {
+  features_.tokio_udp."0.1.3" = deps: f: updateFeatures f ({
     bytes."${deps.tokio_udp."0.1.3".bytes}".default = true;
     futures."${deps.tokio_udp."0.1.3".futures}".default = true;
     log."${deps.tokio_udp."0.1.3".log}".default = true;
@@ -4755,7 +4755,7 @@ rec {
     authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
     sha256 = "1k8xc0jpbrmzp0fwghdh6pwzjb9xx2p8yy0xxnnb8065smc5fsrv";
   };
-  features_.try_lock."0.2.2" = deps: f: updateFeatures f (rec {
+  features_.try_lock."0.2.2" = deps: f: updateFeatures f ({
     try_lock."0.2.2".default = (f.try_lock."0.2.2".default or true);
   }) [];
 
@@ -4812,7 +4812,7 @@ rec {
     ]);
     features = mkFeatures (features."unicase"."2.1.0" or {});
   };
-  features_.unicase."2.1.0" = deps: f: updateFeatures f (rec {
+  features_.unicase."2.1.0" = deps: f: updateFeatures f ({
     unicase."2.1.0".default = (f.unicase."2.1.0".default or true);
     version_check."${deps.unicase."2.1.0".version_check}".default = true;
   }) [
@@ -4867,7 +4867,7 @@ rec {
     authors = [ "kwantam <kwantam@gmail.com>" ];
     sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
   };
-  features_.unicode_normalization."0.1.5" = deps: f: updateFeatures f (rec {
+  features_.unicode_normalization."0.1.5" = deps: f: updateFeatures f ({
     unicode_normalization."0.1.5".default = (f.unicode_normalization."0.1.5".default or true);
   }) [];
 
@@ -4883,7 +4883,7 @@ rec {
     sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
     features = mkFeatures (features."unicode_width"."0.1.4" or {});
   };
-  features_.unicode_width."0.1.4" = deps: f: updateFeatures f (rec {
+  features_.unicode_width."0.1.4" = deps: f: updateFeatures f ({
     unicode_width."0.1.4".default = (f.unicode_width."0.1.4".default or true);
   }) [];
 
@@ -4899,7 +4899,7 @@ rec {
     sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
     features = mkFeatures (features."unicode_xid"."0.0.4" or {});
   };
-  features_.unicode_xid."0.0.4" = deps: f: updateFeatures f (rec {
+  features_.unicode_xid."0.0.4" = deps: f: updateFeatures f ({
     unicode_xid."0.0.4".default = (f.unicode_xid."0.0.4".default or true);
   }) [];
 
@@ -4917,7 +4917,7 @@ rec {
       (crates."void"."${deps."unreachable"."1.0.0"."void"}" deps)
     ]);
   };
-  features_.unreachable."1.0.0" = deps: f: updateFeatures f (rec {
+  features_.unreachable."1.0.0" = deps: f: updateFeatures f ({
     unreachable."1.0.0".default = (f.unreachable."1.0.0".default or true);
     void."${deps.unreachable."1.0.0".void}".default = (f.void."${deps.unreachable."1.0.0".void}".default or false);
   }) [
@@ -4926,40 +4926,40 @@ rec {
 
 
 # end
-# url-1.7.2
+# url-1.6.1
 
-  crates.url."1.7.2" = deps: { features?(features_.url."1.7.2" deps {}) }: buildRustCrate {
+  crates.url."1.6.1" = deps: { features?(features_.url."1.6.1" deps {}) }: buildRustCrate {
     crateName = "url";
-    version = "1.7.2";
+    version = "1.6.1";
     description = "URL library for Rust, based on the WHATWG URL Standard";
     authors = [ "The rust-url developers" ];
-    sha256 = "0qzrjzd9r1niv7037x4cgnv98fs1vj0k18lpxx890ipc47x5gc09";
+    sha256 = "1qsnhmxznzaxl068a3ksz69kwcz7ghvl4zflg9qj7lyw4bk9ma38";
     dependencies = mapFeatures features ([
-      (crates."idna"."${deps."url"."1.7.2"."idna"}" deps)
-      (crates."matches"."${deps."url"."1.7.2"."matches"}" deps)
-      (crates."percent_encoding"."${deps."url"."1.7.2"."percent_encoding"}" deps)
+      (crates."idna"."${deps."url"."1.6.1"."idna"}" deps)
+      (crates."matches"."${deps."url"."1.6.1"."matches"}" deps)
+      (crates."percent_encoding"."${deps."url"."1.6.1"."percent_encoding"}" deps)
     ]);
-    features = mkFeatures (features."url"."1.7.2" or {});
+    features = mkFeatures (features."url"."1.6.1" or {});
   };
-  features_.url."1.7.2" = deps: f: updateFeatures f (rec {
-    idna."${deps.url."1.7.2".idna}".default = true;
-    matches."${deps.url."1.7.2".matches}".default = true;
-    percent_encoding."${deps.url."1.7.2".percent_encoding}".default = true;
+  features_.url."1.6.1" = deps: f: updateFeatures f (rec {
+    idna."${deps.url."1.6.1".idna}".default = true;
+    matches."${deps.url."1.6.1".matches}".default = true;
+    percent_encoding."${deps.url."1.6.1".percent_encoding}".default = true;
     url = fold recursiveUpdate {} [
-      { "1.7.2"."encoding" =
-        (f.url."1.7.2"."encoding" or false) ||
-        (f.url."1.7.2".query_encoding or false) ||
-        (url."1.7.2"."query_encoding" or false); }
-      { "1.7.2"."heapsize" =
-        (f.url."1.7.2"."heapsize" or false) ||
-        (f.url."1.7.2".heap_size or false) ||
-        (url."1.7.2"."heap_size" or false); }
-      { "1.7.2".default = (f.url."1.7.2".default or true); }
+      { "1.6.1"."encoding" =
+        (f.url."1.6.1"."encoding" or false) ||
+        (f.url."1.6.1".query_encoding or false) ||
+        (url."1.6.1"."query_encoding" or false); }
+      { "1.6.1"."heapsize" =
+        (f.url."1.6.1"."heapsize" or false) ||
+        (f.url."1.6.1".heap_size or false) ||
+        (url."1.6.1"."heap_size" or false); }
+      { "1.6.1".default = (f.url."1.6.1".default or true); }
     ];
   }) [
-    (features_.idna."${deps."url"."1.7.2"."idna"}" deps)
-    (features_.matches."${deps."url"."1.7.2"."matches"}" deps)
-    (features_.percent_encoding."${deps."url"."1.7.2"."percent_encoding"}" deps)
+    (features_.idna."${deps."url"."1.6.1"."idna"}" deps)
+    (features_.matches."${deps."url"."1.6.1"."matches"}" deps)
+    (features_.percent_encoding."${deps."url"."1.6.1"."percent_encoding"}" deps)
   ];
 
 
@@ -4973,7 +4973,7 @@ rec {
     authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
     sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
   };
-  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f (rec {
+  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f ({
     utf8_ranges."0.1.3".default = (f.utf8_ranges."0.1.3".default or true);
   }) [];
 
@@ -5040,7 +5040,7 @@ rec {
     authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
     sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
   };
-  features_.vcpkg."0.2.2" = deps: f: updateFeatures f (rec {
+  features_.vcpkg."0.2.2" = deps: f: updateFeatures f ({
     vcpkg."0.2.2".default = (f.vcpkg."0.2.2".default or true);
   }) [];
 
@@ -5083,7 +5083,7 @@ rec {
     authors = [ "Sergio Benitez <sb@sergio.bz>" ];
     sha256 = "0z635wdclv9bvafj11fpgndn7y79ibpsnc364pm61i1m4wwg8msg";
   };
-  features_.version_check."0.1.3" = deps: f: updateFeatures f (rec {
+  features_.version_check."0.1.3" = deps: f: updateFeatures f ({
     version_check."0.1.3".default = (f.version_check."0.1.3".default or true);
   }) [];
 
@@ -5125,7 +5125,7 @@ rec {
       (crates."try_lock"."${deps."want"."0.0.6"."try_lock"}" deps)
     ]);
   };
-  features_.want."0.0.6" = deps: f: updateFeatures f (rec {
+  features_.want."0.0.6" = deps: f: updateFeatures f ({
     futures."${deps.want."0.0.6".futures}".default = true;
     log."${deps.want."0.0.6".log}".default = true;
     try_lock."${deps.want."0.0.6".try_lock}".default = true;
@@ -5147,7 +5147,7 @@ rec {
     authors = [ "Peter Atashian <retep998@gmail.com>" ];
     sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
   };
-  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
+  features_.winapi."0.2.8" = deps: f: updateFeatures f ({
     winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
   }) [];
 
@@ -5170,7 +5170,7 @@ rec {
     ]) else []);
     features = mkFeatures (features."winapi"."0.3.6" or {});
   };
-  features_.winapi."0.3.6" = deps: f: updateFeatures f (rec {
+  features_.winapi."0.3.6" = deps: f: updateFeatures f ({
     winapi."0.3.6".default = (f.winapi."0.3.6".default or true);
     winapi_i686_pc_windows_gnu."${deps.winapi."0.3.6".winapi_i686_pc_windows_gnu}".default = true;
     winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.6".winapi_x86_64_pc_windows_gnu}".default = true;
@@ -5191,7 +5191,7 @@ rec {
     sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
     libName = "build";
   };
-  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
+  features_.winapi_build."0.1.1" = deps: f: updateFeatures f ({
     winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
   }) [];
 
@@ -5207,7 +5207,7 @@ rec {
     sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
     build = "build.rs";
   };
-  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
     winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
   }) [];
 
@@ -5223,7 +5223,7 @@ rec {
     sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
     build = "build.rs";
   };
-  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
     winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
   }) [];
 
@@ -5247,7 +5247,7 @@ rec {
       (crates."winapi_build"."${deps."ws2_32_sys"."0.2.1"."winapi_build"}" deps)
     ]);
   };
-  features_.ws2_32_sys."0.2.1" = deps: f: updateFeatures f (rec {
+  features_.ws2_32_sys."0.2.1" = deps: f: updateFeatures f ({
     winapi."${deps.ws2_32_sys."0.2.1".winapi}".default = true;
     winapi_build."${deps.ws2_32_sys."0.2.1".winapi_build}".default = true;
     ws2_32_sys."0.2.1".default = (f.ws2_32_sys."0.2.1".default or true);
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
index b3449566d458..78e428b5c7e9 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-edit/default.nix
@@ -1,22 +1,33 @@
-{ stdenv, lib, darwin
-, rustPlatform, fetchFromGitHub
-, openssl, pkg-config, libiconv }:
+{ stdenv
+, lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, libiconv
+, Security
+, zlib
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19jnvsbddn52ibjv48jyfss25gg9mmvxzfhbr7s7bqyf3bq68jbm";
+    hash = "sha256:0fh1lq793k4ddpqsf2av447hcb74vcq53afkm3g4672k48mjjw1y";
   };
 
-  cargoSha256 = "0b06jsilj87rnr1qlarn29hnz0i9p455fdxg6nf6r2fli2xpv1f0";
+  cargoSha256 = "1h1sy54p7zxijydnhzvkxli90d72biv1inni17licb0vb9dihmnf";
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+
+  buildInputs = [ openssl zlib ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+    Security
+  ];
 
   doCheck = false; # integration tests depend on changing cargo config
 
@@ -24,6 +35,6 @@ rustPlatform.buildRustPackage rec {
     description = "A utility for managing cargo dependencies from the command line";
     homepage = "https://github.com/killercup/cargo-edit";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ gerschtli jb55 filalex77 killercup ];
+    maintainers = with maintainers; [ gerschtli jb55 Br1ght0ne killercup ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
index 5d4eef2fbe5a..185cba66e311 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.9.11";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11fdh24366czb3vv2szf5bl0mhsilwvpfc1h4qxq18z2dpb0y18m";
+    sha256 = "1dbhaaw1c3ww0s33r7z8kxks00f9gxv1ppcbmk2fbflhp7caf7fy";
   };
 
-  cargoSha256 = "0sr3ijq6vh2269xav03d117kzmg68xiwqsq48xjdrsnn4dx5lizy";
+  cargoSha256 = "0nlfn9g7hrzz72lya2p5qb8wwj66300d33hjhnw2ambpj4347rh4";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index b68a8208de1c..d24eb6950f36 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.13.5";
+  version = "0.13.8";
 
   src = fetchFromGitHub {
     owner = "sunng87";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "098p6yfq8nlfckr61j3pkimwzrg5xb2i34nxvk2hiv1njl1vrqng";
+    sha256 = "16v93k8d1aq0as4ab1i972bjw410k07gb3s6xdzb1r019gxg2i2h";
   };
 
-  cargoSha256 = "07rmp4j4jpzd1rz59wsjmzmj2qkc2x4wrs9pafqrym58ypm8i4gx";
+  cargoSha256 = "1jbp8jbpxnchzinjzv36crszdipxp1myknmrxn7r0ijfjdpigk9r";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.1.patch b/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch
index 9aa7d8b1cc94..a261045e80c9 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.1.patch
+++ b/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch
@@ -1,6 +1,6 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 000000000..8d77f4824
+index 000000000..ada9574aa
 --- /dev/null
 +++ b/Cargo.lock
 @@ -0,0 +1,641 @@
@@ -8,9 +8,9 @@ index 000000000..8d77f4824
 +# It is not intended for manual editing.
 +[[package]]
 +name = "aho-corasick"
-+version = "0.7.13"
++version = "0.7.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
++checksum = "b476ce7103678b0c6d3d395dbbae31d48ff910bd28be979ba5d48c6351131d0d"
 +dependencies = [
 + "memchr",
 +]
@@ -55,15 +55,15 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "autocfg"
-+version = "1.0.0"
++version = "1.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 +
 +[[package]]
 +name = "base64"
-+version = "0.11.0"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
++checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
 +
 +[[package]]
 +name = "bitflags"
@@ -84,7 +84,7 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "cargo-update"
-+version = "4.1.1"
++version = "4.1.2"
 +dependencies = [
 + "array_tool",
 + "clap",
@@ -107,9 +107,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.59"
++version = "1.0.61"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381"
++checksum = "ed67cbde08356238e75fc4656be4749481eeffb09e19f320a25237d5221c985d"
 +dependencies = [
 + "jobserver",
 +]
@@ -185,9 +185,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.14"
++version = "0.1.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
++checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
 +dependencies = [
 + "cfg-if",
 + "libc",
@@ -211,9 +211,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "hermit-abi"
-+version = "0.1.15"
++version = "0.1.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
++checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
 +dependencies = [
 + "libc",
 +]
@@ -264,9 +264,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.75"
++version = "0.2.79"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "55821a41348652c211bf26f6453cb9397af531fc358a33752c864a4f5bccc20e"
++checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"
 +
 +[[package]]
 +name = "libgit2-sys"
@@ -298,9 +298,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "libz-sys"
-+version = "1.1.0"
++version = "1.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af67924b8dd885cccea261866c8ce5b74d239d272e154053ff927dae839f5ae9"
++checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
 +dependencies = [
 + "cc",
 + "libc",
@@ -343,9 +343,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "openssl-src"
-+version = "111.10.2+1.1.1g"
++version = "111.12.0+1.1.1h"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a287fdb22e32b5b60624d4a5a7a02dbe82777f730ec0dbc42a0554326fef5a70"
++checksum = "858a4132194f8570a7ee9eb8629e85b23cbc4565f2d4a162e87556e5956abf61"
 +dependencies = [
 + "cc",
 +]
@@ -372,15 +372,15 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.18"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
++checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "1.0.19"
++version = "1.0.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
++checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
 +dependencies = [
 + "unicode-xid",
 +]
@@ -402,9 +402,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "redox_users"
-+version = "0.3.4"
++version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431"
++checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
 +dependencies = [
 + "getrandom",
 + "redox_syscall",
@@ -413,9 +413,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "regex"
-+version = "1.3.9"
++version = "1.4.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
++checksum = "8963b85b8ce3074fecffde43b4b0dded83ce2f367dc8d363afc56679f3ee820b"
 +dependencies = [
 + "aho-corasick",
 + "memchr",
@@ -425,15 +425,15 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.18"
++version = "0.6.20"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
++checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c"
 +
 +[[package]]
 +name = "rust-argon2"
-+version = "0.7.0"
++version = "0.8.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
++checksum = "9dab61250775933275e84053ac235621dfb739556d5c54a2f2e9313b7cf43a19"
 +dependencies = [
 + "base64",
 + "blake2b_simd",
@@ -459,15 +459,15 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.115"
++version = "1.0.116"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5"
++checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5"
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.115"
++version = "1.0.116"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48"
++checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -491,9 +491,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.38"
++version = "1.0.44"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4"
++checksum = "e03e57e4fcbfe7749842d53e24ccb9aa12b7252dbe5e91d2acad31834c8b8fdd"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -529,9 +529,9 @@ index 000000000..8d77f4824
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.6"
++version = "0.5.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
++checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"
 +dependencies = [
 + "serde",
 +]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
index 62f73565b94e..1158d10ed296 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
@@ -15,17 +15,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-update";
-  version = "4.1.1";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "nabijaczleweli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03yfn6jq33mykk2cicx54cpddilp62pb5ah75n96k1mwy7c46r6g";
+    sha256 = "0bpl4y5p0acn1clxgwn2sifx6ggpq9jqw5zrmva7asjf8p8dx3v5";
   };
 
-  cargoPatches = [ ./0001-Generate-lockfile-for-cargo-update-v4.1.1.patch ];
-  cargoSha256 = "1yaawp015gdnlfqkdmqsf95gszz0h5j1vpfjh763y7kk0bp7zswl";
+  cargoPatches = [ ./0001-Generate-lockfile-for-cargo-update-v4.1.2.patch ];
+  cargoSha256 = "150fpb7wyyxi40z4wai6c94mn84g700c2228316g6y8i07c8ix0d";
 
   nativeBuildInputs = [ cmake installShellFiles pkg-config ronn ];
 
@@ -47,6 +47,6 @@ rustPlatform.buildRustPackage rec {
     description = "A cargo subcommand for checking and applying updates to installed executables";
     homepage = "https://github.com/nabijaczleweli/cargo-update";
     license = licenses.mit;
-    maintainers = with maintainers; [ gerschtli filalex77 johntitor ];
+    maintainers = with maintainers; [ gerschtli Br1ght0ne johntitor ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/cde/default.nix b/nixpkgs/pkgs/tools/package-management/cde/default.nix
index ec6ad6eb55ab..957919e26001 100644
--- a/nixpkgs/pkgs/tools/package-management/cde/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cde/default.nix
@@ -5,10 +5,10 @@ stdenv.mkDerivation rec {
   version = "0.1";
 
   src = fetchFromGitHub {
-    owner = "pgbovine";
-    repo = "CDE";
-    sha256 = "0raiz7pczkbnzxpg7g59v7gdp1ipkwgms2vh3431snw1va1gjzmk";
+    owner = "usnistgov";
+    repo = "corr-CDE";
     rev = "v${version}";
+    sha256 = "sha256-s375gtqBWx0GGXALXR+fN4bb3tmpvPNu/3bNz+75UWU=";
   };
 
   # The build is small, so there should be no problem
@@ -18,19 +18,22 @@ stdenv.mkDerivation rec {
   preferLocalBuild = true;
 
   patchBuild = ''
-    sed '/install/d' $src/Makefile > $src/Makefile
+    sed -i -e '/install/d' $src/Makefile
   '';
-  
+
+  preBuild = ''
+    patchShebangs .
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin
-    cp cde $out/bin
-    cp cde-exec $out/bin
+    install -d $out/bin
+    install -t $out/bin cde cde-exec
   '';
 
   meta = with stdenv.lib; {
-    homepage = "https://github.com/pgbovine/CDE";
+    homepage = "https://pg.ucsd.edu/cde/manual/";
     description = "A packaging tool for building portable packages";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.rlupton20 ];
     platforms = platforms.linux;
     # error: architecture aarch64 is not supported by strace
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 5ede7af10bf0..b4cb6d030411 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java }:
 
 stdenv.mkDerivation {
-  name = "DisnixWebService-0.9";
+  name = "DisnixWebService-0.10";
   src = fetchurl {
-    url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-0.9/DisnixWebService-0.9.tar.gz";
-    sha256 = "1z7w44bf023c0aqchjfi4mla3qbhsh87mdzx7pqn0sy74cjfgqvl";
+    url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-0.10/DisnixWebService-0.10.tar.gz";
+    sha256 = "0m451msd127ay09yb8rbflg68szm8s4hh65j99f7s3mz375vc114";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
index cc6072eb6dc8..f63c7dd737cd 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintl, libiconv }:
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, gettext, nixUnstable, dysnomia, libintl, libiconv, help2man, doclifter, docbook5, dblatex, doxygen, libnixxml, autoreconfHook }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.9.1";
+  name = "disnix-0.10";
 
   src = fetchurl {
-    url = "https://github.com/svanderburg/disnix/releases/download/disnix-0.9.1/disnix-0.9.1.tar.gz";
-    sha256 = "0bidln5xw3raqkvdks9aipis8aaza8asgyapmilnxkkrxgmw7rdf";
+    url = "https://github.com/svanderburg/disnix/releases/download/disnix-0.10/disnix-0.10.tar.gz";
+    sha256 = "0mciqbc2h60nc0i6pd36w0m2yr96v97ybrzrqzh5f67ac1f0gqwg";
   };
 
-  configureFlags = [
-    " --with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
-  ];
-
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ];
 
   meta = {
     description = "A Nix-based distributed service deployment tool";
     license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.sander ];
+    maintainers = with stdenv.lib.maintainers; [ sander tomberek ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
index 709c5454e104..2fa7d3ed9d76 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, dysnomia, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.8";
-  
+  name = "disnixos-0.9";
+
   src = fetchurl {
-    url = "https://github.com/svanderburg/disnixos/releases/download/disnixos-0.8/disnixos-0.8.tar.gz";
-    sha256 = "186blirfx89i8hdp4a0djy4q9qr9wcl0ilwr66hlil0wxqj1sr91";
+    url = "https://github.com/svanderburg/disnixos/releases/download/disnixos-0.9/disnixos-0.9.tar.gz";
+    sha256 = "0vllm5a8d9dvz5cjiq1mmkc4r4vnljabq42ng0ml85sjn0w7xvm7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/dydisnix/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/dydisnix/default.nix
new file mode 100644
index 000000000000..552d2a106fba
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/disnix/dydisnix/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool , pkgconfig, glib, libxml2, libxslt, getopt, libiconv, gettext, nix, disnix, libnixxml }:
+
+stdenv.mkDerivation rec {
+  version="2020-07-04";
+  name = "dydisnix-${version}";
+
+  src = fetchFromGitHub {
+    owner = "svanderburg";
+    repo = "dydisnix";
+    rev = "e99091f1c2329d562097e35faedee80622d387f0";
+    sha256 = "sha256-XKab2hNGtWDkIEMxE1vMvqQBTP9BvHTabBVfzpH57h0=";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
+  buildInputs = [ glib libxml2 libxslt getopt nix disnix libiconv gettext libnixxml ];
+  preConfigure = ''
+    ./bootstrap
+  '';
+
+  meta = {
+    description = "A toolset enabling self-adaptive redeployment on top of Disnix";
+    longDescription = "Dynamic Disnix is a (very experimental!) prototype extension framework for Disnix supporting dynamic (re)deployment of service-oriented systems.";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = [ stdenv.lib.maintainers.tomberek ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
index 2485becc9e57..031e926e78a6 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl
-, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null, mongodb-tools ? null, influxdb ? null
+{ stdenv, fetchurl, netcat
+, systemd ? null, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null
 , enableApacheWebApplication ? false
 , enableAxis2WebService ? false
 , enableEjabberdDump ? false
@@ -9,6 +9,9 @@
 , enableTomcatWebApplication ? false
 , enableMongoDatabase ? false
 , enableInfluxDatabase ? false
+, enableSupervisordProgram ? false
+, enableDockerContainer ? true
+, enableLegacy ? false
 , catalinaBaseDir ? "/var/tomcat"
 , jobTemplate ? "systemd"
 , getopt
@@ -20,12 +23,14 @@ assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> (mongodb != null && mongodb-tools != null);
 assert enableInfluxDatabase -> influxdb != null;
+assert enableSupervisordProgram -> supervisor != null;
+assert enableDockerContainer -> docker != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.9.1";
+  name = "dysnomia-0.10";
   src = fetchurl {
-    url = "https://github.com/svanderburg/dysnomia/releases/download/dysnomia-0.9.1/dysnomia-0.9.1.tar.gz";
-    sha256 = "1rrq9jnmpsjg1rrjbnq7znm4gma2ga5j4nlykvxwkylp72dq12ks";
+    url = "https://github.com/svanderburg/dysnomia/releases/download/dysnomia-0.10/dysnomia-0.10.tar.gz";
+    sha256 = "19zg4nhn0f9v4i7c9hhan1i4xv3ljfpl2d0s84ph8byiscvhyrna";
   };
 
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -40,17 +45,22 @@ stdenv.mkDerivation {
      (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat")
      (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb")
      (if enableInfluxDatabase then "--with-influxdb" else "--without-influxdb")
+     (if enableSupervisordProgram then "--with-supervisord" else "--without-supervisord")
+     (if enableDockerContainer then "--with-docker" else "--without-docker")
      "--with-job-template=${jobTemplate}"
-   ];
+   ] ++ stdenv.lib.optional enableLegacy "--enable-legacy";
 
-  buildInputs = [ getopt ]
+  buildInputs = [ getopt netcat ]
+    ++ stdenv.lib.optional stdenv.isLinux systemd
     ++ stdenv.lib.optional enableEjabberdDump ejabberd
     ++ stdenv.lib.optional enableMySQLDatabase mysql.out
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
     ++ stdenv.lib.optional enableSubversionRepository subversion
     ++ stdenv.lib.optional enableMongoDatabase mongodb
     ++ stdenv.lib.optional enableMongoDatabase mongodb-tools
-    ++ stdenv.lib.optional enableInfluxDatabase influxdb;
+    ++ stdenv.lib.optional enableInfluxDatabase influxdb
+    ++ stdenv.lib.optional enableSupervisordProgram supervisor
+    ++ stdenv.lib.optional enableDockerContainer docker;
 
   meta = {
     description = "Automated deployment of mutable components and services for Disnix";
diff --git a/nixpkgs/pkgs/tools/package-management/elm-github-install/default.nix b/nixpkgs/pkgs/tools/package-management/elm-github-install/default.nix
index 8da05981dafa..f86cdc55ecc1 100644
--- a/nixpkgs/pkgs/tools/package-management/elm-github-install/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/elm-github-install/default.nix
@@ -12,7 +12,7 @@ bundlerEnv rec {
   passthru.updateScript = bundlerUpdateScript "elm-github-install";
 
   meta = with lib; {
-    description = "Install Elm packages from git repositories.";
+    description = "Install Elm packages from git repositories";
     homepage    = "https://github.com/gdotdesign/elm-github-install";
     license     = licenses.unfree;
     maintainers = with maintainers; [ roberth nicknovitski ];
diff --git a/nixpkgs/pkgs/tools/package-management/emplace/default.nix b/nixpkgs/pkgs/tools/package-management/emplace/default.nix
index c794566e19f1..b00155028651 100644
--- a/nixpkgs/pkgs/tools/package-management/emplace/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/emplace/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "emplace";
-  version = "0.3.7";
+  version = "0.3.9";
 
   src = fetchFromGitHub {
     owner = "tversteeg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ihx6hrzs7wkdz9wzgarmm73dz1fb2bhssmxrgv5nzmkhygn4xfy";
+    sha256 = "173nj6fx2l15shy7s4dngnfqsa10m7qwhi2ia2rr421l7b24ixqq";
   };
 
-  cargoSha256 = "0yqg2hagsjaxvrj96qg6k1llkmqdqp792c2844h7fhnhlx6v2wd2";
+  cargoSha256 = "0bjw3fvc430b1jxla25clr75c94p2ms7d94j72d8mirxsiklgsp9";
 
   meta = with lib; {
     description = "Mirror installed software on multiple machines";
     homepage = "https://github.com/tversteeg/emplace";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/gx/default.nix b/nixpkgs/pkgs/tools/package-management/gx/default.nix
index 791dfe755ee4..f9b996b27761 100644
--- a/nixpkgs/pkgs/tools/package-management/gx/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/gx/default.nix
@@ -1,16 +1,16 @@
 # This file was generated by go2nix.
-{ stdenv, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "gx";
   version = "0.14.1";
-  rev = "refs/tags/v${version}";
 
   goPackagePath = "github.com/whyrusleeping/gx";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/whyrusleeping/gx";
+  src = fetchFromGitHub {
+    owner = "whyrusleeping";
+    repo = pname;
+    rev = "refs/tags/v${version}";
     sha256 = "0pfx2p59xdbmqzfbgaf8xvlnzh8m05hkg596glq5kvl8ib65i4ha";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/gx/go/default.nix b/nixpkgs/pkgs/tools/package-management/gx/go/default.nix
index 652edf95e550..8579ef574d55 100644
--- a/nixpkgs/pkgs/tools/package-management/gx/go/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/gx/go/default.nix
@@ -1,18 +1,18 @@
 # This file was generated by go2nix.
-{ stdenv, buildGoPackage, fetchgit
+{ stdenv, buildGoPackage, fetchFromGitHub
 , gx
 }:
 
 buildGoPackage rec {
   pname = "gx-go";
   version = "1.9.0";
-  rev = "refs/tags/v${version}";
 
   goPackagePath = "github.com/whyrusleeping/gx-go";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/whyrusleeping/gx-go";
+  src = fetchFromGitHub {
+    owner = "whyrusleeping";
+    repo = pname;
+    rev = "refs/tags/v${version}";
     sha256 = "0fdy4b3ymqw6hzvvjwq37mfrdmizc8lxm53axw93n3x6118na9jc";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/libdnf/darwin.patch b/nixpkgs/pkgs/tools/package-management/libdnf/darwin.patch
new file mode 100644
index 000000000000..56bafb2f7b82
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/libdnf/darwin.patch
@@ -0,0 +1,35 @@
+--- src/libdnf/hy-iutil.cpp	2020-12-02 07:53:42.000000000 -0800
++++ src/libdnf/hy-iutil.cpp	2020-12-21 14:24:14.000000000 -0800
+@@ -22,7 +22,7 @@
+ #include <errno.h>
+ #include <dirent.h>
+ #include <fcntl.h>
+-#include <linux/limits.h>
++#include <limits.h>
+ #include <pwd.h>
+ #include <unistd.h>
+ #include <stdio.h>
+--- src/libdnf/hy-util.cpp	2020-12-02 07:53:42.000000000 -0800
++++ src/libdnf/hy-util.cpp	2020-12-21 14:23:21.000000000 -0800
+@@ -24,7 +24,20 @@
+ #include <ctype.h>
+ #include <sys/utsname.h>
+ #include <sys/stat.h>
+-#include <sys/auxv.h>
++
++// Darwin compatibility hacks
++typedef int auxv_t;
++#ifndef AT_HWCAP2
++#define AT_HWCAP2 26
++#endif
++#ifndef AT_HWCAP
++#define AT_HWCAP 16
++#endif
++static unsigned long getauxval(unsigned long type)
++{
++  unsigned long ret = 0;
++  return ret;
++}
+ 
+ // hawkey
+ #include "dnf-types.h"
diff --git a/nixpkgs/pkgs/tools/package-management/libdnf/default.nix b/nixpkgs/pkgs/tools/package-management/libdnf/default.nix
new file mode 100644
index 000000000000..480222a45de2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/libdnf/default.nix
@@ -0,0 +1,66 @@
+{ gcc9Stdenv, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
+, pcre, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
+
+gcc9Stdenv.mkDerivation rec {
+  pname = "libdnf";
+  version = "0.55.2";
+
+  src = fetchFromGitHub {
+    owner = "rpm-software-management";
+    repo = pname;
+    rev = version;
+    sha256 = "0hiydwfa90nsrqk5ffa6ks1g73wnsgjgq7z7gwq9jj76a7gpfbfq";
+  };
+
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
+
+  nativeBuildInputs = [
+    cmake
+    gettext
+    pkg-config
+  ];
+
+  buildInputs = [
+    check
+    gpgme
+    openssl
+    json_c
+    libsmartcols
+    libyaml
+    libmodulemd
+  ];
+
+  propagatedBuildInputs = [
+    sqlite
+    libsolv
+    librepo
+    rpm
+  ];
+
+  # See https://github.com/NixOS/nixpkgs/issues/107430
+  prePatch = ''
+    cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake cmake/modules/
+  '';
+
+  # See https://github.com/NixOS/nixpkgs/issues/107428
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "enable_testing()" "" \
+      --replace "add_subdirectory(tests)" ""
+  '';
+
+  cmakeFlags = [
+    "-DWITH_GTKDOC=OFF"
+    "-DWITH_HTML=OFF"
+    "-DWITH_BINDINGS=OFF"
+    "-DWITH_ZCHUNK=OFF"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Package management library.";
+    homepage = "https://github.com/rpm-software-management/libdnf";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ rb2k ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/librepo/default.nix b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
index 0e2cec685206..203d5e20f881 100644
--- a/nixpkgs/pkgs/tools/package-management/librepo/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
@@ -35,10 +35,10 @@ stdenv.mkDerivation rec {
     libxml2
     glib
     openssl
-    zchunk
     curl
     check
     gpgme
+    zchunk
   ];
 
   # librepo/fastestmirror.h includes curl/curl.h, and pkg-config specfile refers to others in here
@@ -48,9 +48,7 @@ stdenv.mkDerivation rec {
     libxml2
   ];
 
-  cmakeFlags = [
-    "-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}"
-  ];
+  cmakeFlags = [ "-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}" ];
 
   postFixup = ''
     moveToOutput "lib/${python.libPrefix}" "$py"
@@ -60,7 +58,7 @@ stdenv.mkDerivation rec {
     description = "Library providing C and Python (libcURL like) API for downloading linux repository metadata and packages";
     homepage = "https://rpm-software-management.github.io/librepo/";
     license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ copumpkin ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/licensee/Gemfile.lock b/nixpkgs/pkgs/tools/package-management/licensee/Gemfile.lock
index 00d62361e697..9f1a24337b81 100644
--- a/nixpkgs/pkgs/tools/package-management/licensee/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/package-management/licensee/Gemfile.lock
@@ -6,11 +6,11 @@ GEM
     dotenv (2.7.6)
     faraday (1.0.1)
       multipart-post (>= 1.2, < 3)
-    licensee (9.14.0)
+    licensee (9.14.1)
       dotenv (~> 2.0)
       octokit (~> 4.17)
       reverse_markdown (~> 1.0)
-      rugged (~> 0.24)
+      rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
     mini_portile2 (2.4.0)
     multipart-post (2.1.1)
@@ -19,10 +19,10 @@ GEM
     octokit (4.18.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
-    public_suffix (4.0.5)
+    public_suffix (4.0.6)
     reverse_markdown (1.4.0)
       nokogiri
-    rugged (0.99.0)
+    rugged (1.1.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
diff --git a/nixpkgs/pkgs/tools/package-management/licensee/gemset.nix b/nixpkgs/pkgs/tools/package-management/licensee/gemset.nix
index b3b326f6b317..2ec00c621cab 100644
--- a/nixpkgs/pkgs/tools/package-management/licensee/gemset.nix
+++ b/nixpkgs/pkgs/tools/package-management/licensee/gemset.nix
@@ -37,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mv7khv080p81x6indb5akr2a1x84l2xy96a6bziw207291lxx7p";
+      sha256 = "0c551j4qy773d79hgypjaz43h5wjn08mnxnxy9s2vdjc40qm95k5";
       type = "gem";
     };
-    version = "9.14.0";
+    version = "9.14.1";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -89,10 +89,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
       type = "gem";
     };
-    version = "4.0.5";
+    version = "4.0.6";
   };
   reverse_markdown = {
     dependencies = ["nokogiri"];
@@ -110,10 +110,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04rkxwzaa6897da3mnm70g720gpxwyh71krfn6ag1dkk80x8a8yz";
+      sha256 = "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy";
       type = "gem";
     };
-    version = "0.99.0";
+    version = "1.1.0";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
diff --git a/nixpkgs/pkgs/tools/package-management/microdnf/default.nix b/nixpkgs/pkgs/tools/package-management/microdnf/default.nix
new file mode 100644
index 000000000000..de473cf6a898
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/microdnf/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, gettext, libdnf, pkg-config, glib, libpeas, libsmartcols, help2man }:
+
+stdenv.mkDerivation rec {
+  pname = "microdnf";
+  version = "3.6.0";
+
+  src = fetchFromGitHub {
+    owner = "rpm-software-management";
+    repo = pname;
+    rev = version;
+    sha256 = "0a7lc3qsnblvznzsz3544l3n84184xi85zf7c3m3jhnmpmxsg39h";
+  };
+
+  nativeBuildInputs = [ pkg-config cmake gettext help2man ];
+  buildInputs = [ libdnf glib libpeas libsmartcols ];
+
+  meta = with stdenv.lib; {
+    description = "Lightweight implementation of dnf in C";
+    homepage = "https://github.com/rpm-software-management/microdnf";
+    license = licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ rb2k ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/morph/default.nix b/nixpkgs/pkgs/tools/package-management/morph/default.nix
index 5ae4f5731ba7..61e4a897f48d 100644
--- a/nixpkgs/pkgs/tools/package-management/morph/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/morph/default.nix
@@ -35,7 +35,7 @@ buildGoPackage rec {
   outputs = [ "out" "lib" ];
 
   meta = with lib; {
-    description = "Morph is a NixOS host manager written in Golang.";
+    description = "A NixOS host manager written in Golang";
     license = licenses.mit;
     homepage = "https://github.com/dbcdk/morph";
     maintainers = with maintainers; [adamt johanot];
diff --git a/nixpkgs/pkgs/tools/package-management/mynewt-newt/default.nix b/nixpkgs/pkgs/tools/package-management/mynewt-newt/default.nix
index d559ca8921c2..63e2ae12a6e5 100644
--- a/nixpkgs/pkgs/tools/package-management/mynewt-newt/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/mynewt-newt/default.nix
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     homepage = "https://mynewt.apache.org/";
-    description = "Build and package management tool for embedded development.";
+    description = "Build and package management tool for embedded development";
     longDescription = ''
       Apache Newt is a smart build and package management tool,
       designed for C and C++ applications in embedded contexts. Newt
diff --git a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
index 2ecc64a09b13..f10b90d0173a 100644
--- a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "1.8.0";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hg15k9bz5iw7mv4m31rg4f5anfiirr3vjvy16z532vwfh05ixw3";
+    sha256 = "08qz9zfk19iwf8qfv7vmzvbl8w1vpjrry25w3pxsg93gyjw8v7mi";
   };
 
-  vendorSha256 = "032l0xrf4ny4ildinxlfjy8sslhcl2krmgnm07dnx999jxlswxym";
+  vendorSha256 = "0qnfd47ykb6g28d3mnfncgmkvqd1myx47x563sxx4lcsq542q83n";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/package-management/nix-update-source/default.nix b/nixpkgs/pkgs/tools/package-management/nix-update-source/default.nix
index a2add8f8a78e..ebfd730544e1 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-update-source/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-update-source/default.nix
@@ -1,15 +1,20 @@
-{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts
-, runtimeShell }:
+{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts, runtimeShell }:
+
 python3Packages.buildPythonApplication rec {
+  pname = "nix-update-source";
   version = "0.6.3";
-  name = "nix-update-source-${version}";
+
   src = fetchFromGitHub {
     owner = "timbertson";
     repo = "nix-update-source";
-    rev = "version-0.6.3";
+    rev = "version-${version}";
     sha256 = "157wvv9vnaszzwbj68jpdc0imcm1hdab3z760bx2axbsgfpqqilz";
   };
+
   propagatedBuildInputs = [ nix-prefetch-scripts ];
+
+  doCheck = false;
+
   passthru = {
     # NOTE: `fetch` should not be used within nixpkgs because it
     # uses a non-idiomatic structure. It is provided for use by
@@ -28,6 +33,7 @@ python3Packages.buildPythonApplication rec {
         inherit src;
         overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; });
       };
+
     updateScript = ''
       #!${runtimeShell}
       set -e
@@ -43,6 +49,7 @@ python3Packages.buildPythonApplication rec {
         --modify-nix default.nix
     '';
   };
+
   meta = {
     description = "Utility to automate updating of nix derivation sources";
     maintainers = with lib.maintainers; [ timbertson ];
diff --git a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
index bd4ff86c9949..34f635936124 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
@@ -1,27 +1,27 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, nix
+, nixFlakes
 , nix-prefetch
 }:
 
 buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.1";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "0mw31n7kqfr7fskkxp58b0wprxj1pj6n1zs6ymvvl548gs5rgn2s";
+    sha256 = "sha256-cMllWFPK6pwqrocjkZKjnELIdtW4tj5Yu6AMw7Zd2JU=";
   };
 
   makeWrapperArgs = [
-    "--prefix" "PATH" ":" (lib.makeBinPath [ nix nix-prefetch ])
+    "--prefix" "PATH" ":" (lib.makeBinPath [ nixFlakes nix-prefetch ])
   ];
 
   checkPhase = ''
-    $out/bin/nix-update --help
+    $out/bin/nix-update --help >/dev/null
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix
index 2acf5d194e09..868be79c1a49 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -1,9 +1,8 @@
-{ lib, fetchurl, fetchFromGitHub, callPackage
+{ lib, fetchurl, fetchpatch, fetchFromGitHub, callPackage
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 , confDir ? "/etc"
 , boehmgc
-, stdenv, llvmPackages_6
 }:
 
 let
@@ -12,8 +11,9 @@ common =
   { lib, stdenv, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz
   , bash, coreutils, gzip, gnutar
   , pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json
-  , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns
+  , autoreconfHook, autoconf-archive, bison, flex
   , jq, libarchive
+  , lowdown, mdbook
   # Used by tests
   , gmock
   , busybox-sandbox-shell
@@ -22,18 +22,17 @@ common =
   , confDir
   , withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp
   , withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp
-  , enableStatic ? false
-  , name, suffix ? "", src
+  , enableStatic ? stdenv.hostPlatform.isStatic
+  , name, suffix ? "", src, patches ? []
 
   }:
   let
      sh = busybox-sandbox-shell;
      nix = stdenv.mkDerivation rec {
-      inherit name src;
+      inherit name src patches;
       version = lib.getVersion name;
 
       is24 = lib.versionAtLeast version "2.4pre";
-      isExactly23 = lib.versionAtLeast version "2.3" && lib.versionOlder version "2.4";
 
       VERSION_SUFFIX = suffix;
 
@@ -41,8 +40,13 @@ common =
 
       nativeBuildInputs =
         [ pkgconfig ]
-        ++ lib.optionals is24 [ autoreconfHook autoconf-archive bison flex libxml2 libxslt
-                                docbook5 docbook_xsl_ns jq ];
+        ++ lib.optionals is24
+          [ autoreconfHook
+            autoconf-archive
+            bison flex
+            lowdown mdbook
+            jq
+           ];
 
       buildInputs =
         [ curl openssl sqlite xz bzip2 nlohmann_json
@@ -88,9 +92,15 @@ common =
             patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
           ''}
         '' +
-        # For Nix-2.3, patch around an issue where the Nix configure step pulls in the
-        # build system's bash and other utilities when cross-compiling
-        lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform && isExactly23) ''
+        # On all versions before c9f51e87057652db0013289a95deffba495b35e7,
+        # released with 2.3.8, we need to patch around an issue where the Nix
+        # configure step pulls in the build system's bash and other utilities
+        # when cross-compiling.
+        lib.optionalString (
+          stdenv.buildPlatform != stdenv.hostPlatform &&
+          (lib.versionOlder "2.3.8" version && !is24)
+          # The additional is24 condition is required as versionOlder doesn't understand nixUnstable version strings
+        ) ''
           mkdir tmp/
           substitute corepkgs/config.nix.in tmp/config.nix.in \
             --subst-var-by bash ${bash}/bin/bash \
@@ -163,7 +173,7 @@ common =
           # This is not cross-compile safe, don't have time to fix right now
           # but noting for future travellers.
           nativeBuildInputs =
-            [ perl pkgconfig curl nix libsodium boost autoreconfHook autoconf-archive ];
+            [ perl pkgconfig curl nix libsodium boost autoreconfHook autoconf-archive nlohmann_json ];
 
           configureFlags =
             [ "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
@@ -183,28 +193,33 @@ in rec {
   nix = nixStable;
 
   nixStable = callPackage common (rec {
-    name = "nix-2.3.7";
+    name = "nix-2.3.10";
     src = fetchurl {
       url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "dd8f52849414e5a878afe7e797aa4e22bab77c875d9da5a38d5f1bada704e596";
+      sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab";
     };
 
     inherit storeDir stateDir confDir boehmgc;
-  } // stdenv.lib.optionalAttrs stdenv.cc.isClang {
-    stdenv = llvmPackages_6.stdenv;
   });
 
   nixUnstable = lib.lowPrio (callPackage common rec {
-    name = "nix-3.0${suffix}";
-    suffix = "pre20200829_f156513";
+    name = "nix-2.4${suffix}";
+    suffix = "pre20201201_5a6ddb3";
 
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "f15651303f8596bf34c67fc8d536b1e9e7843a87";
-      hash = "sha256-HqM3Z4DLdMrf+0PPZL9ysctGg+K+i3S/IHA1GsJj0Ro=";
+      rev = "5a6ddb3de14a1684af6c793d663764d093fa7846";
+      sha256 = "0qhd3nxvqzszzsfvh89xhd239ycqb0kq2n0bzh9br78pcb60vj3g";
     };
 
+    patches = [
+      (fetchpatch { # Fix build on gcc10
+        url = "https://github.com/NixOS/nix/commit/d4870462f8f539adeaa6dca476aff6f1f31e1981.patch";
+        sha256 = "mTvLvuxb2QVybRDgntKMq+b6da/s3YgM/ll2rWBeY/Y=";
+      })
+    ];
+
     inherit storeDir stateDir confDir boehmgc;
   });
 
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/default.nix
index c761a3a47793..96e6ec3f55a0 100644
--- a/nixpkgs/pkgs/tools/package-management/nixops/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixops/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, fetchurl }:
+{ callPackage, fetchurl, fetchpatch }:
 
 callPackage ./generic.nix (rec {
   version = "1.7";
@@ -6,4 +6,11 @@ callPackage ./generic.nix (rec {
     url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
     sha256 = "091c0b5bca57d4aa20be20e826ec161efe3aec9c788fbbcf3806a734a517f0f3";
   };
+  patches = [
+    # follow redirect in nixos-infect. Remove with the next release.
+    (fetchpatch {
+      url = "https://github.com/NixOS/nixops/commit/fb6d4665e8efd858a215bbaaf079ec3f5ebc49b8.patch";
+      sha256 = "1hbhykl811zsqlaj3y5m9d8lfsal6ps6n5p16ah6lqy2s18ap9d0";
+    })
+  ];
 })
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/generic.nix b/nixpkgs/pkgs/tools/package-management/nixops/generic.nix
index 59d139d28847..564256de35d1 100644
--- a/nixpkgs/pkgs/tools/package-management/nixops/generic.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixops/generic.nix
@@ -2,11 +2,12 @@
 # version args
 , src, version
 , meta ? {}
+, patches ? null
 }:
 
 python2Packages.buildPythonApplication {
   name = "nixops-${version}";
-  inherit version src;
+  inherit version src patches;
 
   buildInputs = [ libxslt ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
index 935f6553f9cd..c093b2fab0ee 100644
--- a/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -1,24 +1,24 @@
 { stdenv
 , python3
 , fetchFromGitHub
-, nix
+, nixFlakes
 , git
 , lib
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nixpkgs-review";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nixpkgs-review";
     rev = version;
-    sha256 = "0kca4442mla8j9980gi8kgp0vgm0f15hcjd0w0wdj8rlmkx9yf2l";
+    sha256 = "1k4i54j5if86qf9dmwm8ybfc4j7ap40y82f03hxfxb7lzq5cqmcv";
   };
 
   makeWrapperArgs = [
-    "--prefix" "PATH" ":" (lib.makeBinPath [ nix git ])
+    "--prefix" "PATH" ":" (lib.makeBinPath [ nixFlakes git ])
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/package-management/nixui/nixui.nix b/nixpkgs/pkgs/tools/package-management/nixui/nixui.nix
index e306e49c8498..055fc5267c37 100644
--- a/nixpkgs/pkgs/tools/package-management/nixui/nixui.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixui/nixui.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/nixpkgs/pkgs/tools/package-management/packagekit/qt.nix b/nixpkgs/pkgs/tools/package-management/packagekit/qt.nix
index 987c834f505d..2a1ebada0020 100644
--- a/nixpkgs/pkgs/tools/package-management/packagekit/qt.nix
+++ b/nixpkgs/pkgs/tools/package-management/packagekit/qt.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "packagekit-qt";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner  = "hughsie";
     repo   = "PackageKit-Qt";
     rev    = "v${version}";
-    sha256 = "1ls6mn9abpwzw5wjgmslc5h9happj3516y1q67imppczk8g9h2yk";
+    sha256 = "1d20r503msw1vix3nb6a8bmdqld7fj8k9jk33bkqsc610a2zsms6";
   };
 
   buildInputs = [ packagekit ];
diff --git a/nixpkgs/pkgs/tools/package-management/protontricks/default.nix b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
index 02bc599f47dc..e4e60442c8fb 100644
--- a/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
@@ -1,31 +1,29 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonApplication
 , fetchFromGitHub
 , setuptools_scm
 , vdf
-, wine
+, steam-run
 , winetricks
 , zenity
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "0ri4phi1rna9snrxa6gl23walyack09mgax7zpjqfpxivwls3ach";
+    sha256 = "0a5727igwafwvj8rr5lv0lx8rlfji3qkzmrbp0d15w5dc4fhknp0";
   };
 
-  # Fix interpreter in mock run.sh for tests
-  postPatch = ''
-    substituteInPlace tests/conftest.py \
-      --replace '#!/bin/bash' '#!${stdenv.shell}' \
-  '';
+  patches = [
+    # Use steam-run to run Proton binaries
+    ./steam-run.patch
+  ];
 
   preBuild = ''
     export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
@@ -34,22 +32,30 @@ buildPythonApplication rec {
   nativeBuildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ vdf ];
 
-  # The wine install shipped with Proton must run under steam's
-  # chrootenv, but winetricks and zenity break when running under
-  # it. See https://github.com/NixOS/nix/issues/902.
-  #
-  # The current workaround is to use wine from nixpkgs
   makeWrapperArgs = [
-    "--set STEAM_RUNTIME 0"
-    "--set-default WINE ${wine}/bin/wine"
-    "--set-default WINESERVER ${wine}/bin/wineserver"
-    "--prefix PATH : ${lib.makeBinPath [ winetricks zenity ]}"
+    "--prefix PATH : ${lib.makeBinPath [
+      steam-run
+      (winetricks.override {
+        # Remove default build of wine to reduce closure size.
+        # Falls back to wine in PATH when --no-runtime is passed.
+        wine = null;
+      })
+      zenity
+    ]}"
   ];
 
-  checkInputs = [ pytest ];
-  checkPhase = "pytest";
+  checkInputs = [ pytestCheckHook ];
+  disabledTests = [
+    # Steam runtime is hard-coded with steam-run.patch and can't be configured
+    "test_run_steam_runtime_not_found"
+    "test_unknown_steam_runtime_detected"
+
+    # Steam runtime 2 currently isn't supported
+    # See https://github.com/NixOS/nixpkgs/issues/100655
+    "test_run_winetricks_steam_runtime_v2"
+  ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A simple wrapper for running Winetricks commands for Proton-enabled games";
     homepage = "https://github.com/Matoking/protontricks";
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch b/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch
new file mode 100644
index 000000000000..536072cafc48
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch
@@ -0,0 +1,254 @@
+diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py
+index 6506dae..2f762c9 100755
+--- a/src/protontricks/cli.py
++++ b/src/protontricks/cli.py
+@@ -14,7 +14,7 @@ import os
+ import logging
+ 
+ from . import __version__
+-from .steam import (find_proton_app, find_steam_path, find_steam_runtime_path,
++from .steam import (find_proton_app, find_steam_path,
+                     get_steam_apps, get_steam_lib_paths)
+ from .winetricks import get_winetricks_path
+ from .gui import select_steam_app_with_gui
+@@ -75,8 +75,7 @@ def main(args=None):
+             "WINE: path to a custom 'wine' executable\n"
+             "WINESERVER: path to a custom 'wineserver' executable\n"
+             "STEAM_RUNTIME: 1 = enable Steam Runtime, 0 = disable Steam "
+-            "Runtime, valid path = custom Steam Runtime path, "
+-            "empty = enable automatically (default)"
++            "Runtime, empty = enable automatically (default)"
+         ),
+         formatter_class=argparse.RawTextHelpFormatter
+     )
+@@ -133,14 +132,10 @@ def main(args=None):
+         sys.exit(-1)
+ 
+     # 2. Find Steam Runtime if enabled
+-    steam_runtime_path = None
++    steam_runtime = False
+ 
+     if os.environ.get("STEAM_RUNTIME", "") != "0" and not args.no_runtime:
+-        steam_runtime_path = find_steam_runtime_path(steam_root=steam_root)
+-
+-        if not steam_runtime_path:
+-            print("Steam Runtime was enabled but couldn't be found!")
+-            sys.exit(-1)
++        steam_runtime = True
+     else:
+         logger.info("Steam Runtime disabled.")
+ 
+@@ -194,7 +189,7 @@ def main(args=None):
+             winetricks_path=winetricks_path,
+             proton_app=proton_app,
+             steam_app=steam_app,
+-            steam_runtime_path=steam_runtime_path,
++            steam_runtime=steam_runtime,
+             command=[winetricks_path, "--gui"]
+         )
+         return
+@@ -261,7 +256,7 @@ def main(args=None):
+             winetricks_path=winetricks_path,
+             proton_app=proton_app,
+             steam_app=steam_app,
+-            steam_runtime_path=steam_runtime_path,
++            steam_runtime=steam_runtime,
+             command=[winetricks_path] + args.winetricks_command)
+     elif args.command:
+         run_command(
+@@ -269,7 +264,7 @@ def main(args=None):
+             proton_app=proton_app,
+             steam_app=steam_app,
+             command=args.command,
+-            steam_runtime_path=steam_runtime_path,
++            steam_runtime=steam_runtime,
+             # Pass the command directly into the shell *without*
+             # escaping it
+             cwd=steam_app.install_path,
+diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
+index 215b31d..aa545b8 100644
+--- a/src/protontricks/steam.py
++++ b/src/protontricks/steam.py
+@@ -11,7 +11,7 @@ from .util import lower_dict
+ 
+ __all__ = (
+     "COMMON_STEAM_DIRS", "SteamApp", "find_steam_path",
+-    "find_steam_proton_app", "find_proton_app", "find_steam_runtime_path",
++    "find_steam_proton_app", "find_proton_app",
+     "find_appid_proton_prefix", "get_steam_lib_paths", "get_steam_apps",
+     "get_custom_proton_installations"
+ )
+@@ -245,37 +245,6 @@ def find_steam_path():
+     return None, None
+ 
+ 
+-def find_steam_runtime_path(steam_root):
+-    """
+-    Find the Steam Runtime either using the STEAM_RUNTIME env or
+-    steam_root
+-    """
+-    env_steam_runtime = os.environ.get("STEAM_RUNTIME", "")
+-
+-    if env_steam_runtime == "0":
+-        # User has disabled Steam Runtime
+-        logger.info("STEAM_RUNTIME is 0. Disabling Steam Runtime.")
+-        return None
+-    elif env_steam_runtime and Path(env_steam_runtime).is_dir():
+-        # User has a custom Steam Runtime
+-        logger.info(
+-            "Using custom Steam Runtime at %s", env_steam_runtime)
+-        return Path(env_steam_runtime)
+-    elif env_steam_runtime in ["1", ""]:
+-        # User has enabled Steam Runtime or doesn't have STEAM_RUNTIME set;
+-        # default to enabled Steam Runtime in either case
+-        steam_runtime_path = steam_root / "ubuntu12_32" / "steam-runtime"
+-
+-        logger.info(
+-            "Using default Steam Runtime at %s", str(steam_runtime_path))
+-        return steam_runtime_path
+-
+-    logger.error(
+-        "Path in STEAM_RUNTIME doesn't point to a valid Steam Runtime!")
+-
+-    return None
+-
+-
+ APPINFO_STRUCT_HEADER = "<4sL"
+ APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
+ 
+diff --git a/src/protontricks/util.py b/src/protontricks/util.py
+index a850427..390fc01 100644
+--- a/src/protontricks/util.py
++++ b/src/protontricks/util.py
+@@ -6,7 +6,7 @@ import stat
+ from pathlib import Path
+ from subprocess import check_output, run, PIPE
+ 
+-__all__ = ("get_runtime_library_paths", "create_wine_bin_dir", "run_command")
++__all__ = ("create_wine_bin_dir", "run_command")
+ 
+ logger = logging.getLogger("protontricks")
+ 
+@@ -25,70 +25,10 @@ def lower_dict(d):
+     return {k.lower(): v for k, v in d.items()}
+ 
+ 
+-def get_host_library_paths():
+-    """
+-    Get host library paths to use when creating the LD_LIBRARY_PATH environment
+-    variable for use with newer Steam Runtime installations
+-    """
+-    # The traditional Steam Runtime does the following when running the
+-    # `run.sh --print-steam-runtime-library-paths` command.
+-    # Since that command is unavailable with newer Steam Runtime releases,
+-    # do it ourselves here.
+-    result = run(
+-        ["/sbin/ldconfig", "-XNv"],
+-        check=True, stdout=PIPE, stderr=PIPE
+-    )
+-    lines = result.stdout.decode("utf-8").split("\n")
+-    paths = [
+-        line.split(":")[0] for line in lines
+-        if line.startswith("/") and ":" in line
+-    ]
+-
+-    return ":".join(paths)
+-
+-
+-def get_runtime_library_paths(steam_runtime_path, proton_app):
+-    """
+-    Get LD_LIBRARY_PATH value to run a command using Steam Runtime
+-    """
+-    if proton_app.required_tool_app:
+-        # bwrap based Steam Runtime is used for Proton installations that
+-        # use separate Steam runtimes
+-        # TODO: Try to run the Wine binaries inside an user namespace somehow.
+-        # Newer Steam Runtime environments may rely on a newer glibc than what
+-        # is available on the host system, which may cause potential problems
+-        # otherwise.
+-        runtime_root = next(
+-            proton_app.required_tool_app.install_path.glob("*/files/")
+-        )
+-        return "".join([
+-            str(proton_app.install_path / "dist" / "lib"), os.pathsep,
+-            str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
+-            get_host_library_paths(), os.pathsep,
+-            str(runtime_root / "i686-pc-linux-gnu" / "lib"), os.pathsep,
+-            str(runtime_root / "x86_64-pc-linux-gnu" / "lib")
+-        ])
+-
+-    # Traditional LD_LIBRARY_PATH based Steam Runtime is used otherwise
+-    steam_runtime_paths = check_output([
+-        str(steam_runtime_path / "run.sh"),
+-        "--print-steam-runtime-library-paths"
+-    ])
+-    steam_runtime_paths = str(steam_runtime_paths, "utf-8")
+-    # Add Proton installation directory first into LD_LIBRARY_PATH
+-    # so that libwine.so.1 is picked up correctly (see issue #3)
+-    return "".join([
+-        str(proton_app.install_path / "dist" / "lib"), os.pathsep,
+-        str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
+-        steam_runtime_paths
+-    ])
+-
+-
+ WINE_SCRIPT_TEMPLATE = (
+-    "#!/bin/bash\n"
++    "#!/bin/sh\n"
+     "# Helper script created by Protontricks to run Wine binaries using Steam Runtime\n"
+-    "export LD_LIBRARY_PATH=\"$PROTON_LD_LIBRARY_PATH\"\n"
+-    "exec \"$PROTON_PATH\"/dist/bin/{name} \"$@\""
++    "exec steam-run \"$PROTON_PATH\"/dist/bin/{name} \"$@\""
+ )
+ 
+ 
+@@ -149,7 +89,7 @@ def create_wine_bin_dir(proton_app):
+ 
+ def run_command(
+         winetricks_path, proton_app, steam_app, command,
+-        steam_runtime_path=None,
++        steam_runtime=False,
+         **kwargs):
+     """Run an arbitrary command with the correct environment variables
+     for the given Proton app
+@@ -157,7 +97,7 @@ def run_command(
+     The environment variables are set for the duration of the call
+     and restored afterwards
+ 
+-    If 'steam_runtime_path' is provided, run the command using Steam Runtime
++    If 'steam_runtime' is provided, run the command using Steam Runtime
+     """
+     # Make a copy of the environment variables to restore later
+     environ_copy = os.environ.copy()
+@@ -200,7 +140,7 @@ def run_command(
+     os.environ.pop("WINEARCH", "")
+ 
+     wine_bin_dir = None
+-    if steam_runtime_path:
++    if steam_runtime:
+         if proton_app.required_tool_app:
+             runtime_name = proton_app.required_tool_app.name
+             logger.info(
+@@ -217,8 +157,6 @@ def run_command(
+         # that load the underlying Proton Wine executables with Steam Runtime
+         # and Proton libraries instead of system libraries
+         wine_bin_dir = create_wine_bin_dir(proton_app=proton_app)
+-        os.environ["PROTON_LD_LIBRARY_PATH"] = \
+-            get_runtime_library_paths(steam_runtime_path, proton_app)
+         os.environ["PATH"] = "".join([
+             str(wine_bin_dir), os.pathsep, os.environ["PATH"]
+         ])
+diff --git a/tests/test_cli.py b/tests/test_cli.py
+index 19e1137..2ef56d6 100644
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -114,9 +114,6 @@ class TestCLIRun:
+         assert str(command.args[0]).endswith(".local/bin/winetricks")
+         assert command.args[1] == "winecfg"
+         assert command.env["PATH"].startswith(str(wine_bin_dir))
+-        assert (
+-            "fake_steam_runtime/lib64" in command.env["PROTON_LD_LIBRARY_PATH"]
+-        )
+         assert command.env["WINE"] == str(wine_bin_dir / "wine")
+         assert command.env["WINELOADER"] == str(wine_bin_dir / "wine")
+         assert command.env["WINESERVER"] == str(wine_bin_dir / "wineserver")
diff --git a/nixpkgs/pkgs/tools/package-management/rpm/default.nix b/nixpkgs/pkgs/tools/package-management/rpm/default.nix
index 8acf57570d7c..ac470d3e26a5 100644
--- a/nixpkgs/pkgs/tools/package-management/rpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/rpm/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, lib
+{ stdenv, lib, fetchpatch
 , pkgconfig, autoreconfHook
-, fetchurl, cpio, zlib, bzip2, file, elfutils, libbfd, libarchive, nspr, nss, popt, db, xz, python, lua, llvmPackages
+, fetchurl, cpio, zlib, bzip2, file, elfutils, libbfd, libgcrypt, libarchive, nspr, nss, popt, db, xz, python, lua, llvmPackages
+, sqlite
 }:
 
 stdenv.mkDerivation rec {
   pname = "rpm";
-  version = "4.15.1";
+  version = "4.16.1.2";
 
   src = fetchurl {
     url = "http://ftp.rpm.org/releases/rpm-${lib.versions.majorMinor version}.x/rpm-${version}.tar.bz2";
-    sha256 = "0c6jwail90fhha3bpx70w4a2i8ycxwvnx6zwxm121l8wc3wlbvyx";
+    sha256 = "1k6ank2aad7r503w12m6m494mxr6iccj52wqhwbc94pwxsf34mw3";
   };
 
   outputs = [ "out" "dev" "man" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ cpio zlib bzip2 file libarchive nspr nss db xz python lua ]
+  buildInputs = [ cpio zlib bzip2 file libarchive libgcrypt nspr nss db xz python lua sqlite ]
                 ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
 
   # rpm/rpmlib.h includes popt.h, and then the pkg-config file mentions these as linkage requirements
@@ -28,14 +29,23 @@ stdenv.mkDerivation rec {
     "--with-external-db"
     "--with-lua"
     "--enable-python"
+    "--enable-ndb"
+    "--enable-sqlite"
     "--localstatedir=/var"
     "--sharedstatedir=/com"
   ];
 
-  postPatch = ''
-    # For Python3, the original expression evaluates as 'python3.4' but we want 'python3.4m' here
-    substituteInPlace configure.ac --replace 'python''${PYTHON_VERSION}' ${python.executable}
+  # Small fixes for ndb on darwin
+  # https://github.com/rpm-software-management/rpm/pull/1465
+  patches = [
+    (fetchpatch {
+      name = "darwin-support.patch";
+      url = "https://github.com/rpm-software-management/rpm/commit/2d20e371d5e38f4171235e5c64068cad30bda557.patch";
+      sha256 = "0p3j5q5a4hl357maf7018k3826jhcpqg6wfrnccrkv30g0ayk171";
+    })
+  ];
 
+  postPatch = ''
     substituteInPlace Makefile.am --replace '@$(MKDIR_P) $(DESTDIR)$(localstatedir)/tmp' ""
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/1password-gui/default.nix b/nixpkgs/pkgs/tools/security/1password-gui/default.nix
index ad3bb6eeb1b0..667a21343e61 100644
--- a/nixpkgs/pkgs/tools/security/1password-gui/default.nix
+++ b/nixpkgs/pkgs/tools/security/1password-gui/default.nix
@@ -2,22 +2,17 @@
 , fetchurl
 , appimageTools
 , makeWrapper
-, electron_9
+, electron_11
 , openssl
 }:
 
-let
-  electron = electron_9;
-
-in
-
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "0.8.7";
+  version = "0.9.7";
 
   src = fetchurl {
     url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
-    sha256 = "1101q5yavzl8imf8gqa3h929gcyy6lh7dy2dw0zs52qdcrb4z49j";
+    hash = "sha256-JaYFJL24Pgwh5CrsKjJPL8u0fx1x0beFTK+EGNT1iqA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -51,7 +46,7 @@ stdenv.mkDerivation rec {
     cp -a ${appimageContents}/usr/share/icons $out/share
 
     # Wrap the application with Electron.
-    makeWrapper "${electron}/bin/electron" "$out/bin/${pname}" \
+    makeWrapper "${electron_11}/bin/electron" "$out/bin/${pname}" \
       --add-flags "$out/share/${pname}/resources/app.asar" \
       --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath runtimeLibs}"
   '';
@@ -69,7 +64,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://1password.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ danieldk timstott ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/acsccid/default.nix b/nixpkgs/pkgs/tools/security/acsccid/default.nix
index 5b79b3db705b..53842cbb1fc4 100644
--- a/nixpkgs/pkgs/tools/security/acsccid/default.nix
+++ b/nixpkgs/pkgs/tools/security/acsccid/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "acsccid is a PC/SC driver for Linux/Mac OS X and it supports ACS CCID smart card readers.";
+    description = "A PC/SC driver for Linux/Mac OS X and it supports ACS CCID smart card readers";
     longDescription = ''
       acsccid is a PC/SC driver for Linux/Mac OS X and it supports ACS CCID smart card
       readers. This library provides a PC/SC IFD handler implementation and
diff --git a/nixpkgs/pkgs/tools/security/aflplusplus/default.nix b/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
index a0ef58ae8b61..8e5db3cd22c9 100644
--- a/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
+++ b/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
@@ -124,8 +124,8 @@ let
 
     meta = {
       description = ''
-        AFL++ is a heavily enhanced version of AFL, incorporating many features and
-        improvements from the community.
+        A heavily enhanced version of AFL, incorporating many features
+        and improvements from the community
       '';
       homepage    = "https://aflplus.plus";
       license     = stdenv.lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/tools/security/aide/default.nix b/nixpkgs/pkgs/tools/security/aide/default.nix
index 116ada633c6f..59b723207583 100644
--- a/nixpkgs/pkgs/tools/security/aide/default.nix
+++ b/nixpkgs/pkgs/tools/security/aide/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
     ];
 
   meta = with stdenv.lib; {
-    homepage = "http://aide.sourceforge.net/";
+    homepage = "https://aide.github.io/";
     description = "A file and directory integrity checker";
-    license = licenses.free;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.tstrobel ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/security/aws-okta/default.nix b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
index b540be3928a8..340c2cd971c6 100644
--- a/nixpkgs/pkgs/tools/security/aws-okta/default.nix
+++ b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "aws-okta";
-  version = "1.0.4";
+  version = "1.0.8";
 
   goPackagePath = "github.com/segmentio/aws-okta";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "segmentio";
     repo = "aws-okta";
     rev = "v${version}";
-    sha256 = "0a7xccnv0x0a6sydif0rvkdbw4jy9gjijajip1ac6m70l20dhl1v";
+    sha256 = "14bg9rdfxkpw00phc8faz4ghiyb0j7a9qai74lidrzplzl139bzf";
   };
 
   buildFlags = [ "--tags" "release" ];
@@ -24,7 +24,7 @@ buildGoPackage rec {
     inherit version;
     description = "aws-vault like tool for Okta authentication";
     license = licenses.mit;
-    maintainers = [maintainers.imalsogreg];
+    maintainers = with maintainers; [imalsogreg Chili-Man];
     homepage = "https://github.com/segmentio/aws-okta";
     downloadPage = "https://github.com/segmentio/aws-okta";
   };
diff --git a/nixpkgs/pkgs/tools/security/b3sum/add-cargo-lock.patch b/nixpkgs/pkgs/tools/security/b3sum/cargo-lock.patch
index ecbb2b0bab9c..1f8494089477 100644
--- a/nixpkgs/pkgs/tools/security/b3sum/add-cargo-lock.patch
+++ b/nixpkgs/pkgs/tools/security/b3sum/cargo-lock.patch
@@ -1,9 +1,9 @@
-diff --git a/b3sum/Cargo.lock b/b3sum/Cargo.lock
+diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..1ce7abc
+index 0000000..1dff162
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,495 @@
+@@ -0,0 +1,507 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -17,9 +17,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "anyhow"
-+version = "1.0.31"
++version = "1.0.34"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f"
++checksum = "bf8dcb5b4bbaa28653b647d8c77bd4ed40183b48882e130c1f1ffb73de069fd7"
 +
 +[[package]]
 +name = "arrayref"
@@ -29,9 +29,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.5.1"
++version = "0.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
++checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 +
 +[[package]]
 +name = "atty"
@@ -46,13 +46,13 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "autocfg"
-+version = "1.0.0"
++version = "1.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 +
 +[[package]]
 +name = "b3sum"
-+version = "0.3.4"
++version = "0.3.7"
 +dependencies = [
 + "anyhow",
 + "blake3",
@@ -73,12 +73,12 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "blake3"
-+version = "0.3.4"
++version = "0.3.7"
 +dependencies = [
 + "arrayref",
 + "arrayvec",
 + "cc",
-+ "cfg-if",
++ "cfg-if 0.1.10",
 + "constant_time_eq",
 + "crypto-mac",
 + "digest",
@@ -87,9 +87,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.57"
++version = "1.0.62"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0fde55d2a2bfaa4c9668bbc63f531fbdeee3ffe188f4662511ce2c22b3eedebe"
++checksum = "f1770ced377336a88a67c473594ccc14eca6f4559217c34f64aac8f83d641b40"
 +
 +[[package]]
 +name = "cfg-if"
@@ -98,10 +98,16 @@ index 0000000..1ce7abc
 +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 +
 +[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
 +name = "clap"
-+version = "2.33.1"
++version = "2.33.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129"
++checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
 +dependencies = [
 + "ansi_term",
 + "atty",
@@ -113,64 +119,69 @@ index 0000000..1ce7abc
 +]
 +
 +[[package]]
++name = "const_fn"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c478836e029dcef17fb47c89023448c64f781a046e0300e257ad8225ae59afab"
++
++[[package]]
 +name = "constant_time_eq"
 +version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
 +
 +[[package]]
-+name = "crossbeam-deque"
-+version = "0.7.3"
++name = "crossbeam-channel"
++version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
++checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
 +dependencies = [
-+ "crossbeam-epoch",
++ "cfg-if 1.0.0",
 + "crossbeam-utils",
-+ "maybe-uninit",
 +]
 +
 +[[package]]
-+name = "crossbeam-epoch"
-+version = "0.8.2"
++name = "crossbeam-deque"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
++checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
 +dependencies = [
-+ "autocfg",
-+ "cfg-if",
++ "cfg-if 1.0.0",
++ "crossbeam-epoch",
 + "crossbeam-utils",
-+ "lazy_static",
-+ "maybe-uninit",
-+ "memoffset",
-+ "scopeguard",
 +]
 +
 +[[package]]
-+name = "crossbeam-queue"
-+version = "0.2.3"
++name = "crossbeam-epoch"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
++checksum = "ec0f606a85340376eef0d6d8fec399e6d4a544d648386c6645eb6d0653b27d9f"
 +dependencies = [
-+ "cfg-if",
++ "cfg-if 1.0.0",
++ "const_fn",
 + "crossbeam-utils",
-+ "maybe-uninit",
++ "lazy_static",
++ "memoffset",
++ "scopeguard",
 +]
 +
 +[[package]]
 +name = "crossbeam-utils"
-+version = "0.7.2"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
++checksum = "ec91540d98355f690a86367e566ecad2e9e579f230230eb7c21398372be73ea5"
 +dependencies = [
 + "autocfg",
-+ "cfg-if",
++ "cfg-if 1.0.0",
++ "const_fn",
 + "lazy_static",
 +]
 +
 +[[package]]
 +name = "crypto-mac"
-+version = "0.7.0"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
++checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
 +dependencies = [
 + "generic-array",
 + "subtle",
@@ -178,9 +189,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "digest"
-+version = "0.8.1"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
++checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
 +dependencies = [
 + "generic-array",
 +]
@@ -199,26 +210,27 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "either"
-+version = "1.5.3"
++version = "1.6.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
 +
 +[[package]]
 +name = "generic-array"
-+version = "0.12.3"
++version = "0.14.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
++checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
 +dependencies = [
 + "typenum",
++ "version_check",
 +]
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.14"
++version = "0.1.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
++checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
 +dependencies = [
-+ "cfg-if",
++ "cfg-if 0.1.10",
 + "libc",
 + "wasi",
 +]
@@ -231,9 +243,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "hermit-abi"
-+version = "0.1.15"
++version = "0.1.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
++checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
 +dependencies = [
 + "libc",
 +]
@@ -252,15 +264,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.71"
++version = "0.2.80"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
-+
-+[[package]]
-+name = "maybe-uninit"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
++checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614"
 +
 +[[package]]
 +name = "memmap"
@@ -274,9 +280,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.5"
++version = "0.5.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c198b026e1bbf08a937e94c6c60f9ec4a2267f5b0d2eec9c1b21b061ce2be55f"
++checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
 +dependencies = [
 + "autocfg",
 +]
@@ -293,9 +299,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "once_cell"
-+version = "1.4.0"
++version = "1.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
++checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
 +
 +[[package]]
 +name = "os_pipe"
@@ -309,9 +315,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "ppv-lite86"
-+version = "0.2.8"
++version = "0.2.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
 +
 +[[package]]
 +name = "rand"
@@ -356,9 +362,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "rayon"
-+version = "1.3.1"
++version = "1.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62f02856753d04e03e26929f820d0a0a337ebe71f849801eea335d464b349080"
++checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
 +dependencies = [
 + "autocfg",
 + "crossbeam-deque",
@@ -368,12 +374,12 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.7.1"
++version = "1.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e92e15d89083484e11353891f1af602cc661426deb9564c298b270c726973280"
++checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
 +dependencies = [
++ "crossbeam-channel",
 + "crossbeam-deque",
-+ "crossbeam-queue",
 + "crossbeam-utils",
 + "lazy_static",
 + "num_cpus",
@@ -381,9 +387,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.56"
++version = "0.1.57"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
 +
 +[[package]]
 +name = "remove_dir_all"
@@ -418,9 +424,9 @@ index 0000000..1ce7abc
 +
 +[[package]]
 +name = "subtle"
-+version = "1.0.0"
++version = "2.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
++checksum = "343f3f510c2915908f155e94f17220b19ccfacf2a64a2a5d8004f2c3e311e7fd"
 +
 +[[package]]
 +name = "tempfile"
@@ -428,7 +434,7 @@ index 0000000..1ce7abc
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +dependencies = [
-+ "cfg-if",
++ "cfg-if 0.1.10",
 + "libc",
 + "rand",
 + "redox_syscall",
@@ -464,6 +470,12 @@ index 0000000..1ce7abc
 +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 +
 +[[package]]
++name = "version_check"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
++
++[[package]]
 +name = "wasi"
 +version = "0.9.0+wasi-snapshot-preview1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/nixpkgs/pkgs/tools/security/b3sum/default.nix b/nixpkgs/pkgs/tools/security/b3sum/default.nix
index dd6a538d11d0..d36dfc8e18cb 100644
--- a/nixpkgs/pkgs/tools/security/b3sum/default.nix
+++ b/nixpkgs/pkgs/tools/security/b3sum/default.nix
@@ -2,25 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "b3sum";
-  version = "0.3.4";
+  version = "0.3.7";
 
   src = fetchFromGitHub {
     owner = "BLAKE3-team";
     repo = "BLAKE3";
     rev = version;
-    sha256 = "02yyv91wvy5w7i05z6f3kzxm5x34a4xgkgmcqxnb0ivsxnnld73h";
+    sha256 = "0r3nj7jbrpb2gkkfa9h6nv6blrbv6dlrhxg131qnh340q1ysh0x7";
   };
 
   sourceRoot = "source/b3sum";
 
-  cargoSha256 = "0ycn5788dc925wx28sgfs121w4x7yggm4mnmwij829ka8859bymk";
+  cargoSha256 = "0n8hp83hw7g260vmf4qcicpca75faam7k0zmb0k4cdzsar96gdrr";
 
-  cargoPatches = [ ./add-cargo-lock.patch ];
+  cargoPatches = [ ./cargo-lock.patch ];
 
   meta = {
     description = "BLAKE3 cryptographic hash function";
     homepage = "https://github.com/BLAKE3-team/BLAKE3/";
-    maintainers = with lib.maintainers; [ fpletz ];
+    maintainers = with lib.maintainers; [ fpletz ivan ];
     license = with lib.licenses; [ cc0 asl20 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/b3sum/update-cargo-lock.sh b/nixpkgs/pkgs/tools/security/b3sum/update-cargo-lock.sh
new file mode 100755
index 000000000000..8c52ad5cf6c0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/b3sum/update-cargo-lock.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# This updates cargo-lock.patch for the b3sum 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 "$version" --depth=1 https://github.com/BLAKE3-team/BLAKE3 "$checkout"
+cd "$checkout"
+
+(cd b3sum && cargo generate-lockfile)
+mv b3sum/Cargo.lock ./
+git add -f Cargo.lock
+git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
+
+cd "$here"
+rm -rf "$checkout"
diff --git a/nixpkgs/pkgs/tools/security/bash-supergenpass/default.nix b/nixpkgs/pkgs/tools/security/bash-supergenpass/default.nix
index f72c916acf99..53bc45acf8f7 100644
--- a/nixpkgs/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/nixpkgs/pkgs/tools/security/bash-supergenpass/default.nix
@@ -1,8 +1,14 @@
-{ stdenv, fetchFromGitHub, makeWrapper, openssl, coreutils, gnugrep }:
+{ stdenv
+, fetchFromGitHub
+, unstableGitUpdater
+, makeWrapper
+, openssl
+, coreutils
+, gnugrep }:
 
 stdenv.mkDerivation {
-  pname = "bash-supergenpass-unstable";
-  version = "2018-04-18";
+  pname = "bash-supergenpass";
+  version = "unstable-2018-04-18";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -18,6 +24,8 @@ stdenv.mkDerivation {
     wrapProgram "$out/bin/supergenpass" --prefix PATH : "${stdenv.lib.makeBinPath [ openssl coreutils gnugrep ]}"
   '';
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with stdenv.lib; {
     description = "Bash shell-script implementation of SuperGenPass password generation";
     longDescription = ''
@@ -36,4 +44,3 @@ stdenv.mkDerivation {
     homepage = "https://github.com/lanzz/bash-supergenpass";
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/security/bitwarden/default.nix b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
index d10a938ea023..c35a4d60e9e7 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden/default.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
@@ -17,11 +17,11 @@ let
   pname = "bitwarden";
 
   version = {
-    x86_64-linux = "1.22.1";
+    x86_64-linux = "1.23.0";
   }.${system} or "";
 
   sha256 = {
-    x86_64-linux = "1pbcrkafyjjcsd27s99g511llkz05d9qkny7g15wp6piyyv89k3n";
+    x86_64-linux = "1z1r8327xymqf2h98wb2fb02s41pxc6fh5w4bxmdgpx7k1jx5kvg";
   }.${system} or "";
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix b/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix
index c2bb83241861..57e865ef596a 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix
@@ -8,13 +8,13 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "bitwarden_rs";
-  version = "1.16.3";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "1scy8abzy6j1jsms84cg2nqkn1zsxr5mjikp2xh0yl0ckkk13ffn";
+    sha256 = "0hi29vy23a5r23pgzdssd2gvim8vw2vmykck5cl5phq11a3az31p";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -25,7 +25,7 @@ in rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "112mvgq581cms0war5dbni7f7yryjr5agryzn5qx835qkznzar8s";
+  cargoSha256 = "0hv3k5l85nz4syzamranhi237fiwkjnda8v5ssnm2nsmcm7ih9k8";
   cargoBuildFlags = [ featuresFlag ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix b/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
index 8efa1e4bfd3b..786ff5784557 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
-  version = "2.16.0b";
+  version = "2.16.1";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "1p10a5rp2ymx675sbigwrkkfjvpk1lz3d43l2p2i1vbw153py3p1";
+    sha256 = "1c4fcf8jzgd6636wv903r5msc9z5l56l2i4k93kvb2zvg7qj014w";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/tools/security/cfssl/default.nix b/nixpkgs/pkgs/tools/security/cfssl/default.nix
index 1aef7b5bd567..d926aaca68fb 100644
--- a/nixpkgs/pkgs/tools/security/cfssl/default.nix
+++ b/nixpkgs/pkgs/tools/security/cfssl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cfssl";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cfssl";
     rev = "v${version}";
-    sha256 = "07qacg95mbh94fv64y577zyr4vk986syf8h5l8lbcmpr0zcfk0pd";
+    sha256 = "1yzxz2l7h2d3f8j6l9xlm7g9659gsa17zf4q0883s0jh3l3xgs5n";
   };
 
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/security/chipsec/default.nix b/nixpkgs/pkgs/tools/security/chipsec/default.nix
index 5dccf295065c..0f162347cc83 100644
--- a/nixpkgs/pkgs/tools/security/chipsec/default.nix
+++ b/nixpkgs/pkgs/tools/security/chipsec/default.nix
@@ -11,6 +11,8 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "1rxr9i08a22m15slvlkrhnki30jixi2ds096kmmc2nqzfr9yibmb";
   };
 
+  disabled = !stdenv.isLinux;
+
   nativeBuildInputs = [
     nasm libelf
   ];
diff --git a/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix b/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
index 19dd9e9819af..0065758e1c3f 100644
--- a/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
+++ b/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "chrome-token-signing";
-  version = "1.1.2";
+  version = "1.1.2-1";
 
   src = fetchFromGitHub {
     owner = "open-eid";
     repo = "chrome-token-signing";
     rev = "v${version}";
-    sha256 = "0fqgci4336fbnd944zx9w37d5ky7i27n6wvlp5zv3hj955ldbh7g";
+    sha256 = "1vbghy12fjmq4m5l7hisq1ylnzy0rdnnd920xwamjamlx38jj3ln";
   };
 
   buildInputs = [ qmake pcsclite pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/security/clamav/default.nix b/nixpkgs/pkgs/tools/security/clamav/default.nix
index fb523c5299ce..e3c57cbc9e90 100644
--- a/nixpkgs/pkgs/tools/security/clamav/default.nix
+++ b/nixpkgs/pkgs/tools/security/clamav/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, pkg-config
 , zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl, libmilter, pcre2
-, libmspack, systemd, Foundation
+, libmspack, systemd, Foundation, json_c, check
 }:
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.102.4";
+  version = "0.103.0";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "06rrzyrhnr0rswryijpbbzywr6387rv8qjq8sb8cl3h2d1m45ggf";
+    sha256 = "0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile.in --replace ' etc ' ' '
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre2 libmspack
+    zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre2 libmspack json_c check
   ] ++ stdenv.lib.optional stdenv.isLinux systemd
     ++ stdenv.lib.optional stdenv.isDarwin Foundation;
 
@@ -31,8 +32,11 @@ stdenv.mkDerivation rec {
     "--with-xml=${libxml2.dev}"
     "--with-openssl=${openssl.dev}"
     "--with-libcurl=${curl.dev}"
+    "--with-libjson=${json_c.dev}"
     "--with-system-libmspack"
     "--enable-milter"
+    "--disable-unrar" # disable unrar because it's non-free and requires some extra patching to work properly
+    "--enable-check"
   ] ++ stdenv.lib.optional stdenv.isLinux
     "--with-systemdsystemunitdir=$(out)/lib/systemd";
 
@@ -41,6 +45,10 @@ stdenv.mkDerivation rec {
     cp etc/*.sample $out/etc
   '';
 
+  # Only required for the unit tests
+  hardeningDisable = [ "format" ];
+  doCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://www.clamav.net";
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
diff --git a/nixpkgs/pkgs/tools/security/clevis/default.nix b/nixpkgs/pkgs/tools/security/clevis/default.nix
index 878e4fc9febf..0b8f50c11901 100644
--- a/nixpkgs/pkgs/tools/security/clevis/default.nix
+++ b/nixpkgs/pkgs/tools/security/clevis/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clevis";
-  version = "14";
+  version = "15";
 
   src = fetchFromGitHub {
     owner = "latchset";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1j8id67jk3ikim2xh7vjg7j2ayrpm1a4n8v3n8r8pnr4rhqy76fd";
+    sha256 = "0wfgd2v1r47ckh5qp60b903191fx0fa27zyadxlsb8riqszhmwvz";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig asciidoc ];
diff --git a/nixpkgs/pkgs/tools/security/crackxls/default.nix b/nixpkgs/pkgs/tools/security/crackxls/default.nix
index e861d70f7252..aff6bbd028ad 100644
--- a/nixpkgs/pkgs/tools/security/crackxls/default.nix
+++ b/nixpkgs/pkgs/tools/security/crackxls/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchgit, pkgconfig, autoconf, automake, openssl, libgsf, gmp }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake, openssl, libgsf, gmp }:
 
 stdenv.mkDerivation rec {
 
   pname = "crackxls";
   version = "0.4";
 
-  src = fetchgit {
-    url = "https://github.com/GavinSmith0123/crackxls2003.git";
-    rev = "refs/tags/v${version}";
+  src = fetchFromGitHub {
+    owner = "GavinSmith0123";
+    repo = "crackxls2003";
+    rev = "v${version}";
     sha256 = "0q5jl7hcds3f0rhly3iy4fhhbyh9cdrfaw7zdrazzf1wswwhyssz";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/creddump/default.nix b/nixpkgs/pkgs/tools/security/creddump/default.nix
index d37c58a51591..ffa2fd2311c1 100644
--- a/nixpkgs/pkgs/tools/security/creddump/default.nix
+++ b/nixpkgs/pkgs/tools/security/creddump/default.nix
@@ -7,8 +7,7 @@ python2Packages.buildPythonApplication rec {
   src = fetchFromGitLab {
     owner = "kalilinux";
     repo = "packages/creddump";
-    # url-encoding workaround: https://github.com/NixOS/nixpkgs/issues/65796#issuecomment-517829019
-    rev = "debian%2F${version}-1kali2"; # %2F = urlquote("/")
+    rev = "debian/${version}-1kali2";
     sha256 = "0r3rs2hggsvv619l3fh3c0jli6d3ryyj30ni3hz0nz670z5smzcf";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/dnsx/default.nix b/nixpkgs/pkgs/tools/security/dnsx/default.nix
new file mode 100644
index 000000000000..21bf7d4664cc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dnsx/default.nix
@@ -0,0 +1,31 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "dnsx";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = "dnsx";
+    rev = "v${version}";
+    sha256 = "1pgq21pbnz2dm272zrhd455njj5vg4kywpd230acj675nlgir6y1";
+  };
+
+  vendorSha256 = "0j2cqvskzxbyfrvsv4gm4qwfjm0digizcg157z5iignnknddajax";
+
+  meta = with stdenv.lib; {
+    description = "Fast and multi-purpose DNS toolkit";
+    longDescription = ''
+      dnsx is a fast and multi-purpose DNS toolkit allow to run multiple
+      probers using retryabledns library, that allows you to perform
+      multiple DNS queries of your choice with a list of user supplied
+      resolvers.
+    '';
+    homepage = "https://github.com/projectdiscovery/dnsx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/doas/default.nix b/nixpkgs/pkgs/tools/security/doas/default.nix
index baa2fc301a89..6867256ea90c 100644
--- a/nixpkgs/pkgs/tools/security/doas/default.nix
+++ b/nixpkgs/pkgs/tools/security/doas/default.nix
@@ -4,18 +4,19 @@
 , bison
 , pam
 
+, withPAM ? true
 , withTimestamp ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "doas";
-  version = "6.6.1";
+  version = "6.8";
 
   src = fetchFromGitHub {
     owner = "Duncaen";
     repo = "OpenDoas";
     rev = "v${version}";
-    sha256 = "07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn";
+    sha256 = "1dlwnvy8r6slxcy260gfkximp1ms510wdslpfq9y6xvd2qi5izcb";
   };
 
   # otherwise confuses ./configure
@@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     (lib.optionalString withTimestamp "--with-timestamp") # to allow the "persist" setting
+    (lib.optionalString (!withPAM) "--without-pam")
     "--pamdir=${placeholder "out"}/etc/pam.d"
   ];
 
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    sed -i '/\(chown\|chmod\)/d' bsd.prog.mk
+    sed -i '/\(chown\|chmod\)/d' GNUmakefile
   '';
 
   buildInputs = [ bison pam ];
diff --git a/nixpkgs/pkgs/tools/security/doppler/default.nix b/nixpkgs/pkgs/tools/security/doppler/default.nix
index 847d5d0cafb3..0822828eb90b 100644
--- a/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.10.3";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "15wmg67wwwgrs8q45r1z98k9v7mf2bfgsa40gcf8dr18ilnfpbn4";
+    sha256 = "049x8y7zjvpd1gvkrld69dffnf4pawjwm7by71r6z408hwvfqjpa";
   };
 
-  vendorSha256 = "0wqbwk72k4r30a3vnf0gnx3k97y8xgnr2iavk5bc8f8vkjv0bsv6";
+  vendorSha256 = "1s8zwjfk9kcddn8cywr7llh9v5m140kvmi5lmy2glvwh3rwccgxf";
 
   buildFlagsArray = "-ldflags=-X github.com/DopplerHQ/cli/pkg/version.ProgramVersion=v${version}";
 
diff --git a/nixpkgs/pkgs/tools/security/ecdsatool/default.nix b/nixpkgs/pkgs/tools/security/ecdsatool/default.nix
index 524f38982cc4..b1a86fe7e64a 100644
--- a/nixpkgs/pkgs/tools/security/ecdsatool/default.nix
+++ b/nixpkgs/pkgs/tools/security/ecdsatool/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   buildInputs = with pkgs; [libuecc];
 
   meta = with stdenv.lib; {
-    description = "Create and manipulate ECC NISTP256 keypairs.";
+    description = "Create and manipulate ECC NISTP256 keypairs";
     homepage = "https://github.com/kaniini/ecdsatool/";
     license = with licenses; [free];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/security/ecryptfs/default.nix b/nixpkgs/pkgs/tools/security/ecryptfs/default.nix
index e4caa9c4e18d..1a8329885ba2 100644
--- a/nixpkgs/pkgs/tools/security/ecryptfs/default.nix
+++ b/nixpkgs/pkgs/tools/security/ecryptfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, utillinux, keyutils, nss, nspr, python2, pam, enablePython ? false
+{ stdenv, fetchurl, pkgconfig, perl, util-linux, keyutils, nss, nspr, python2, pam, enablePython ? false
 , intltool, makeWrapper, coreutils, bash, gettext, cryptsetup, lvm2, rsync, which, lsof }:
 
 stdenv.mkDerivation rec {
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     FILES="$(grep -r '/bin/sh' src/utils -l; find src -name \*.c)"
     for file in $FILES; do
       substituteInPlace "$file" \
-        --replace /bin/mount ${utillinux}/bin/mount \
-        --replace /bin/umount ${utillinux}/bin/umount \
+        --replace /bin/mount ${util-linux}/bin/mount \
+        --replace /bin/umount ${util-linux}/bin/umount \
         --replace /sbin/mount.ecryptfs_private ${wrapperDir}/mount.ecryptfs_private \
         --replace /sbin/umount.ecryptfs_private ${wrapperDir}/umount.ecryptfs_private \
         --replace /sbin/mount.ecryptfs $out/sbin/mount.ecryptfs \
diff --git a/nixpkgs/pkgs/tools/security/eid-mw/default.nix b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
index 1fdd5b9a7228..a55c1d8db661 100644
--- a/nixpkgs/pkgs/tools/security/eid-mw/default.nix
+++ b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig
 , gtk3, nssTools, pcsclite
-, libxml2, libproxy 
+, libxml2, libproxy
 , openssl, curl
 , makeWrapper
 , substituteAll }:
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
       --replace "modutil" "${nssTools}/bin/modutil"
 
     rm $out/bin/about-eid-mw
-    wrapProgram $out/bin/eid-viewer --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/$name" 
+    wrapProgram $out/bin/eid-viewer --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/$name"
   '';
 
   enableParallelBuilding = true;
@@ -58,11 +58,11 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Belgian electronic identity card (eID) middleware";
-    homepage = "http://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/";
+    homepage = "https://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/";
     license = licenses.lgpl3;
     longDescription = ''
       Allows user authentication and digital signatures with Belgian ID cards.
-      Also requires a running pcscd service and compatible card reader. 
+      Also requires a running pcscd service and compatible card reader.
 
       eid-viewer is also installed.
 
diff --git a/nixpkgs/pkgs/tools/security/enpass/data.json b/nixpkgs/pkgs/tools/security/enpass/data.json
index a4a3b919e648..7a52e260eb92 100644
--- a/nixpkgs/pkgs/tools/security/enpass/data.json
+++ b/nixpkgs/pkgs/tools/security/enpass/data.json
@@ -1,12 +1,12 @@
 {
   "amd64": {
-    "path": "pool/main/e/enpass/enpass_6.0.1.239_amd64.deb", 
-    "sha256": "408a2bb318564307607f13b52fec7667f425c01ac40cbe345ebfa191ab1479ba", 
-    "version": "6.0.1.239"
-  }, 
+    "path": "pool/main/e/enpass/enpass_6.5.1.723_amd64.deb",
+    "sha256": "d9bb408fa2253ce44ab5396898f7db13291ce23ae58964f4a27ade38bd5067bf",
+    "version": "6.5.1.723"
+  },
   "i386": {
     "path": "pool/main/e/enpass/enpass_5.6.9_i386.deb", 
     "sha256": "3f699ac3e2ecfd4afee1505d8d364d4f6b6b94c55ba989d0a80bd678ff66cb2c", 
     "version": "5.6.9"
   }
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/tools/security/enpass/default.nix b/nixpkgs/pkgs/tools/security/enpass/default.nix
index 370282d02d06..be2e5b06246d 100644
--- a/nixpkgs/pkgs/tools/security/enpass/default.nix
+++ b/nixpkgs/pkgs/tools/security/enpass/default.nix
@@ -2,7 +2,7 @@
 , glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk3, pango
 , makeWrapper , python2Packages, lib
-, lsof, curl, libuuid, cups, mesa
+, lsof, curl, libuuid, cups, mesa, lzma, libxkbcommon
 }:
 
 let
@@ -38,6 +38,8 @@ let
     curl
     libuuid
     cups
+    lzma
+    libxkbcommon
   ]);
   package = stdenv.mkDerivation {
 
@@ -49,11 +51,12 @@ let
       url = "${baseUrl}/${data.path}";
     };
 
-    meta = {
-      description = "a well known password manager";
+    meta = with stdenv.lib; {
+      description = "A well known password manager";
       homepage = "https://www.enpass.io/";
-      license = lib.licenses.unfree;
+      license = licenses.unfree;
       platforms = [ "x86_64-linux" "i686-linux"];
+      maintainers = with maintainers; [ ewok ];
     };
 
     buildInputs = [makeWrapper dpkg];
diff --git a/nixpkgs/pkgs/tools/security/ffuf/default.nix b/nixpkgs/pkgs/tools/security/ffuf/default.nix
new file mode 100644
index 000000000000..77a286df4c69
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ffuf/default.nix
@@ -0,0 +1,34 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "ffuf";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1jb2x0ybcb9zkqm7flpmr0hd3171xvnn6kxmfcgds4x8l9fbmxnr";
+  };
+
+  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
+  # tests don't pass due to an issue with the memory addresses
+  # https://github.com/ffuf/ffuf/issues/367
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Fast web fuzzer written in Go";
+    longDescription = ''
+      FFUF, or “Fuzz Faster you Fool” is an open source web fuzzing tool,
+      intended for discovering elements and content within web applications
+      or web servers.
+    '';
+    homepage = "https://github.com/ffuf/ffuf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/fido2luks/default.nix b/nixpkgs/pkgs/tools/security/fido2luks/default.nix
index 729a3f7297cb..d2a5d91467a8 100644
--- a/nixpkgs/pkgs/tools/security/fido2luks/default.nix
+++ b/nixpkgs/pkgs/tools/security/fido2luks/default.nix
@@ -3,23 +3,29 @@
 , fetchFromGitHub
 , cryptsetup
 , pkg-config
+, clang
+, llvmPackages
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fido2luks";
-  version = "0.2.3";
+  version = "0.2.15";
 
   src = fetchFromGitHub {
     owner = "shimunn";
     repo = pname;
     rev = version;
-    sha256 = "0340xp7q6f0clb7wmqpgllllwsixmsy37k1f5kj3hwvb730rz93x";
+    sha256 = "1v5gxcz4zbc673i5kbsnjq8bikf7jdbn3wjfz1wppjrgwnkgvsh9";
   };
 
   buildInputs = [ cryptsetup ];
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config clang ];
 
-  cargoSha256 = "0rp4f6xnwmvf3pv6h0qwsg01jrndf77yn67675ac39kxzmrzfy2f";
+  configurePhase = ''
+    export LIBCLANG_PATH="${llvmPackages.libclang}/lib"
+  '';
+
+  cargoSha256 = "19drjql13z8bw257z10kjppxm25jlfgrpc9g1jf68ka5j2b3nx7k";
 
   meta = with stdenv.lib; {
     description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
diff --git a/nixpkgs/pkgs/tools/security/fpm2/default.nix b/nixpkgs/pkgs/tools/security/fpm2/default.nix
index 3d082523f6fa..2f297ffd6b79 100644
--- a/nixpkgs/pkgs/tools/security/fpm2/default.nix
+++ b/nixpkgs/pkgs/tools/security/fpm2/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gnupg gtk2 libxml2 intltool ];
 
   meta = {
-    description = "FPM2 is GTK2 port from Figaro's Password Manager originally developed by John Conneely, with some new enhancements.";
+    description = "GTK2 port from Figaro's Password Manager originally developed by John Conneely, with some new enhancements";
     homepage    = "https://als.regnet.cz/fpm2/";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/security/gau/default.nix b/nixpkgs/pkgs/tools/security/gau/default.nix
new file mode 100644
index 000000000000..cfbae951526c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gau/default.nix
@@ -0,0 +1,29 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "gau";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "lc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1srbql603vvlxc6p1ibw0982icdq9kcr1iamxlr8bmgldbm8215w";
+  };
+
+  vendorSha256 = "17ag2wvaxv2dyx3yx3fvlf36ww4a44660pn4gvpbrwacsan9as5s";
+
+  meta = with stdenv.lib; {
+    description = "Tool to fetch known URLs";
+    longDescription = ''
+      getallurls (gau) fetches known URLs from various sources for any
+      given domain.
+    '';
+    homepage = "https://github.com/lc/gau";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/genpass/default.nix b/nixpkgs/pkgs/tools/security/genpass/default.nix
index 39a84112d63d..6818af194b3a 100644
--- a/nixpkgs/pkgs/tools/security/genpass/default.nix
+++ b/nixpkgs/pkgs/tools/security/genpass/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchFromGitHub
+, fetchgit
 , rustPlatform
 , CoreFoundation
 , libiconv
@@ -7,22 +7,21 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "genpass";
-  version = "0.4.1";
+  version = "0.4.9";
 
-  src = fetchFromGitHub {
-    owner = "cyplo";
-    repo = pname;
+  src = fetchgit {
+    url = "https://git.sr.ht/~cyplo/genpass";
     rev = "v${version}";
-    sha256 = "1b22m7g55k5ry0vwyd8pakh8rmfkhk37qy5r74cn3n5pv3fcwini";
+    sha256 = "1dpv2iyd48xd8yw9bmymjjrkhsgmpwvsl5b9zx3lpaaq59ypi9g9";
   };
 
-  cargoSha256 = "1p6l64s9smhwka8bh3pamqimamxziad859i62nrmxzqc49nq5s7m";
+  cargoSha256 = "1cwxpc3xkw673wiamr4v7clrzwxl8ma1vdr6bw0hixm37gxdxz7x";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv Security ];
 
   meta = with stdenv.lib; {
-    description = "A simple yet robust commandline random password generator.";
-    homepage = "https://github.com/cyplo/genpass";
+    description = "A simple yet robust commandline random password generator";
+    homepage = "https://sr.ht/~cyplo/genpass/";
     license = licenses.agpl3;
     maintainers = with maintainers; [ cyplo ];
   };
diff --git a/nixpkgs/pkgs/tools/security/ghidra/default.nix b/nixpkgs/pkgs/tools/security/ghidra/default.nix
index d31e1f2c2758..2e55b24f723d 100644
--- a/nixpkgs/pkgs/tools/security/ghidra/default.nix
+++ b/nixpkgs/pkgs/tools/security/ghidra/default.nix
@@ -1,6 +1,15 @@
-{ stdenv, fetchzip, lib, makeWrapper, autoPatchelfHook
-, openjdk11, pam, makeDesktopItem, icoutils
-}: let
+{ stdenv
+, fetchzip
+, lib
+, makeWrapper
+, autoPatchelfHook
+, openjdk11
+, pam
+, makeDesktopItem
+, icoutils
+}:
+
+let
 
   pkg_path = "$out/lib/ghidra";
 
@@ -13,21 +22,22 @@
     categories = "Development;";
   };
 
+in stdenv.mkDerivation rec {
 
-in stdenv.mkDerivation {
-
-  name = "ghidra-9.1.2";
+  pname = "ghidra";
+  version = "9.2.1";
+  versiondate = "20201215";
 
   src = fetchzip {
-    url = "https://ghidra-sre.org/ghidra_9.1.2_PUBLIC_20200212.zip";
-    sha256 = "0j48pijypg44bw06azbrgfqjkigb13ljfdxib70sxwyqia3vkbbm";
+    url = "https://www.ghidra-sre.org/ghidra_${version}_PUBLIC_${versiondate}.zip";
+    sha256 = "0rjzmx0nbv9flb666mk3w2dqliyfzjyc4ldjfmb5d29wpgnf9bnz";
   };
 
   nativeBuildInputs = [
     makeWrapper
-    autoPatchelfHook
     icoutils
-  ];
+  ]
+  ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
   buildInputs = [
     stdenv.cc.cc.lib
@@ -60,9 +70,9 @@ in stdenv.mkDerivation {
   meta = with lib; {
     description = "A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission";
     homepage = "https://ghidra-sre.org/";
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     license = licenses.asl20;
-    maintainers = [ maintainers.ck3d ];
+    maintainers = with maintainers; [ ck3d govanify ];
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/security/gnu-pw-mgr/default.nix b/nixpkgs/pkgs/tools/security/gnu-pw-mgr/default.nix
index de5234961d25..af6893b26e86 100644
--- a/nixpkgs/pkgs/tools/security/gnu-pw-mgr/default.nix
+++ b/nixpkgs/pkgs/tools/security/gnu-pw-mgr/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gnu-pw-mgr";
-  version = "2.4.2";
+  version = "2.7.4";
   src = fetchurl {
     url = "https://ftp.gnu.org/gnu/gnu-pw-mgr/${pname}-${version}.tar.xz";
-    sha256 = "1yvdzc5w37qrjrkby5699ygj9bhkvgi3zk9k9jcjry1j6b7wdl17";
+    sha256 = "0fhwvsmsqpw0vnivarfg63l8pgwqfv7d5wi6l80jpb41dj6qpjz8";
   };
 
   buildInputs = [ gnulib ];
diff --git a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
index e173f66f7483..04af88e33352 100644
--- a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://gnupg-pkcs11.sourceforge.net/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ lschuermann philandstuff ];
+    maintainers = with maintainers; [ matthiasbeyer philandstuff ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/gnupg/22.nix b/nixpkgs/pkgs/tools/security/gnupg/22.nix
index 4e4a392a8878..f641a5343806 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/22.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg/22.nix
@@ -16,11 +16,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false;
 stdenv.mkDerivation rec {
   pname = "gnupg";
 
-  version = "2.2.23";
+  version = "2.2.24";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "0p6ss4f3vlkf91pmp27bmvfr5bdxxi0pb3dmxpqljglbsx4mxd8h";
+    sha256 = "0ilcp7m1dvwnri3i7q9wanf5pvhwxk7h106pd62g0d5fz80b944h";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -71,6 +71,9 @@ stdenv.mkDerivation rec {
 
     # add gpg2 symlink to make sure git does not break when signing commits
     ln -s $out/bin/gpg $out/bin/gpg2
+
+    # Make libexec tools available in PATH
+    ln -s -t $out/bin $out/libexec/*
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/gobuster/default.nix b/nixpkgs/pkgs/tools/security/gobuster/default.nix
index 6e049917de2c..cc436a16b587 100644
--- a/nixpkgs/pkgs/tools/security/gobuster/default.nix
+++ b/nixpkgs/pkgs/tools/security/gobuster/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gobuster";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "OJ";
     repo = "gobuster";
     rev = "v${version}";
-    sha256 = "0q8ighqykh8qyvidnm6az6dc9mp32bbmhkmkqzl1ybbw6paa8pym";
+    sha256 = "0nal2g5c6z46x6337yh0s6mqgnsigp91i7mp1l3sa91p5ihk71wr";
   };
 
-  vendorSha256 = "0kr9i2nm5csf3070hwaiss137pfa3088xbw2zigp7aqb2naky036";
+  vendorSha256 = "1isp2jd6k4ppns5zi9irj09090imnc0xp6vcps135ymgp8qg4163";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/security/gopass/default.nix b/nixpkgs/pkgs/tools/security/gopass/default.nix
index 15ad1c70a8da..ff855cce240c 100644
--- a/nixpkgs/pkgs/tools/security/gopass/default.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/default.nix
@@ -46,15 +46,17 @@ buildGoModule rec {
     ln -s $out/bin/gopass $out/bin/pass
   '';
 
+  # --run to work around WONTFIX in https://github.com/gopasspw/gopass/issues/1662
   postFixup = ''
     for bin in $out/bin/*; do
       wrapProgram $bin \
-        --prefix PATH : "${wrapperPath}"
+        --prefix PATH : "${wrapperPath}" \
+        --run 'rm -f "''${XDG_CONFIG_HOME:-~/.config}/gopass/gpg-binary.loc"'
     done
   '';
 
   meta = with stdenv.lib; {
-    description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go.";
+    description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go";
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
     maintainers = with maintainers; [ andir rvolosatovs ];
diff --git a/nixpkgs/pkgs/tools/security/gospider/default.nix b/nixpkgs/pkgs/tools/security/gospider/default.nix
new file mode 100644
index 000000000000..b7c94c940239
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gospider/default.nix
@@ -0,0 +1,33 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "gospider";
+  version = "1.1.4";
+
+  src = fetchFromGitHub {
+    owner = "jaeles-project";
+    repo = pname;
+    rev = version;
+    sha256 = "03gl8y2047iwa6bhmayyds3li21wy3sw1x4hpp9zgqgi95039q86";
+  };
+
+  vendorSha256 = "0dc4ddi26i38c5rvy9zbal27a7qvn17h64w1yhbig4iyb79b18ym";
+
+  # tests require internet access and API keys
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Fast web spider written in Go";
+    longDescription = ''
+      GoSpider is a fast web crawler that parses sitemap.xml and robots.txt file.
+      It can generate and verify link from JavaScript files, extract URLs from
+      various sources and can detect subdomains from the response source.
+    '';
+    homepage = "https://github.com/jaeles-project/gospider";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/hashdeep/default.nix b/nixpkgs/pkgs/tools/security/hashdeep/default.nix
index 8c8ab5b01a5d..4ad656462b14 100644
--- a/nixpkgs/pkgs/tools/security/hashdeep/default.nix
+++ b/nixpkgs/pkgs/tools/security/hashdeep/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
-    description = "A set of cross-platform tools to compute hashes.";
+    description = "A set of cross-platform tools to compute hashes";
     homepage = "https://github.com/jessek/hashdeep";
     license = licenses.gpl2;
     platforms = with platforms; linux ++ freebsd ++ openbsd;
diff --git a/nixpkgs/pkgs/tools/security/hcxdumptool/default.nix b/nixpkgs/pkgs/tools/security/hcxdumptool/default.nix
index 63752b5f1235..afc08d88a590 100644
--- a/nixpkgs/pkgs/tools/security/hcxdumptool/default.nix
+++ b/nixpkgs/pkgs/tools/security/hcxdumptool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxdumptool";
-  version = "6.1.2";
+  version = "6.1.4";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = "hcxdumptool";
     rev = version;
-    sha256 = "0y73a5p23rg4zx6vkgpq1p3j2dzqcvzwn1ymswfkqm5zihbi17d7";
+    sha256 = "14rwcchqpsxyzvk086d7wbi5qlcxj4jcmafzgvkwzrpbspqh8p24";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/security/hologram/default.nix b/nixpkgs/pkgs/tools/security/hologram/default.nix
index 7c5a2d5a4c11..9a8722ac2639 100644
--- a/nixpkgs/pkgs/tools/security/hologram/default.nix
+++ b/nixpkgs/pkgs/tools/security/hologram/default.nix
@@ -19,7 +19,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/AdRoll/hologram/";
-    description = "Easy, painless AWS credentials on developer laptops.";
+    description = "Easy, painless AWS credentials on developer laptops";
     maintainers = with maintainers; [ nand0p ];
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/tools/security/honggfuzz/default.nix b/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
index 71146b15ea3d..a46acef81d75 100644
--- a/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
+++ b/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
@@ -10,7 +10,7 @@ let
     src = fetchFromGitHub {
       owner = "google";
       repo = pname;
-      rev = "${version}";
+      rev = version;
       sha256 = "0dcl5a5jykgfmnfj42vl7kah9k26wg38l2g6yfh5pssmlf0nax33";
     };
 
diff --git a/nixpkgs/pkgs/tools/security/httpx/default.nix b/nixpkgs/pkgs/tools/security/httpx/default.nix
new file mode 100644
index 000000000000..c7d83075e9da
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -0,0 +1,30 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "httpx";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = "httpx";
+    rev = "v${version}";
+    sha256 = "15ihc5926kbai16i59c7bmvgd162qq9dpd52g4vrp7dq4jrz155m";
+  };
+
+  vendorSha256 = "0fg93vhwpx113fpw8qg4ram4bdh6a8x3a36pr1c962s4vhrabwy2";
+
+  meta = with stdenv.lib; {
+    description = "Fast and multi-purpose HTTP toolkit";
+    longDescription = ''
+      httpx is a fast and multi-purpose HTTP toolkit allow to run multiple
+      probers using retryablehttp library, it is designed to maintain the
+      result reliability with increased threads.
+    '';
+    homepage = "https://github.com/projectdiscovery/httpx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/ipscan/default.nix b/nixpkgs/pkgs/tools/security/ipscan/default.nix
index 80634b7d1a1c..4963f5774875 100644
--- a/nixpkgs/pkgs/tools/security/ipscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/ipscan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipscan";
-  version = "3.7.1";
+  version = "3.7.3";
 
   src = fetchurl {
     url = "https://github.com/angryip/ipscan/releases/download/${version}/ipscan_${version}_all.deb";
-    sha256 = "1l6l3nb1yq0f09ia3k9k1dcpzp9g1hxnf547pqmiyiqvd27n7shs";
+    sha256 = "18vvjqsxkz9g503k983cxdzzz6sdkv6qg3nwf8af9k34ynhhh0m7";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/tools/security/jadx/default.nix b/nixpkgs/pkgs/tools/security/jadx/default.nix
index 961f1e6954a1..770062736bf1 100644
--- a/nixpkgs/pkgs/tools/security/jadx/default.nix
+++ b/nixpkgs/pkgs/tools/security/jadx/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "jadx";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "skylot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1dx3g0sm46qy57gggpg8bpmin5glzbxdbf0qzvha9r2dwh4mrwlg";
+    sha256 = "1w1wc81mkjcsgjbrihbsphxkcmwnfnf555pmlsd2vs2a04nki01y";
   };
 
   deps = stdenv.mkDerivation {
@@ -33,7 +33,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "083r4hg6m9cxzm2m8nckf10awq8kh901v5i39r60x47xk5yw84ps";
+    outputHash = "05fsycpd90dbak2vgdpd9cz08liq5j78ag9ry9y1s62ld776g0hz";
   };
 in stdenv.mkDerivation {
   inherit pname version src;
diff --git a/nixpkgs/pkgs/tools/security/jd-gui/default.nix b/nixpkgs/pkgs/tools/security/jd-gui/default.nix
index c4b7706c266b..91c092922f04 100644
--- a/nixpkgs/pkgs/tools/security/jd-gui/default.nix
+++ b/nixpkgs/pkgs/tools/security/jd-gui/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jre, jdk, gradle_5, makeDesktopItem, perl, writeText, runtimeShell }:
+{ stdenv, fetchFromGitHub, jre, jdk, gradle_5, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell }:
 
 let
   pname = "jd-gui";
@@ -55,9 +55,9 @@ let
     }
   '';
 
-  desktopItem = launcher: makeDesktopItem {
+  desktopItem = makeDesktopItem {
     name = "jd-gui";
-    exec = "${launcher} %F";
+    exec = "jd-gui %F";
     icon = "jd-gui";
     comment = "Java Decompiler JD-GUI";
     desktopName = "JD-GUI";
@@ -71,7 +71,7 @@ in stdenv.mkDerivation rec {
   inherit pname version src;
   name = "${pname}-${version}";
 
-  nativeBuildInputs = [ jdk gradle_5 ];
+  nativeBuildInputs = [ jdk gradle_5 copyDesktopItems ];
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
@@ -81,6 +81,8 @@ in stdenv.mkDerivation rec {
   installPhase = let
     jar = "$out/share/jd-gui/${name}.jar";
   in ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/share/{jd-gui,icons/hicolor/128x128/apps}
     cp build/libs/${name}.jar ${jar}
     cp src/linux/resources/jd_icon_128.png $out/share/icons/hicolor/128x128/apps/jd-gui.png
@@ -92,9 +94,11 @@ in stdenv.mkDerivation rec {
     EOF
     chmod +x $out/bin/jd-gui
 
-    ${(desktopItem "$out/bin/jd-gui").buildCommand}
+    runHook postInstall
   '';
 
+  desktopItems = [ desktopItem ];
+
   meta = with stdenv.lib; {
     description = "Fast Java Decompiler with powerful GUI";
     homepage    = "https://java-decompiler.github.io/";
diff --git a/nixpkgs/pkgs/tools/security/jwt-cli/default.nix b/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
index 728ea0a92da5..db73bb958eb6 100644
--- a/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
-  version = "3.2.1";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "mike-engel";
     repo = pname;
     rev = version;
-    sha256 = "07mnkr7hi29fyyyn7llb30p4ndiqz4gf1lnhm44qm09alaxmfvws";
+    sha256 = "09zi55ffkhsckvqj84xnxn9bgfkrj9wnzqbh9hfsxzbk4xy7fc2h";
   };
 
-  cargoSha256 = "0jkzy7ssg9v9phhlldq6s4rfs3sn17y2r1k0jr10g9j15lzixa04";
+  cargoSha256 = "1k13pw202fr5mvd0ys39n3dxwcl3sd01j6izfb28k06b6pav3wc8";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/security/kbs2/default.nix b/nixpkgs/pkgs/tools/security/kbs2/default.nix
index 191b4f351509..a13e7214cbbd 100644
--- a/nixpkgs/pkgs/tools/security/kbs2/default.nix
+++ b/nixpkgs/pkgs/tools/security/kbs2/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kbs2";
-  version = "0.1.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "woodruffw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hjcx651nqj1plxw4i2nv72zc0igd8pl31dy2zwm5yyky6dl7qla";
+    sha256 = "1jilsczz22fyqbgz43gl5ilz62gfqsahfk30gayj7q5bx9k35m4w";
   };
 
-  cargoSha256 = "11fw097r4mim3rgb0db7naqlf3ws0bavqdd4z84mpdg6714dga0n";
+  cargoSha256 = "1gvvmfavaq29p40p5mq1phpp2a1nw04dz4975pzm1b6z89p0jlzl";
 
   nativeBuildInputs = [ installShellFiles ]
     ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
@@ -24,7 +24,8 @@ rustPlatform.buildRustPackage rec {
     export HOME=$TMPDIR
   '';
 
-  checkFlagsArray = [ "--skip=kbs2::config::tests::test_find_config_dir" ];
+  checkFlags = [ "--skip=kbs2::config::tests::test_find_config_dir" ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ "--skip=test_ragelib_rewrap_keyfile" ];
 
   postInstall = ''
     mkdir -p $out/share/kbs2
@@ -38,6 +39,7 @@ rustPlatform.buildRustPackage rec {
   meta = with stdenv.lib; {
     description = "A secret manager backed by age";
     homepage = "https://github.com/woodruffw/kbs2";
+    changelog = "https://github.com/woodruffw/kbs2/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index ee1cfa9d2a41..ddc83ce0ce62 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "5.5.1";
+  version = "5.5.2";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/kbnm" "go/keybase" ];
@@ -17,7 +17,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "03y69zmzbnfay173xkbzvnhh8zjjd2rfnqmpgr0wvh1psn7mgpsh";
+    sha256 = "01k50mank6cdc7q3yd8m7xi8vmyklsqlmz7hw17a35lqcsjzy9zj";
   };
 
   patches = [
@@ -33,9 +33,9 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://www.keybase.io/";
-    description = "The Keybase official command-line utility and service.";
+    description = "The Keybase official command-line utility and service";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ avaq carlsverre np rvolosatovs filalex77 ];
+    maintainers = with maintainers; [ avaq carlsverre np rvolosatovs Br1ght0ne ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keybase/gui.nix b/nixpkgs/pkgs/tools/security/keybase/gui.nix
index 20c1bb8f7f16..13a1fed2e308 100644
--- a/nixpkgs/pkgs/tools/security/keybase/gui.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/gui.nix
@@ -4,17 +4,17 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20200527202541.39ca0071e5";
+  versionSuffix = "20201016183637.d4ebf7d999";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "5.5.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.5.2"; # 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 = "1n54a86491aqazqa4rgljbji638nj83ciibqxq46sa2m1php9dfd";
+    sha256 = "0qwbqnc6dhfnx3gdwl1lyhdsbclaxpkv3zr3dmxfx1242s64v0c1";
   };
 
   nativeBuildInputs = [
@@ -109,7 +109,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.keybase.io/";
     description = "The Keybase official GUI";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ avaq rvolosatovs puffnfresh np filalex77 ];
+    maintainers = with maintainers; [ avaq rvolosatovs puffnfresh np Br1ght0ne ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keysmith/default.nix b/nixpkgs/pkgs/tools/security/keysmith/default.nix
index b9ab7bb0b4aa..142e9c1e4a04 100644
--- a/nixpkgs/pkgs/tools/security/keysmith/default.nix
+++ b/nixpkgs/pkgs/tools/security/keysmith/default.nix
@@ -10,30 +10,25 @@
 , qtgraphicaleffects
 , kirigami2
 , oathToolkit
+, ki18n
+, libsodium
 }:
 mkDerivation rec {
 
   pname = "keysmith";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "KDE";
     repo = "keysmith";
     rev = "v${version}";
-    sha256 = "15fzf0bvarivm32zqa5w71mscpxdac64ykiawc5hx6kplz93bsgx";
+    sha256 = "1gvzw23mly8cp7ag3xpbngpid9gqrfj8cyv9dar6i9j660bh03km";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper ];
 
-  buildInputs = [ oathToolkit kirigami2 qtquickcontrols2 qtbase ];
-
-  postInstall = ''
-    mv $out/bin/org.kde.keysmith $out/bin/.org.kde.keysmith-wrapped
-    makeWrapper $out/bin/.org.kde.keysmith-wrapped $out/bin/org.kde.keysmith \
-      --set QML2_IMPORT_PATH "${lib.getLib kirigami2}/lib/qt-5.12.7/qml:${lib.getBin qtquickcontrols2}/lib/qt-5.12.7/qml:${lib.getBin qtdeclarative}/lib/qt-5.12.7/qml:${qtgraphicaleffects}/lib/qt-5.12.7/qml" \
-      --set QT_PLUGIN_PATH "${lib.getBin qtbase}/lib/qt-5.12.7/plugins"
-    ln -s $out/bin/org.kde.keysmith $out/bin/keysmith
-  '';
+  buildInputs = [ libsodium ki18n oathToolkit kirigami2 qtquickcontrols2 qtbase ];
+  propagatedBuildInput = [ oathToolkit ];
 
   meta = with lib; {
     description = "OTP client for Plasma Mobile and Desktop";
diff --git a/nixpkgs/pkgs/tools/security/kpcli/default.nix b/nixpkgs/pkgs/tools/security/kpcli/default.nix
index 09916f85f9e6..12e2bb03d38d 100644
--- a/nixpkgs/pkgs/tools/security/kpcli/default.nix
+++ b/nixpkgs/pkgs/tools/security/kpcli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.4";
+  version = "3.6";
   pname = "kpcli";
 
   src = fetchurl {
     url = "mirror://sourceforge/kpcli/${pname}-${version}.pl";
-    sha256 = "0s46cni16ph93havmkrlai3k13mdppyca1s2bqm751a6rirmsgj0";
+    sha256 = "1srd6vrqgjlf906zdyxp4bg6gihkxn62cpzyfv0zzpsqsj13iwh1";
   };
 
   buildInputs = [ makeWrapper perl ];
diff --git a/nixpkgs/pkgs/tools/security/lynis/default.nix b/nixpkgs/pkgs/tools/security/lynis/default.nix
index d7f42479d0b4..9bbbc455b9b3 100644
--- a/nixpkgs/pkgs/tools/security/lynis/default.nix
+++ b/nixpkgs/pkgs/tools/security/lynis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = pname;
     rev = version;
-    sha256 = "05p8h2ww4jcc6lgxrm796cbvlfmw26rxq5fmw0xxavbpadiw752j";
+    sha256 = "0lsb455rimr1cjxqcgy819xjxf1faas8wlx2x0pxhn5yha9w9sfs";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index 457c6249ca00..4df0d2235a05 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/5.0.90"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.12"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index 7142983f98cc..8ef6d3b3148a 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,16 +1,16 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 592eedc5584953fb94b01a9aae48ec04d2cf153a
-  ref: refs/tags/5.0.90
+  revision: 8ba313ed85b03ef54bec32086c2a8708a7e1df58
+  ref: refs/tags/6.0.12
   specs:
-    metasploit-framework (5.0.90)
-      actionpack (~> 4.2.6)
-      activerecord (~> 4.2.6)
-      activesupport (~> 4.2.6)
+    metasploit-framework (6.0.12)
+      actionpack (~> 5.2.2)
+      activerecord (~> 5.2.2)
+      activesupport (~> 5.2.2)
       aws-sdk-ec2
       aws-sdk-iam
       aws-sdk-s3
-      bcrypt (= 3.1.12)
+      bcrypt
       bcrypt_pbkdf
       bit-struct
       bson
@@ -24,15 +24,16 @@ GIT
       faye-websocket
       filesize
       hrr_rb_ssh (= 0.3.0.pre2)
+      irb
       jsobfu
       json
       metasm
-      metasploit-concern (~> 2.0.0)
-      metasploit-credential (~> 3.0.0)
-      metasploit-model (~> 2.0.4)
-      metasploit-payloads (= 1.4.2)
-      metasploit_data_models (~> 3.0.10)
-      metasploit_payloads-mettle (= 0.5.21)
+      metasploit-concern
+      metasploit-credential
+      metasploit-model
+      metasploit-payloads (= 2.0.22)
+      metasploit_data_models
+      metasploit_payloads-mettle (= 1.0.2)
       mqtt
       msgpack
       nessus_rest
@@ -48,7 +49,7 @@ GIT
       patch_finder
       pcaprub
       pdf-reader
-      pg (~> 0.20)
+      pg
       railties
       rb-readline
       recog
@@ -72,7 +73,7 @@ GIT
       rex-text
       rex-zip
       ruby-macho
-      ruby_smb
+      ruby_smb (~> 2.0)
       rubyntlm
       rubyzip
       sinatra
@@ -90,73 +91,72 @@ GEM
   remote: https://rubygems.org/
   specs:
     Ascii85 (1.0.3)
-    actionpack (4.2.11.3)
-      actionview (= 4.2.11.3)
-      activesupport (= 4.2.11.3)
-      rack (~> 1.6)
-      rack-test (~> 0.6.2)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
+    actionpack (5.2.4.4)
+      actionview (= 5.2.4.4)
+      activesupport (= 5.2.4.4)
+      rack (~> 2.0, >= 2.0.8)
+      rack-test (>= 0.6.3)
+      rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (4.2.11.3)
-      activesupport (= 4.2.11.3)
+    actionview (5.2.4.4)
+      activesupport (= 5.2.4.4)
       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)
-    activemodel (4.2.11.3)
-      activesupport (= 4.2.11.3)
-      builder (~> 3.1)
-    activerecord (4.2.11.3)
-      activemodel (= 4.2.11.3)
-      activesupport (= 4.2.11.3)
-      arel (~> 6.0)
-    activesupport (4.2.11.3)
-      i18n (~> 0.7)
+    activemodel (5.2.4.4)
+      activesupport (= 5.2.4.4)
+    activerecord (5.2.4.4)
+      activemodel (= 5.2.4.4)
+      activesupport (= 5.2.4.4)
+      arel (>= 9.0)
+    activesupport (5.2.4.4)
+      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.7.0)
       public_suffix (>= 2.0.2, < 5.0)
     afm (0.2.2)
-    arel (6.0.4)
+    arel (9.0.0)
     arel-helpers (2.11.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.0)
-    aws-partitions (1.319.0)
-    aws-sdk-core (3.96.1)
+    aws-partitions (1.385.0)
+    aws-sdk-core (3.109.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.162.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-ec2 (1.202.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.37.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-iam (1.46.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.31.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-kms (1.39.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.66.0)
-      aws-sdk-core (~> 3, >= 3.96.1)
+    aws-sdk-s3 (1.83.1)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.1.3)
-      aws-eventstream (~> 1.0, >= 1.0.2)
-    bcrypt (3.1.12)
+    aws-sigv4 (1.2.2)
+      aws-eventstream (~> 1, >= 1.0.2)
+    bcrypt (3.1.16)
     bcrypt_pbkdf (1.0.1)
-    bindata (2.4.7)
+    bindata (2.4.8)
     bit-struct (0.16)
-    bson (4.8.2)
+    bson (4.11.0)
     builder (3.2.4)
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
     crass (1.0.6)
     daemons (1.3.1)
-    dnsruby (1.61.3)
-      addressable (~> 2.5)
+    dnsruby (1.61.4)
+      simpleidn (~> 0.1)
     ed25519 (1.2.4)
-    em-http-request (1.1.5)
+    em-http-request (1.1.7)
       addressable (>= 2.3.4)
       cookiejar (!= 0.3.1)
       em-socksify (>= 0.3)
@@ -164,13 +164,14 @@ GEM
       http_parser.rb (>= 0.6.0)
     em-socksify (0.3.2)
       eventmachine (>= 1.0.0.beta.4)
-    erubis (2.7.0)
+    erubi (1.9.0)
     eventmachine (1.2.7)
-    faker (2.2.1)
-      i18n (>= 0.8)
-    faraday (1.0.1)
+    faker (2.14.0)
+      i18n (>= 1.6, < 2)
+    faraday (1.1.0)
       multipart-post (>= 1.2, < 3)
-    faye-websocket (0.10.9)
+      ruby2_keywords
+    faye-websocket (0.11.0)
       eventmachine (>= 0.12.0)
       websocket-driver (>= 0.5.1)
     filesize (0.2.0)
@@ -178,21 +179,24 @@ GEM
     hrr_rb_ssh (0.3.0.pre2)
       ed25519 (~> 1.2)
     http_parser.rb (0.6.0)
-    i18n (0.9.5)
+    i18n (1.8.5)
       concurrent-ruby (~> 1.0)
+    io-console (0.5.6)
+    irb (1.2.7)
+      reline (>= 0.1.5)
     jmespath (1.4.0)
     jsobfu (0.4.2)
       rkelly-remix
-    json (2.3.0)
-    loofah (2.5.0)
+    json (2.3.1)
+    loofah (2.7.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.4)
-    metasploit-concern (2.0.5)
-      activemodel (~> 4.2.6)
-      activesupport (~> 4.2.6)
-      railties (~> 4.2.6)
-    metasploit-credential (3.0.4)
+    metasploit-concern (3.0.0)
+      activemodel (~> 5.2.2)
+      activesupport (~> 5.2.2)
+      railties (~> 5.2.2)
+    metasploit-credential (4.0.2)
       metasploit-concern
       metasploit-model
       metasploit_data_models (>= 3.0.0)
@@ -202,79 +206,77 @@ GEM
       rex-socket
       rubyntlm
       rubyzip
-    metasploit-model (2.0.4)
-      activemodel (~> 4.2.6)
-      activesupport (~> 4.2.6)
-      railties (~> 4.2.6)
-    metasploit-payloads (1.4.2)
-    metasploit_data_models (3.0.10)
-      activerecord (~> 4.2.6)
-      activesupport (~> 4.2.6)
+    metasploit-model (3.1.2)
+      activemodel (~> 5.2.2)
+      activesupport (~> 5.2.2)
+      railties (~> 5.2.2)
+    metasploit-payloads (2.0.22)
+    metasploit_data_models (4.1.0)
+      activerecord (~> 5.2.2)
+      activesupport (~> 5.2.2)
       arel-helpers
       metasploit-concern
-      metasploit-model
+      metasploit-model (>= 3.1)
       pg
-      postgres_ext
-      railties (~> 4.2.6)
+      railties (~> 5.2.2)
       recog (~> 2.0)
-    metasploit_payloads-mettle (0.5.21)
+    metasploit_payloads-mettle (1.0.2)
+    method_source (1.0.0)
     mini_portile2 (2.4.0)
-    minitest (5.14.1)
+    minitest (5.14.2)
     mqtt (0.5.0)
     msgpack (1.3.3)
     multipart-post (2.1.1)
+    mustermann (1.1.1)
+      ruby2_keywords (~> 0.0.1)
     nessus_rest (0.1.6)
-    net-ldap (0.16.2)
-    net-ssh (6.0.2)
+    net-ldap (0.16.3)
+    net-ssh (6.1.0)
     network_interface (0.0.2)
     nexpose (7.2.1)
-    nokogiri (1.10.9)
+    nokogiri (1.10.10)
       mini_portile2 (~> 2.4.0)
-    octokit (4.18.0)
+    octokit (4.19.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
     openssl-ccm (1.2.2)
+    openssl-cmac (2.0.1)
     openvas-omp (0.0.4)
     packetfu (1.1.13)
       pcaprub
     patch_finder (1.0.2)
     pcaprub (0.13.0)
-    pdf-reader (2.4.0)
+    pdf-reader (2.4.1)
       Ascii85 (~> 1.0.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (0.21.0)
-    pg_array_parser (0.0.9)
-    postgres_ext (3.0.1)
-      activerecord (~> 4.0)
-      arel (>= 4.0.1)
-      pg_array_parser (~> 0.0.9)
-    public_suffix (4.0.5)
-    rack (1.6.13)
-    rack-protection (1.5.5)
+    pg (1.2.3)
+    public_suffix (4.0.6)
+    rack (2.2.3)
+    rack-protection (2.1.0)
       rack
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    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)
+    rack-test (1.1.0)
+      rack (>= 1.0, < 3)
+    rails-dom-testing (2.0.3)
+      activesupport (>= 4.2.0)
+      nokogiri (>= 1.6)
     rails-html-sanitizer (1.3.0)
       loofah (~> 2.3)
-    railties (4.2.11.3)
-      actionpack (= 4.2.11.3)
-      activesupport (= 4.2.11.3)
+    railties (5.2.4.4)
+      actionpack (= 5.2.4.4)
+      activesupport (= 5.2.4.4)
+      method_source
       rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
+      thor (>= 0.19.0, < 2.0)
     rake (13.0.1)
     rb-readline (0.5.5)
-    recog (2.3.7)
+    recog (2.3.15)
       nokogiri
     redcarpet (3.5.0)
+    reline (0.1.6)
+      io-console (~> 0.5)
     rex-arch (0.1.13)
       rex-text
     rex-bin_tools (0.1.6)
@@ -312,21 +314,24 @@ GEM
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.23)
+    rex-socket (0.1.24)
       rex-core
     rex-sslscan (0.1.5)
       rex-core
       rex-socket
       rex-text
     rex-struct2 (0.1.2)
-    rex-text (0.2.26)
+    rex-text (0.2.28)
     rex-zip (0.1.3)
       rex-text
     rkelly-remix (0.0.7)
-    ruby-macho (2.2.0)
+    ruby-macho (2.3.0)
     ruby-rc4 (0.1.5)
-    ruby_smb (1.1.0)
+    ruby2_keywords (0.0.2)
+    ruby_smb (2.0.6)
       bindata
+      openssl-ccm
+      openssl-cmac
       rubyntlm
       windows_error
     rubyntlm (0.6.2)
@@ -334,10 +339,13 @@ GEM
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
-    sinatra (1.4.8)
-      rack (~> 1.5)
-      rack-protection (~> 1.4)
-      tilt (>= 1.3, < 3)
+    simpleidn (0.1.1)
+      unf (~> 0.1.4)
+    sinatra (2.1.0)
+      mustermann (~> 1.0)
+      rack (~> 2.2)
+      rack-protection (= 2.1.0)
+      tilt (~> 2.0)
     sqlite3 (1.4.2)
     sshkey (2.0.0)
     thin (1.7.2)
@@ -350,17 +358,20 @@ GEM
     ttfunk (1.6.2.1)
     tzinfo (1.2.7)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2020.1)
+    tzinfo-data (1.2020.4)
       tzinfo (>= 1.0.0)
-    warden (1.2.7)
-      rack (>= 1.0)
-    websocket-driver (0.7.1)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.7)
+    warden (1.2.9)
+      rack (>= 2.0.9)
+    websocket-driver (0.7.3)
       websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.4)
+    websocket-extensions (0.1.5)
     windows_error (0.1.2)
-    xdr (2.0.0)
-      activemodel (>= 4.2.7)
-      activesupport (>= 4.2.7)
+    xdr (3.0.2)
+      activemodel (>= 4.2, < 7.0)
+      activesupport (>= 4.2, < 7.0)
     xmlrpc (0.3.0)
 
 PLATFORMS
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index cc3d26fbee0b..a2a0a28bbff6 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -1,14 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, ruby, bundlerEnv }:
 
-# Maintainer notes for updating:
-# 1. increment version number in expression and in Gemfile
-# 2. run $ nix-shell --command "bundler install && bundix"
-#    in metasploit in nixpkgs
-# 3. run $ sed -i '/[ ]*dependencies =/d' gemset.nix
-# 4. run $ nix-build -A metasploit ../../../../
-# 5. update sha256sum in expression
-# 6. run step 3 again
-
 let
   env = bundlerEnv {
     inherit ruby;
@@ -17,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "5.0.90";
+  version = "6.0.12";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "1z3m8pvf1r8rz0snfkr9svhgjl2xn2qjgf8qswszzplsccqx1rss";
+    sha256 = "1kh5alvw68lxnm1wcwbka983b5ww7bqvbkih831mrf6sfmv4wkxs";
   };
 
   buildInputs = [ makeWrapper ];
@@ -45,6 +36,9 @@ in stdenv.mkDerivation rec {
 
   '';
 
+  # run with: nix-shell maintainers/scripts/update.nix --argstr path metasploit
+  passthru.updateScript = ./update.sh;
+
   meta = with stdenv.lib; {
     description = "Metasploit Framework - a collection of exploits";
     homepage = "https://github.com/rapid7/metasploit-framework/wiki";
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index cd3b2a336bda..4879eb922846 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1955wx9m2g776sinamanzlk1jx2dzd34ci3sk22xicp0rmglps37";
+      sha256 = "0d8gxymshjhva5fyv33iy2hzp4jm3i44asdbma9pv9wzpl5fwhn0";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0glnaq3jx4m9q6vn55xqlsg8dbflqzm99fgsl9fl267mc2mz3qrv";
+      sha256 = "0k8dgkplqj76i3q1f8897m8svj2xggd1knhy3bcwfl4nh7998kw6";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z3777xsm82i7ggkg74mg21sqz8m5dfl8ykjm7xcrhd2nj843fcp";
+      sha256 = "1g79l7v0ddpxcj5r2s9kii6h4r4nbpy5bksbqi5lxvivrb3pkz1m";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fpw9vyf2frkxkc6jbq9g78lhhflwz04j89qxj4krvmlq12q8v6d";
+      sha256 = "05b9l85a31cq6g7v4b4ifrj798q49rlidcvvfasmb3bk412wlp03";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wp36wi3r3dscmcr0q6sbz13hr5h911c24ar7zrmmcy7p32ial2i";
+      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   addressable = {
     groups = ["default"];
@@ -74,10 +74,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4";
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
       type = "gem";
     };
-    version = "6.0.4";
+    version = "9.0.0";
   };
   arel-helpers = {
     groups = ["default"];
@@ -114,80 +114,80 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11gr3pkd0cq034jdmvmi32sb99hkh91qjrpvc6jchi4lsaiaiqgc";
+      sha256 = "04i4bry59c3g1anbjpsz9g1pz7yy23kh4vvhg7z611amlcr48zvb";
       type = "gem";
     };
-    version = "1.319.0";
+    version = "1.385.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jdnzynjrpp2jyg8vrbfbaad16k8ni1520xah1z2ckl5779x9fi6";
+      sha256 = "0xmppcxq7jm8lffqibkhq257hfwfbv82zm2y1fbhwm3icgxzwlfx";
       type = "gem";
     };
-    version = "3.96.1";
+    version = "3.109.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xp9kp90ixk1ywd0d8ssbk8dl5kxqnz942yr2qq00m7fd60pihh7";
+      sha256 = "0fsf9qhlxczz8cz755xlcdpfqn384d4kr3ybx2p54n377wamdq08";
       type = "gem";
     };
-    version = "1.162.0";
+    version = "1.202.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09l3g5a2r7gnc6pwln409b9ahwcs6xpnjx2qaj70cbllanyxbw0c";
+      sha256 = "1j0llz7m9qymfn54vim99k0fjg6vsw71ylcagz1csay6qkjxipg7";
       type = "gem";
     };
-    version = "1.37.0";
+    version = "1.46.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czxr6yi8p9gma4dwgygp1jn0i289hwa2vw69kzfscgbn118c3mm";
+      sha256 = "0ly1m631qm2ciif7sysbzrgczjvz95ga3g6w6vrzvfdv31jjnl9a";
       type = "gem";
     };
-    version = "1.31.0";
+    version = "1.39.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1d1azxwanvm0d7qppw41x5nx2zv0bcz41yk9vqi5lvr7apaq13";
+      sha256 = "021yqghdb1i980vn249hv44jajr0v3hq4ik4r6fqh9kwp04fsbqv";
       type = "gem";
     };
-    version = "1.66.0";
+    version = "1.83.1";
   };
   aws-sigv4 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kysxyw1zkvggbmcj4xnscdh15kxli8mx07hv447h74g9x02drsd";
+      sha256 = "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5";
       type = "gem";
     };
-    version = "1.1.3";
+    version = "1.2.2";
   };
   bcrypt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy";
+      sha256 = "02r1c3isfchs5fxivbq99gc3aq4vfyn8snhcy707dal1p8qz12qb";
       type = "gem";
     };
-    version = "3.1.12";
+    version = "3.1.16";
   };
   bcrypt_pbkdf = {
     groups = ["default"];
@@ -204,10 +204,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "033vd169q751qn3zrsv8j5f80k6wg5yhsy8z3clds6py4vqm6xl8";
+      sha256 = "1bmlqjb5h1ry6wm2d903d6yxibpqzzxwqczvlicsqv0vilaca5ic";
       type = "gem";
     };
-    version = "2.4.7";
+    version = "2.4.8";
   };
   bit-struct = {
     groups = ["default"];
@@ -224,10 +224,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06h8sk2wl7pgrwl15xb1bd6l9ws8sz006rf9cy6n6q7g0iwdalkh";
+      sha256 = "1bm64q413wrrm3pda6ha2kn1yipyl0qp5240fwsdw1hkqhbjdnjm";
       type = "gem";
     };
-    version = "4.8.2";
+    version = "4.11.0";
   };
   builder = {
     groups = ["default"];
@@ -284,10 +284,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "139cbl2k934q7d50g7hi8r4im69ca3iv16y9plq9yc6mgjq1cgfk";
+      sha256 = "0i4mq4zm8bqd0ik908gnn8nm3kph268af7q173wlq4krg3nw562x";
       type = "gem";
     };
-    version = "1.61.3";
+    version = "1.61.4";
   };
   ed25519 = {
     groups = ["default"];
@@ -304,10 +304,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13rxmbi0fv91n4sg300v3i9iiwd0jxv0i6xd0sp81dx3jlx7kasx";
+      sha256 = "1azx5rgm1zvx7391sfwcxzyccs46x495vb34ql2ch83f58mwgyqn";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "1.1.7";
   };
   em-socksify = {
     groups = ["default"];
@@ -319,15 +319,15 @@
     };
     version = "0.3.2";
   };
-  erubis = {
+  erubi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "1.9.0";
   };
   eventmachine = {
     groups = ["default"];
@@ -344,30 +344,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpzpqzpqd9jjzm3ap8182sfbnhdahcxpbg0dssbwq13qdf1s5xs";
+      sha256 = "06sh8492k03p9lsfzv5zifzn51ilb4734vrvwl30vzmzg1apzml6";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.14.0";
   };
   faraday = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
+      sha256 = "16dapwi5pivrl25r4lkr1mxjrzkznj4wlcb08fzkmxnj4g5c6y35";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
   faye-websocket = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kbp3rjwm74zdj0wy2n1cyyvd7ak4k8i8zva6ib4vqfcv8d2j11a";
+      sha256 = "1cwngdb41zh842y3nzz3cr7z2100pjsl7m3i05yjc1wlyrdk2sm3";
       type = "gem";
     };
-    version = "0.10.9";
+    version = "0.11.0";
   };
   filesize = {
     groups = ["default"];
@@ -414,10 +414,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
       type = "gem";
     };
-    version = "0.9.5";
+    version = "1.8.5";
+  };
+  io-console = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vbn4nvnr1pcmjsn0gghc3bz2md89njxq4801zi5dv5niypdxlsp";
+      type = "gem";
+    };
+    version = "0.5.6";
+  };
+  irb = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10d9xr1hdpkqhljxhvdm44c2qbxdjfqm5x00d4v6aw0fym1w7r2g";
+      type = "gem";
+    };
+    version = "1.2.7";
   };
   jmespath = {
     groups = ["default"];
@@ -444,20 +464,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
+      sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
   };
   loofah = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jk9fgn5ayzbqvzqm11gbkqvas77zdbpkvynlylyiwynclgrn040";
+      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.7.0";
   };
   metasm = {
     groups = ["default"];
@@ -474,72 +494,82 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v9lm225fhzhnbjcc0vwb38ybikxwzlv8116rrrkndzs8qy79297";
+      sha256 = "10a9dr0pi25vsnk7x1bavx2ja62lqswdkym0hvhjsds6awvx1cf2";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "3.0.0";
   };
   metasploit-credential = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jh1mzvjpsmqamhwjqs6x2bx550mxkqjvl0f1gl1g87w5qvg3w69";
+      sha256 = "03339i3v6lgz0cymn2i7y0sylpw2nihsc8h75c4yn3bq9p6wk6sx";
       type = "gem";
     };
-    version = "3.0.4";
+    version = "4.0.2";
   };
   metasploit-framework = {
     groups = ["default"];
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "592eedc5584953fb94b01a9aae48ec04d2cf153a";
-      sha256 = "1z3m8pvf1r8rz0snfkr9svhgjl2xn2qjgf8qswszzplsccqx1rss";
+      rev = "8ba313ed85b03ef54bec32086c2a8708a7e1df58";
+      sha256 = "1kh5alvw68lxnm1wcwbka983b5ww7bqvbkih831mrf6sfmv4wkxs";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "5.0.90";
+    version = "6.0.12";
   };
   metasploit-model = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05pnai1cv00xw87rrz38dz4s3ss45s90290d0knsy1mq6rp8yvmw";
+      sha256 = "0szwqs6djh882alpnmnnkx46s548jg3vb0ya61hibw3kqcw3i1ig";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "3.1.2";
   };
   metasploit-payloads = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kddir54jnzl64nsawnvkzdabnmqncq9vav49i1cfschnf4cxc4g";
+      sha256 = "1yiwwyc12f9jln58l4j26yjbixij1v5h3spp4ci3ik4dxyk2r4zb";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "2.0.22";
   };
   metasploit_data_models = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h59lblfrx8gsnqr10wk958zp6rsjy3qib3hb87s3nm6m1zhm2bc";
+      sha256 = "1n7vb6pg446jadjsgrc29kxnc9b6ga29hw8pg52dnrzhp7rwhiyl";
       type = "gem";
     };
-    version = "3.0.10";
+    version = "4.1.0";
   };
   metasploit_payloads-mettle = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1419z6z0j69zdlkfx3kqgqygsm0ysigwccgn82z5lz82i16krhca";
+      sha256 = "147s4jd2hckls76binsskb6rvnh1crd2agmf1lk7fsj1n55dhkvk";
       type = "gem";
     };
-    version = "0.5.21";
+    version = "1.0.2";
+  };
+  method_source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
+      type = "gem";
+    };
+    version = "1.0.0";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -556,10 +586,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g";
+      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
       type = "gem";
     };
-    version = "5.14.1";
+    version = "5.14.2";
   };
   mqtt = {
     groups = ["default"];
@@ -591,6 +621,16 @@
     };
     version = "2.1.1";
   };
+  mustermann = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
   nessus_rest = {
     groups = ["default"];
     platforms = [];
@@ -606,20 +646,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vzfhivjfr9q65hkln7xig3qcba6fw9y4kb4384fpm7d7ww0b7xg";
+      sha256 = "13lh6qizxi8fza8py73b2dvjp9p010dvbaq7diagir9nh8plsinv";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "0.16.3";
   };
   net-ssh = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kf4am0mz8mwqhif4iqh5yz9pcbbmja5w707j00sfsgrq19nxqld";
+      sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9";
       type = "gem";
     };
-    version = "6.0.2";
+    version = "6.1.0";
   };
   network_interface = {
     groups = ["default"];
@@ -646,20 +686,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
+      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
       type = "gem";
     };
-    version = "1.10.9";
+    version = "1.10.10";
   };
   octokit = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6";
+      sha256 = "1dz8na8fk445yqrwpkl31fimnap7p4xf9m9qm9i7cpvaxxgk2n24";
       type = "gem";
     };
-    version = "4.18.0";
+    version = "4.19.0";
   };
   openssl-ccm = {
     groups = ["default"];
@@ -671,6 +711,16 @@
     };
     version = "1.2.2";
   };
+  openssl-cmac = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k69p0p0ilvqnwskhc0bfax8rwvyk6n4wzarg8qsjdvm13xwx508";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
   openvas-omp = {
     groups = ["default"];
     platforms = [];
@@ -716,100 +766,70 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g3gr2m46275hjv6fv4jwq3qlvdbnhf1jxir9vzgxhv45ncnhffy";
+      sha256 = "0987glcd02mqglplmp1camivqx61jsyik21n99vrmi8s2p7h4mbh";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.1";
   };
   pg = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh";
-      type = "gem";
-    };
-    version = "0.21.0";
-  };
-  pg_array_parser = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1034dhg8h53j48sfm373js54skg4vpndjga6hzn2zylflikrrf3s";
-      type = "gem";
-    };
-    version = "0.0.9";
-  };
-  postgres_ext = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ni1ajzxvc17ba4rgl27cd3645ddbpqpfckv7m08sfgk015hh7dq";
+      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "1.2.3";
   };
   public_suffix = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
       type = "gem";
     };
-    version = "4.0.5";
+    version = "4.0.6";
   };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0";
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
       type = "gem";
     };
-    version = "1.6.13";
+    version = "2.2.3";
   };
   rack-protection = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss";
+      sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz";
       type = "gem";
     };
-    version = "1.5.5";
+    version = "2.1.0";
   };
   rack-test = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
+      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
       type = "gem";
     };
-    version = "0.6.3";
-  };
-  rails-deprecated_sanitizer = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
-      type = "gem";
-    };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   rails-dom-testing = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6";
+      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
       type = "gem";
     };
-    version = "1.0.9";
+    version = "2.0.3";
   };
   rails-html-sanitizer = {
     groups = ["default"];
@@ -826,10 +846,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12f7g5iw1gqjwl2rvfmbgxipds5c475ggalw6qskzzrx9vyc2fpk";
+      sha256 = "089kiwmv8fxyfk0zp57q74nyd5i6d5x5ihlrzbzwl041v94s2zx9";
       type = "gem";
     };
-    version = "4.2.11.3";
+    version = "5.2.4.4";
   };
   rake = {
     groups = ["default"];
@@ -856,10 +876,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j65iary8qkgyrjc3vnjd7dbyjs2bsz2hcg7ndibjk623faxb1wk";
+      sha256 = "0vxnm9ld3rn8xxccq9jyhzz6558bqfxdb3sd4na20frg9f5pflb7";
       type = "gem";
     };
-    version = "2.3.7";
+    version = "2.3.15";
   };
   redcarpet = {
     groups = ["default"];
@@ -871,6 +891,16 @@
     };
     version = "3.5.0";
   };
+  reline = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sspfd5x8aq80pmkdj0dzd20iclhrdjan1ibkrivgk7j8af23hbk";
+      type = "gem";
+    };
+    version = "0.1.6";
+  };
   rex-arch = {
     groups = ["default"];
     platforms = [];
@@ -1006,10 +1036,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07vm17w791vdpr23aqp45kqsjbqgwpqj92a535h6n4fckxgzhg94";
+      sha256 = "1y6p1sw0wiw4x4dk89lwhf7vzsb0cjgpbr8hf7m119lg2kzm5g8y";
       type = "gem";
     };
-    version = "0.1.23";
+    version = "0.1.24";
   };
   rex-sslscan = {
     groups = ["default"];
@@ -1036,10 +1066,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17m5zwca15qsd7mqqhi2q530iwsrb7wkqh8qff7pxjxwlxbvsrxx";
+      sha256 = "0wx8pncrk7yb2zxxqaycm4ikvb577zj7rma8jdfi74a0c5119c44";
       type = "gem";
     };
-    version = "0.2.26";
+    version = "0.2.28";
   };
   rex-zip = {
     groups = ["default"];
@@ -1066,10 +1096,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k5vvk9d13pixhbram6fs74ibgmr2dngv7bks13npcjb42q275if";
+      sha256 = "12khgv5hx90a4dxqca2hzbksalx9czb51bsz0bhq0czsql9pwby8";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   ruby-rc4 = {
     groups = ["default"];
@@ -1081,15 +1111,25 @@
     };
     version = "0.1.5";
   };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
+      type = "gem";
+    };
+    version = "0.0.2";
+  };
   ruby_smb = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "125pimmaskp13nkk5j138nfk1kd8n91sfdlx4dhj2j9zk342wsf4";
+      sha256 = "0fsdnvisswchk27knii6ijq8sjsc7qm9jiffdsf71q195ga2qi66";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "2.0.6";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1121,15 +1161,25 @@
     };
     version = "0.8.2";
   };
+  simpleidn = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b9v0xs4ksd68zckamv6rbrrqllpa9am0p29bycq9fxvlkqd7w2w";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   sinatra = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
+      sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk";
       type = "gem";
     };
-    version = "1.4.8";
+    version = "2.1.0";
   };
   sqlite3 = {
     groups = ["default"];
@@ -1216,40 +1266,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kjywciambyhlkc8ijp3kkx4r24pi9zs7plmxw003mxr6mrhah1w";
+      sha256 = "02anabncgfjwsqn07ra9jdqvmi0a4yngzp6dfiz2yxb1m9qpdm4a";
+      type = "gem";
+    };
+    version = "1.2020.4";
+  };
+  unf = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+      type = "gem";
+    };
+    version = "0.1.4";
+  };
+  unf_ext = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
       type = "gem";
     };
-    version = "1.2020.1";
+    version = "0.0.7.7";
   };
   warden = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12";
+      sha256 = "1l7gl7vms023w4clg02pm4ky9j12la2vzsixi2xrv9imbn44ys26";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.9";
   };
   websocket-driver = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
+      sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.7.3";
   };
   websocket-extensions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
+      sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "0.1.5";
   };
   windows_error = {
     groups = ["default"];
@@ -1266,10 +1336,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c5cp1k4ij3xq1q6fb0f6xv5b65wy18y7bhwvsdx8wd0zyg3x96m";
+      sha256 = "019yzxddyndc7m7basars0m380m27sfcq99vr5hk1ag4ymayqkwr";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.0.2";
   };
   xmlrpc = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/update.sh b/nixpkgs/pkgs/tools/security/metasploit/update.sh
new file mode 100755
index 000000000000..e4da457c6f57
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/metasploit/update.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl bundix git libiconv libpcap libxml2 libxslt pkg-config postgresql ruby.devEnv sqlite xmlstarlet nix-update
+
+set -eu -o pipefail
+cd "$(dirname "$(readlink -f "$0")")"
+
+latest=$(curl https://github.com/rapid7/metasploit-framework/releases.atom | xmlstarlet sel -N atom="http://www.w3.org/2005/Atom" -t -m /atom:feed/atom:entry -v atom:title -n | head -n1)
+echo "Updating metasploit to $latest"
+
+sed -i "s#refs/tags/.*#refs/tags/$latest\"#" Gemfile
+
+bundler install
+bundix
+sed -i '/[ ]*dependencies =/d' gemset.nix
+
+cd "../../../../"
+nix-update metasploit --version "$latest"
diff --git a/nixpkgs/pkgs/tools/security/minica/default.nix b/nixpkgs/pkgs/tools/security/minica/default.nix
index 20ae3878a71f..49f1e2beb4db 100644
--- a/nixpkgs/pkgs/tools/security/minica/default.nix
+++ b/nixpkgs/pkgs/tools/security/minica/default.nix
@@ -19,7 +19,7 @@ buildGoPackage rec {
   '';
 
   meta = with lib; {
-    description = "A simple tool for generating self signed certificates.";
+    description = "A simple tool for generating self signed certificates";
     longDescription = ''
       Minica is a simple CA intended for use in situations where the CA
       operator also operates each host where a certificate will be used. It
diff --git a/nixpkgs/pkgs/tools/security/naabu/default.nix b/nixpkgs/pkgs/tools/security/naabu/default.nix
new file mode 100644
index 000000000000..a2295d87fec7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/naabu/default.nix
@@ -0,0 +1,38 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, libpcap
+}:
+
+buildGoModule rec {
+  pname = "naabu";
+  version = "2.0.3";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = "naabu";
+    rev = "v${version}";
+    sha256 = "05iybf7q3y0piyw202yzld89fiz2dv2pmnpm1pd905phk5a23n1x";
+  };
+
+  vendorSha256 = "111qvkqdcdgir3dz267xckzlnfx72flnyi7ki7fa6ml7mkfyf70y";
+
+  buildInputs = [ libpcap ];
+
+  preBuild = ''
+    mv v2/* .
+  '';
+
+  meta = with lib; {
+    description = "Fast SYN/CONNECT port scanner";
+    longDescription = ''
+      Naabu is a port scanning tool written in Go that allows you to enumerate
+      valid ports for hosts in a fast and reliable manner. It is a really simple
+      tool that does fast SYN/CONNECT scans on the host/list of hosts and lists
+      all ports that return a reply.
+    '';
+    homepage = "https://github.com/projectdiscovery/naabu";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/ncrack/default.nix b/nixpkgs/pkgs/tools/security/ncrack/default.nix
new file mode 100644
index 000000000000..e377d9748645
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ncrack/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "ncrack";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "nmap";
+    repo = "ncrack";
+    rev = version;
+    sha256 = "1gnv5xdd7n04glcpy7q1mkb6f8gdhdrhlrh8z6k4g2pjdhxlz26g";
+  };
+
+  buildInputs = [ openssl zlib ];
+
+  meta = with stdenv.lib; {
+    description = "Network authentication tool";
+    homepage = "https://nmap.org/ncrack/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/neopg/default.nix b/nixpkgs/pkgs/tools/security/neopg/default.nix
index 4f4f660e20f4..8c0d31853ff9 100644
--- a/nixpkgs/pkgs/tools/security/neopg/default.nix
+++ b/nixpkgs/pkgs/tools/security/neopg/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     '';
     maintainers = with maintainers; [ erictapen ];
     platforms = platforms.linux;
+    broken = true; # fails to build with recent versions of botan. https://github.com/das-labor/neopg/issues/98
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/nmap/qt.nix b/nixpkgs/pkgs/tools/security/nmap/qt.nix
index 2dcd7fed0c4b..216186daa5be 100644
--- a/nixpkgs/pkgs/tools/security/nmap/qt.nix
+++ b/nixpkgs/pkgs/tools/security/nmap/qt.nix
@@ -1,16 +1,24 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook
-, dnsutils, nmap
-, qtbase, qtscript, qtwebengine }:
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, wrapQtAppsHook
+, dnsutils
+, nmap
+, qtbase
+, qtscript
+, qtwebengine
+}:
 
 stdenv.mkDerivation rec {
   pname = "nmapsi4";
-  version = "0.4.80-20180430";
+  version = "0.5-alpha2";
 
   src = fetchFromGitHub {
     owner = "nmapsi4";
     repo = "nmapsi4";
-    rev = "d7f18e4c1e38dcf9c29cb4496fe14f9ff172861a";
-    sha256 = "10wqyrjzmad1g7lqa65rymbkna028xbp4xcpj442skw8gyrs3994";
+    rev = "v${version}";
+    sha256 = "sha256-q3XfwJ4TGK4E58haN0Q0xRH4GDpKD8VZzyxHe/VwBqY=";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
@@ -47,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Qt frontend for nmap";
-    license     = licenses.gpl2;
+    license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
     inherit (src.meta) homepage;
   };
diff --git a/nixpkgs/pkgs/tools/security/notary/default.nix b/nixpkgs/pkgs/tools/security/notary/default.nix
index 15797fc86650..020f37c836ba 100644
--- a/nixpkgs/pkgs/tools/security/notary/default.nix
+++ b/nixpkgs/pkgs/tools/security/notary/default.nix
@@ -36,7 +36,7 @@ buildGoPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Notary is a project that allows anyone to have trust over arbitrary collections of data";
+    description = "A project that allows anyone to have trust over arbitrary collections of data";
     longDescription = ''
       The Notary project comprises a server and a client for running and
       interacting with trusted collections. See the service architecture
diff --git a/nixpkgs/pkgs/tools/security/nuclei/default.nix b/nixpkgs/pkgs/tools/security/nuclei/default.nix
new file mode 100644
index 000000000000..22013352a38d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/nuclei/default.nix
@@ -0,0 +1,36 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "nuclei";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = "nuclei";
+    rev = "v${version}";
+    sha256 = "0xrvza86aczlnb11x58fiqch5g0q6gvpxwsi5dq3akfi95gk3a3x";
+  };
+
+  vendorSha256 = "1v3ax8l1lgp2vs50gsa2fhdd6bvyfdlkd118akrqmwxahyyyqycv";
+
+  preBuild = ''
+    mv v2/* .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for configurable targeted scanning";
+    longDescription = ''
+      Nuclei is used to send requests across targets based on a template
+      leading to zero false positives and providing effective scanning
+      for known paths. Main use cases for nuclei are during initial
+      reconnaissance phase to quickly check for low hanging fruits or
+      CVEs across targets that are known and easily detectable.
+    '';
+    homepage = "https://github.com/projectdiscovery/nuclei";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/onioncircuits/default.nix b/nixpkgs/pkgs/tools/security/onioncircuits/default.nix
index 0eb0f7b401ee..92888a8de2a1 100644
--- a/nixpkgs/pkgs/tools/security/onioncircuits/default.nix
+++ b/nixpkgs/pkgs/tools/security/onioncircuits/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, pythonPackages, intltool, gtk3, gobject-introspection, gnome3 }:
+{ stdenv, fetchgit, python3, intltool, gtk3, gobject-introspection, gnome3 }:
 
-pythonPackages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "onioncircuits";
   version = "0.5";
 
@@ -12,7 +12,7 @@ pythonPackages.buildPythonApplication rec {
 
   nativeBuildInputs = [ intltool ];
   buildInputs = [ intltool gtk3 gobject-introspection ];
-  propagatedBuildInputs =  with pythonPackages; [ stem distutils_extra pygobject3 ];
+  propagatedBuildInputs =  with python3.pkgs; [ stem distutils_extra pygobject3 ];
 
   postFixup = ''
     wrapProgram "$out/bin/onioncircuits" \
diff --git a/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix b/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix
new file mode 100644
index 000000000000..b342f203b44c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix
@@ -0,0 +1,24 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "onlykey-cli";
+  version = "1.2.2";
+
+  src = python3Packages.fetchPypi {
+    inherit version;
+    pname = "onlykey";
+    sha256 = "1qkbgab5xlg7bd0jfzf8k5ppb1zhib76r050fiaqi5wibrqrfwdi";
+  };
+
+  # Requires having the physical onlykey (a usb security key)
+  doCheck = false;
+  propagatedBuildInputs =
+    with python3Packages; [ hidapi aenum six prompt_toolkit pynacl ecdsa cython ];
+
+  meta = with lib; {
+    description = "OnlyKey client and command-line tool";
+    homepage = "https://github.com/trustcrypto/python-onlykey";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ranfdev ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/opensc/default.nix b/nixpkgs/pkgs/tools/security/opensc/default.nix
index 103345abf61b..735f7558e7a8 100644
--- a/nixpkgs/pkgs/tools/security/opensc/default.nix
+++ b/nixpkgs/pkgs/tools/security/opensc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zlib, readline, openssl
-, libiconv, pcsclite, libassuan, libXt, fetchpatch
+, libiconv, pcsclite, libassuan, libXt
 , docbook_xsl, libxslt, docbook_xml_dtd_412
 , Carbon, PCSC, buildPackages
 , withApplePCSC ? stdenv.isDarwin
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensc";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "OpenSC";
     rev = version;
-    sha256 = "0mg8qmhww3li1isfgvn5hang1hq58zra057ilvgci88csfziv5lv";
+    sha256 = "sha256-OjOfA1pIu8NeN+hPuow5UVMKsg0PrsLojw5h05/Qm+o=";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/security/pass/default.nix b/nixpkgs/pkgs/tools/security/pass/default.nix
index 76b90d5b8858..354437a9bd56 100644
--- a/nixpkgs/pkgs/tools/security/pass/default.nix
+++ b/nixpkgs/pkgs/tools/security/pass/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, pkgs, fetchurl, buildEnv
-, coreutils, gnused, getopt, git, tree, gnupg, openssl, which, procps
-, qrencode , makeWrapper, pass, symlinkJoin
+, coreutils, findutils, gnugrep, gnused, getopt, git, tree, gnupg, openssl
+, which, procps , qrencode , makeWrapper, pass, symlinkJoin
 
 , xclip ? null, xdotool ? null, dmenu ? null
-, x11Support ? !stdenv.isDarwin
+, x11Support ? !stdenv.isDarwin , dmenuSupport ? x11Support
 , waylandSupport ? false, wl-clipboard ? null
 
 # For backwards-compatibility
@@ -12,9 +12,11 @@
 
 with lib;
 
-assert x11Support -> xclip != null
-                  && xdotool != null
-                  && dmenu != null;
+assert x11Support -> xclip != null;
+
+assert dmenuSupport -> dmenu != null
+                       && xdotool != null
+                       && x11Support;
 
 assert waylandSupport -> wl-clipboard != null;
 
@@ -32,11 +34,15 @@ let
 
       postBuild = ''
         files=$(find $out/bin/ -type f -exec readlink -f {} \;)
-        rm $out/bin
-        mkdir $out/bin
+        if [ -L $out/bin ]; then
+          rm $out/bin
+          mkdir $out/bin
+        fi
 
         for i in $files; do
-          ln -sf $i $out/bin/$(basename $i)
+          if ! [ "$(readlink -f "$out/bin/$(basename $i)")" = "$i" ]; then
+            ln -sf $i $out/bin/$(basename $i)
+          fi
         done
 
         wrapProgram $out/bin/pass \
@@ -72,14 +78,16 @@ stdenv.mkDerivation rec {
     # himself.
     mkdir -p "$out/share/emacs/site-lisp"
     cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
-  '' + optionalString x11Support ''
+  '' + optionalString dmenuSupport ''
     cp "contrib/dmenu/passmenu" "$out/bin/"
   '';
 
   wrapperPath = with stdenv.lib; makeBinPath ([
     coreutils
+    findutils
     getopt
     git
+    gnugrep
     gnupg
     gnused
     tree
@@ -87,7 +95,8 @@ stdenv.mkDerivation rec {
     qrencode
     procps
   ] ++ optional stdenv.isDarwin openssl
-    ++ ifEnable x11Support [ dmenu xclip xdotool ]
+    ++ optional x11Support xclip
+    ++ optionals dmenuSupport [ xdotool dmenu ]
     ++ optional waylandSupport wl-clipboard);
 
   postFixup = ''
@@ -98,7 +107,7 @@ stdenv.mkDerivation rec {
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
       --prefix PATH : "${wrapperPath}"
-  '' + stdenv.lib.optionalString x11Support ''
+  '' + stdenv.lib.optionalString dmenuSupport ''
     # We just wrap passmenu with the same PATH as pass. It doesn't
     # need all the tools in there but it doesn't hurt either.
     wrapProgram $out/bin/passmenu \
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/0001-Fix-installation-with-Nix.patch b/nixpkgs/pkgs/tools/security/pass/extensions/0001-Fix-installation-with-Nix.patch
new file mode 100644
index 000000000000..55822f170d14
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/0001-Fix-installation-with-Nix.patch
@@ -0,0 +1,41 @@
+From 611cb2de31a460789c44615d3a52b8d24dbd6fdd Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 4 Dec 2020 21:53:52 +0100
+Subject: [PATCH] Fix installation with Nix
+
+---
+ Makefile | 2 +-
+ setup.py | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2febf4e..8feab91 100644
+--- a/Makefile
++++ b/Makefile
+@@ -7,7 +7,7 @@ all:
+ 	@echo
+ 
+ install:
+-	@python3 setup.py install --root="$(DESTDIR)" --optimize=1 --skip-build
++	@python3 setup.py install --root="$(DESTDIR)" --optimize=1 --skip-build --prefix=
+ 	@echo
+ 	@echo "pass-import is installed succesfully"
+ 	@echo
+diff --git a/setup.py b/setup.py
+index b30870c..d9fedbc 100644
+--- a/setup.py
++++ b/setup.py
+@@ -15,8 +15,8 @@ with Path('pass_import', '__about__.py').open() as file:
+ with open('README.md') as file:
+     long_description = file.read()
+ 
+-share = Path(sys.prefix, 'share')
+-lib = Path('/usr', 'lib', 'password-store', 'extensions')
++share = Path('/share')
++lib = Path('/lib', 'password-store', 'extensions')
+ if '--user' in sys.argv:
+     lib = Path.home() / '.password-store' / 'extensions'
+     if 'XDG_DATA_HOME' in os.environ:
+-- 
+2.28.0
+
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix b/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix
index 144d13238f26..ec0f23ddc383 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix
@@ -30,7 +30,8 @@ in stdenv.mkDerivation rec {
   buildInputs = [ pythonEnv ];
   nativeBuildInputs = [ makeWrapper ];
 
-  doCheck = true;
+  # Tests freeze on darwin with: pass-audit-1.1 (checkPhase): EOFError
+  doCheck = !stdenv.isDarwin;
   checkInputs = [ pythonPackages.green pass gnupg ];
   checkPhase = ''
     ${pythonEnv}/bin/python3 setup.py green -q
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix b/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
index 48db0094db94..d45e35d9bbc0 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/genphrase.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pass-genphrase";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "congma";
     repo = "pass-genphrase";
     rev = version;
-    sha256 = "1sdkmz5s6wdx4vdlgqf5kmyrm17zwzy3n52s13qpx32bnnajap1h";
+    sha256 = "01dff2jlp111y7vlmp1wbgijzphhlzc19m02fs8nzmn5vxyffanx";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/import.nix b/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
index cc5f0c94e119..885dd05110f3 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/import.nix
@@ -5,48 +5,38 @@ let
     p.defusedxml
     p.setuptools
     p.pyaml
+    p.pykeepass
+    p.filemagic
+    p.cryptography
+    p.secretstorage
   ]);
 
 in stdenv.mkDerivation rec {
   pname = "pass-import";
-  version = "2.6";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "roddhjav";
     repo = "pass-import";
     rev = "v${version}";
-    sha256 = "1q8rln4djh2z8j2ycm654df5y6anm5iv2r19spgy07c3fnisxlac";
+    sha256 = "sha256-nH2xAqWfMT+Brv3z9Aw6nbvYqArEZjpM28rKsRPihqA=";
   };
 
+  patches = [ ./0001-Fix-installation-with-Nix.patch ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = [ pythonEnv ];
 
-  patches = [
-    # https://github.com/roddhjav/pass-import/pull/91
-    (fetchpatch {
-      url = "https://github.com/roddhjav/pass-import/commit/6ccaf639e92df45bd400503757ae4aa2c5c030d7.patch";
-      sha256 = "0lw9vqvbqcy96s7v7nz0i1bdx93x7qr13azymqypcdhjwmq9i63h";
-    })
-  ];
-
-  postPatch = ''
-    sed -i -e 's|$0|${pass}/bin/pass|' import.bash
-  '';
-
-  dontBuild = true;
-
-  installFlags = [
-    "PREFIX=$(out)"
-    "BASHCOMPDIR=$(out)/etc/bash_completion.d"
-  ];
+  makeFlags = [ "DESTDIR=${placeholder "out"}" ];
 
-  postFixup = ''
-    install -D pass_import.py $out/${pythonPackages.python.sitePackages}/pass_import.py
+  postInstall = ''
+    wrapProgram $out/bin/pimport \
+      --prefix PATH : "${pythonEnv}/bin" \
+      --prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}"
     wrapProgram $out/lib/password-store/extensions/import.bash \
       --prefix PATH : "${pythonEnv}/bin" \
-      --prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}" \
-      --run "export PREFIX"
+      --prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/update.nix b/nixpkgs/pkgs/tools/security/pass/extensions/update.nix
index b2f331f13757..c364c341bda5 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/update.nix
+++ b/nixpkgs/pkgs/tools/security/pass/extensions/update.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace Makefile \
-      --replace "BASHCOMPDIR ?= /etc/bash_completion.d" "BASHCOMPDIR ?= $out/etc/bash_completion.d"
+      --replace "BASHCOMPDIR ?= /etc/bash_completion.d" "BASHCOMPDIR ?= $out/share/bash-completion/completions"
   '';
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix b/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
index b3c086488629..d46aac93e86b 100644
--- a/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
+++ b/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pass, rofi, coreutils, utillinux, xdotool, gnugrep
+{ stdenv, fetchFromGitHub, pass, rofi, coreutils, util-linux, xdotool, gnugrep
 , libnotify, pwgen, findutils, gawk, gnused, xclip, makeWrapper
 }:
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     (pass.withExtensions (ext: [ ext.pass-otp ]))
     pwgen
     rofi
-    utillinux
+    util-linux
     xclip
     xdotool
   ];
diff --git a/nixpkgs/pkgs/tools/security/pcsc-scm-scl011/default.nix b/nixpkgs/pkgs/tools/security/pcsc-scm-scl011/default.nix
index 62f4c3e85564..02e38bbe249a 100644
--- a/nixpkgs/pkgs/tools/security/pcsc-scm-scl011/default.nix
+++ b/nixpkgs/pkgs/tools/security/pcsc-scm-scl011/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "SCM Microsystems SCL011 chipcard reader user space driver";
-    homepage = "http://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630";
+    homepage = "https://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630";
     downloadPage = "https://support.identiv.com/scl010-scl011/";
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ sephalon ];
diff --git a/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix b/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
index 71a9824bb62b..f62288c062b8 100644
--- a/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
+++ b/nixpkgs/pkgs/tools/security/phrasendrescher/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A modular and multi processing pass phrase cracking tool";
-    homepage = "http://leidecker.info/projects/phrasendrescher/index.shtml";
+    homepage = "https://leidecker.info/projects/phrasendrescher/index.shtml";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ bjornfor ];
diff --git a/nixpkgs/pkgs/tools/security/pinentry/default.nix b/nixpkgs/pkgs/tools/security/pinentry/default.nix
index e6d07888d1dd..a72e8f9f5b2a 100644
--- a/nixpkgs/pkgs/tools/security/pinentry/default.nix
+++ b/nixpkgs/pkgs/tools/security/pinentry/default.nix
@@ -2,7 +2,7 @@
 , libgpgerror, libassuan, qtbase, wrapQtAppsHook
 , ncurses, gtk2, gcr
 , libcap ? null, libsecret ? null
-, enabledFlavors ? [ "curses" "tty" "gtk2" "qt" "gnome3" "emacs" ]
+, enabledFlavors ? [ "curses" "tty" "gtk2" "qt" "emacs" ] ++ lib.optionals stdenv.isLinux [ "gnome3" ]
 }:
 
 with stdenv.lib;
diff --git a/nixpkgs/pkgs/tools/security/rage/default.nix b/nixpkgs/pkgs/tools/security/rage/default.nix
index 26ae27dff6b2..69ea8c0f9c2c 100644
--- a/nixpkgs/pkgs/tools/security/rage/default.nix
+++ b/nixpkgs/pkgs/tools/security/rage/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, rustPlatform, fetchFromGitHub, installShellFiles, Security }:
+{ stdenv, rustPlatform, fetchFromGitHub, installShellFiles
+, Foundation, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rage";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "str4d";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wwndzy4xxbar9r67z8g7pp0s1xsxk5xaarh4h6hc0kh411zglrq";
+    sha256 = "sha256-XSDfAsXfwSoe5JMdJtZlC324Sra+4fVJhE3/k2TthEc=";
   };
 
-  cargoSha256 = "08njl8irkqkfxj54pz4sx3l9aqb40h10wxb82zza52pqd4zapgn6";
+  cargoSha256 = "sha256-GPr5zxeODAjD+ynp/nned9gZUiReYcdzosuEbLIKZSs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+    Foundation
+    Security
+  ];
 
   postBuild = ''
     cargo run --example generate-docs
@@ -31,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     description = "A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability";
     homepage = "https://github.com/str4d/rage";
     changelog = "https://github.com/str4d/rage/releases/tag/v${version}";
-    license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    license = with licenses; [ asl20 mit ]; # either at your option
+    maintainers = with maintainers; [ marsam ryantm ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/rbw/default.nix b/nixpkgs/pkgs/tools/security/rbw/default.nix
index 9eb670102fb8..bd5e88663744 100644
--- a/nixpkgs/pkgs/tools/security/rbw/default.nix
+++ b/nixpkgs/pkgs/tools/security/rbw/default.nix
@@ -1,11 +1,12 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchCrate
 , pinentry
 , openssl
 , pkgconfig
 , makeWrapper
-, cargo
+, Security
 
 # rbw-fzf
 , withFzf ? false, fzf, perl
@@ -19,24 +20,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rbw";
-  version = "0.4.6";
+  version = "0.5.2";
 
   src = fetchCrate {
     inherit version;
-    crateName = "${pname}";
-    sha256 = "0vq7cwk3i57fvn54q2rgln74j4p9vqm5zyhap94s73swjywicwk0";
+    crateName = pname;
+    sha256 = "1mxl71yz2iy5s6pbp33cwkfzzilkla4qqiskd6jsd5fdlrrwlxqm";
   };
 
-  cargoSha256 = "1h253ncick2v9aki5rf1bdrg5rj3h4nrvx5q01gw03cgwnqvyiiy";
+  cargoSha256 = "19gznam64s17kha3accgjks5rmd9kpqqgxg3dfrk7fg5v4431007";
 
   nativeBuildInputs = [
     pkgconfig
     makeWrapper
   ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
   postPatch = ''
     substituteInPlace src/pinentry.rs \
-        --replace "Command::new(\"pinentry\")" "Command::new(\"${pinentry}/bin/pinentry\")"
+      --replace 'Command::new("pinentry")' 'Command::new("${pinentry}/${pinentry.binaryPath or "bin/pinentry"}")'
   '' + lib.optionalString withFzf ''
     patchShebangs bin/rbw-fzf
     substituteInPlace bin/rbw-fzf \
@@ -69,8 +72,8 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Unofficial command line client for Bitwarden";
     homepage = "https://crates.io/crates/rbw";
+    changelog = "https://git.tozt.net/rbw/plain/CHANGELOG.md?id=${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ albakham luc65r ];
-    platforms = platforms.all;
+    maintainers = with maintainers; [ albakham luc65r marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/rustscan/default.nix b/nixpkgs/pkgs/tools/security/rustscan/default.nix
index 2a2e8c7ec6c5..43b6a3a0afd7 100644
--- a/nixpkgs/pkgs/tools/security/rustscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/rustscan/default.nix
@@ -1,34 +1,35 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-, nmap
-}:
+{ stdenv, fetchFromGitHub, rustPlatform, nmap, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rustscan";
-  version = "1.8.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "RustScan";
     repo = pname;
-    rev = "${version}";
-    sha256 = "0rkqsh4i58cf18ad97yr4f68s5jg6z0ybz4bw8607lz7cjkfvjay";
+    rev = version;
+    sha256 = "0fdbsz1v7bb5dm3zqjs1qf73lb1m4qzkqyb3h3hbyrp9vklgxsgw";
   };
 
-  cargoSha256 = "0mj214f2md7kjknmcayc5dcfmlk2b8mqkn7kxzdis8qv9a5xcbk8";
+  cargoSha256 = "039xarscwqndpyrr3sgzkhqna3c908zh06id8x2qaykm8l248zs9";
 
   postPatch = ''
     substituteInPlace src/main.rs \
       --replace 'Command::new("nmap")' 'Command::new("${nmap}/bin/nmap")'
   '';
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
   checkFlags = [
     "--skip=infer_ulimit_lowering_no_panic"
     "--skip=google_dns_runs"
-    "--skip=parse_correct_ips_or_hosts"
+    "--skip=parse_correct_host_addresses"
+    "--skip=parse_hosts_file_and_incorrect_hosts"
+    "--skip=run_perl_script"
+    "--skip=run_python_script"
   ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Faster Nmap Scanning with Rust";
     homepage = "https://github.com/RustScan/RustScan";
     license = licenses.gpl3Only;
diff --git a/nixpkgs/pkgs/tools/security/saml2aws/default.nix b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
index fc52662e536f..68721bbdebc1 100644
--- a/nixpkgs/pkgs/tools/security/saml2aws/default.nix
+++ b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.27.0";
+  version = "2.27.1";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "15ddzab93iqwbvxnaw5wp4dzwlxjqxvyy1c4w37jm69zkczylrmc";
+    sha256 = "1ffq7jh14cj45wn5rx9awh5k8hqbfwm4fjz0a0rq22yqfwbbkkj2";
   };
 
   runVend = true;
diff --git a/nixpkgs/pkgs/tools/security/scrypt/default.nix b/nixpkgs/pkgs/tools/security/scrypt/default.nix
index 018bc44b1443..e230b2ee4574 100644
--- a/nixpkgs/pkgs/tools/security/scrypt/default.nix
+++ b/nixpkgs/pkgs/tools/security/scrypt/default.nix
@@ -1,22 +1,34 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchurl, openssl, util-linux, getconf }:
 
 stdenv.mkDerivation rec {
   pname = "scrypt";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://www.tarsnap.com/scrypt/${pname}-${version}.tgz";
-    sha256 = "0j17yfrpi2bk5cawb4a4mzpv1vadqxh956hx0pa1gqfisknk8c16";
+    sha256 = "1hnl0r6pmyxiy4dmafmqk1db7wpc0x9rqpzqcwr9d2cmghcj6byz";
   };
 
+  outputs = [ "out" "lib" "dev" ];
+
+  configureFlags = [ "--enable-libscrypt-kdf" ];
+
   buildInputs = [ openssl ];
 
+  nativeBuildInputs = [ getconf ];
+
   patchPhase = ''
-    for f in Makefile.in autotools/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh ; do
+    for f in Makefile.in autotools/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh configure ; do
       substituteInPlace $f --replace "command -p " ""
     done
+
+    patchShebangs tests/test_scrypt.sh
   '';
 
+  doCheck = true;
+  checkTarget = "test";
+  checkInputs = [ util-linux ];
+
   meta = with stdenv.lib; {
     description = "Encryption utility";
     homepage    = "https://www.tarsnap.com/scrypt.html";
diff --git a/nixpkgs/pkgs/tools/security/secp256k1/default.nix b/nixpkgs/pkgs/tools/security/secp256k1/default.nix
index b5e92a354541..d3b43d6adf69 100644
--- a/nixpkgs/pkgs/tools/security/secp256k1/default.nix
+++ b/nixpkgs/pkgs/tools/security/secp256k1/default.nix
@@ -20,13 +20,13 @@ stdenv.mkDerivation {
 
   # I can't find any version numbers, so we're just using the date of the
   # last commit.
-  version = "2017-12-18";
+  version = "2020-08-16";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "secp256k1";
-    rev = "f54c6c5083307b18224c953cf5870ea7ffce070b";
-    sha256 = "0bxqmimm627g9klalg1vdbspmn52588v4a6cli3p8bn84ibsnzbm";
+    rev = "670cdd3f8be25f81472b2d16dcd228b0d24a5c45";
+    sha256 = "0ak2hrr0wznl5d9s905qwn5yds7k22i28d2jp957l4a8yf8cqv3s";
   };
 
   buildInputs = optionals enableJNI [ jdk ];
@@ -34,11 +34,14 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ autoreconfHook ];
 
   configureFlags =
-    [ "--enable-benchmark=no" "--enable-tests=no" "--enable-exhaustive-tests=no" ] ++
+    [ "--enable-benchmark=no" "--enable-tests=yes" "--enable-exhaustive-tests=no" ] ++
     optionals enableECDH [ "--enable-module-ecdh" "--enable-experimental" ] ++
     optionals enableRecovery [ "--enable-module-recovery" ] ++
     optionals enableJNI [ "--enable-jni" ];
 
+  doCheck = true;
+  checkPhase = "./tests";
+
   meta = with stdenv.lib; {
     description = "Optimized C library for EC operations on curve secp256k1";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/security/sequoia/default.nix b/nixpkgs/pkgs/tools/security/sequoia/default.nix
index a54433b92c93..201b4c56f2b9 100644
--- a/nixpkgs/pkgs/tools/security/sequoia/default.nix
+++ b/nixpkgs/pkgs/tools/security/sequoia/default.nix
@@ -23,16 +23,16 @@ assert pythonSupport -> pythonPackages != null;
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia";
-  version = "0.19.0";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = "sequoia";
     rev = "v${version}";
-    sha256 = "1870wd03c3x0da9p3jmkvfx8am87ak0dcsvp2qkjvglbl396kd8y";
+    sha256 = "0y80bl786m29ww3272qsl1ql0xc3pwd6iiqlkv3nmhnjsmygbn0d";
   };
 
-  cargoSha256 = "0bb51vdppdjhsxbfy3lyqvw5r5j58r3wi0qb68m2a45k3za7liss";
+  cargoSha256 = "03ngywa5z0c7qmdmhynk13xcivhg8gpivvpzg2gxp34gfr7j438l";
 
   nativeBuildInputs = [
     pkg-config
@@ -62,6 +62,8 @@ rustPlatform.buildRustPackage rec {
 
   makeFlags = [
     "PREFIX=${placeholder "out"}"
+    # Defaults to "ginstall" from some reason, although upstream's Makefiles check uname
+    "INSTALL=install"
   ];
 
   buildFlags = [
@@ -100,6 +102,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://sequoia-pgp.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ minijackson doronbehar ];
-    broken = stdenv.targetPlatform.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/snallygaster/default.nix b/nixpkgs/pkgs/tools/security/snallygaster/default.nix
new file mode 100644
index 000000000000..36ea37edbb9a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/snallygaster/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "snallygaster";
+  version = "0.0.9";
+
+  src = fetchFromGitHub {
+    owner = "hannob";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1gan5asgrxdgfi9lalhxzj3vs7nkazi8nqia36bpz1qb5fz7jrx3";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    urllib3
+    beautifulsoup4
+    dnspython
+  ];
+
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    # we are not interested in linting the project
+    "--ignore=tests/test_codingstyle.py"
+  ];
+
+  meta = with lib; {
+    description = "Tool to scan for secret files on HTTP servers";
+    homepage = "https://github.com/hannob/snallygaster";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/snow/default.nix b/nixpkgs/pkgs/tools/security/snow/default.nix
new file mode 100644
index 000000000000..db52d853b7a3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/snow/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "snow";
+  version = "20130616";
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20200304125913if_/http://darkside.com.au/snow/snow-${version}.tar.gz";
+    sha256 = "0r9q45y55z4i0askkxmxrx0jr1620ypd870vz0hx2a6n9skimdy0";
+  };
+
+  makeFlags = [ "CFLAGS=-O2" ];
+
+  installPhase = ''
+    install -Dm755 snow -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Conceal messages in ASCII text by appending whitespace to the end of lines";
+    homepage = "http://www.darkside.com.au/snow/";
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/sonar-scanner-cli/default.nix b/nixpkgs/pkgs/tools/security/sonar-scanner-cli/default.nix
new file mode 100644
index 000000000000..f5ae475a45b0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/sonar-scanner-cli/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, lib, fetchurl, unzip, jre }:
+
+let
+
+  version = "4.5.0.2216";
+
+  sonarScannerArchPackage = {
+    "x86_64-linux" = {
+      url = "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${version}-linux.zip";
+      sha256 = "sha256-rmvDb5l2BGV8j94Uhu2kJXwoDAHA3VncAahqGvLY3I0=";
+    };
+    "x86_64-darwin" = {
+      url = "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${version}-macosx.zip";
+      sha256 = "1g3lldpkrjlvwld9h82hlwclyplxpbk4q3nq59ylw4dhp26kb993";
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  inherit version;
+  pname = "sonar-scanner-cli";
+
+  src = fetchurl sonarScannerArchPackage.${stdenv.hostPlatform.system};
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r lib/* $out/lib/
+    mkdir -p $out/bin
+    cp bin/* $out/bin/
+    mkdir -p $out/conf
+    cp conf/* $out/conf/
+  '';
+
+  fixupPhase = ''
+    substituteInPlace $out/bin/sonar-scanner \
+      --replace "\$sonar_scanner_home/jre" "${lib.getBin jre}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/SonarSource/sonar-scanner-cli";
+    description = "SonarQube Scanner used to start code analysis";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ peterromfeldhk ];
+    platforms = builtins.attrNames sonarScannerArchPackage;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 4d58095c43b1..b8f4eeea338f 100644
--- a/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spectre-meltdown-checker";
-  version = "0.43";
+  version = "0.44";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "1ys5m1yvm26qjlsjpqqd33lwpb880p0ay289hmifxjjawkqddjgg";
+    sha256 = "1b47wlc52jnp2d5c7kbqnxmlm4g3cfbv25q30llv5mlmzs6d7bam";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/security/ssh-audit/default.nix b/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
index 884a3d90c4f6..2fdc42e52803 100644
--- a/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
+++ b/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
@@ -2,43 +2,24 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ssh-audit";
-  version = "2.2.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "jtesta";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1z1h9nsgfaxdnkr9dvc0yzc23b3wz436rg2fycg2glwjhhal8az7";
+    sha256 = "1h739r5nv5zkmjyyjwkw8r6d4avddjjxsamc5rffwfxi1kjavpxm";
   };
 
-  postPatch = ''
-    cp ./README.md pypi/sshaudit/
-    cp ./ssh-audit.py pypi/sshaudit/sshaudit.py
-    mv pypi/* .
-    ls -lah
-  '';
-
   checkInputs = with python3Packages; [
     pytestCheckHook
   ];
 
-  disabledTests = [
-    "test_resolve_error"
-    "test_resolve_hostname_without_records"
-    "test_resolve_ipv4"
-    "test_resolve_ipv6"
-    "test_resolve_ipv46_both"
-    "test_resolve_ipv46_order"
-    "test_invalid_host"
-    "test_invalid_port"
-    "test_not_connected_socket"
-    "test_ssh2_server_simple"
-  ];
-
   meta = with lib; {
     description = "Tool for ssh server auditing";
     homepage = "https://github.com/jtesta/ssh-audit";
     license = licenses.mit;
-    maintainers = with maintainers; [ tv ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ tv SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/sshguard/default.nix b/nixpkgs/pkgs/tools/security/sshguard/default.nix
index 6c2298f6729f..6bae0fddc23d 100644
--- a/nixpkgs/pkgs/tools/security/sshguard/default.nix
+++ b/nixpkgs/pkgs/tools/security/sshguard/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--sysconfdir=/etc" ];
 
   meta = with stdenv.lib; {
-    description = "SSHGuard protects hosts from brute-force attacks";
+    description = "Protects hosts from brute-force attacks";
     longDescription = ''
       SSHGuard can read log messages from various input sources. Log messages are parsed, line-by-line, for recognized patterns.
       If an attack, such as several login failures within a few seconds, is detected, the offending IP is blocked.
diff --git a/nixpkgs/pkgs/tools/security/step-ca/default.nix b/nixpkgs/pkgs/tools/security/step-ca/default.nix
index e5574be8ab94..f3c9990a3c74 100644
--- a/nixpkgs/pkgs/tools/security/step-ca/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-ca/default.nix
@@ -1,19 +1,35 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, buildGoModule
+, pcsclite
+, PCSC
+, pkg-config
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "step-ca";
-  version = "0.13.3";
-
-  goPackagePath = "github.com/smallstep/certificates";
+  version = "0.15.6";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "1i42j7v5a5qqqb9ng8irblfyzykhyws0394q3zac290ymjijxbnq";
+    sha256 = "0n26692ph4q4cmrqammfazmx1k9p2bydwqc57q4hz5ni6jd31zbz";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "0w0phyqymcg2h2jjasxmkf4ryn4y1bqahcy94rs738cqr5ifyfbg";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs =
+    lib.optional stdenv.isLinux (lib.getDev pcsclite)
+    ++ lib.optional stdenv.isDarwin PCSC;
+
+  # Tests fail on darwin with
+  # panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted [recovered]
+  # probably some sandboxing issue
+  doCheck = stdenv.isLinux;
 
   meta = with lib; {
     description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH";
diff --git a/nixpkgs/pkgs/tools/security/step-ca/deps.nix b/nixpkgs/pkgs/tools/security/step-ca/deps.nix
deleted file mode 100644
index 07607b6f65d2..000000000000
--- a/nixpkgs/pkgs/tools/security/step-ca/deps.nix
+++ /dev/null
@@ -1,291 +0,0 @@
-# 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/chzyer/readline";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chzyer/readline";
-      rev =  "2972be24d48e78746da79ba8e24e8b488c9880de";
-      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
-    };
-  }
-  {
-    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 =  "aa810b61a9c79d51363740d207bb46cf8e620ed5";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-  {
-    goPackagePath  = "github.com/juju/ansiterm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/juju/ansiterm";
-      rev =  "720a0952cc2ac777afc295d9861263e2a4cf96a1";
-      sha256 = "0n6j0y7xhashp8gdkdl0r7vlbkdrkymrzxn9hxrx522k2isggs7h";
-    };
-  }
-  {
-    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/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/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/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smallstep/cli";
-      rev =  "eeecaac062cb548ee2ab7c7563bc3c2f2160f019";
-      sha256 = "1khhd1vgwqb08vki1nh0k4i2yk6jjdqmnq4f8anqn125zsj7hvdk";
-    };
-  }
-  {
-    goPackagePath  = "github.com/smallstep/nosql";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smallstep/nosql";
-      rev =  "f80b3f432de0662f07ebd58fe52b0a119fe5dcd9";
-      sha256 = "155blxdgaprl1py5g8p52gipp0ckz3k6v41hgsp83nay01yynafb";
-    };
-  }
-  {
-    goPackagePath  = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev =  "b67dcf995b6a7b7f14fad5fcb7cc5441b05e814b";
-      sha256 = "0n5vq4nydlhb7w12jiwphvxqdy4jwpxc3zwlxyhf05lq1nxfb56h";
-    };
-  }
-  {
-    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";
-    };
-  }
-]
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/security/step-cli/default.nix b/nixpkgs/pkgs/tools/security/step-cli/default.nix
index d696b560f6dc..2b6ec57bbf2b 100644
--- a/nixpkgs/pkgs/tools/security/step-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-cli/default.nix
@@ -1,19 +1,26 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, fetchpatch
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "step-cli";
-  version = "0.13.3";
-
-  goPackagePath = "github.com/smallstep/cli";
+  version = "0.15.3-22-g3ddc5aa";
 
+  # 0.15.3 isn't enough, because we need https://github.com/smallstep/cli/pull/394
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
-    rev = "v${version}";
-    sha256 = "0b5hk9a8yq1nyh8m1gmf28yiha95xwsc4dk321g84hvai7g47pbr";
+    rev = "3ddc5aaafccb23ba9a20abfa70109a2923f298e3";
+    sha256 = "1kd04hi764xa3f9p6aw6k9f6wa4y6xsmzby5jxvvkhim4w78brw0";
   };
 
-  goDeps = ./deps.nix;
+  preCheck = ''
+    # Tries to connect to smallstep.com
+    rm command/certificate/remote_test.go
+  '';
+  vendorSha256 = "04hckq78g1p04b2q0rq4xw6d880hqhkabbx1pc3pf8r1m6jxwz10";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/nixpkgs/pkgs/tools/security/step-cli/deps.nix b/nixpkgs/pkgs/tools/security/step-cli/deps.nix
deleted file mode 100644
index bae1ba070a69..000000000000
--- a/nixpkgs/pkgs/tools/security/step-cli/deps.nix
+++ /dev/null
@@ -1,453 +0,0 @@
-# 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/nixpkgs/pkgs/tools/security/sudo/default.nix b/nixpkgs/pkgs/tools/security/sudo/default.nix
index e05374575d24..776823a6a280 100644
--- a/nixpkgs/pkgs/tools/security/sudo/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, coreutils, pam, groff, sssd
+{ stdenv, fetchurl, coreutils, pam, groff, sssd, nixosTests
 , sendmailPath ? "/run/wrappers/bin/sendmail"
 , withInsults ? false
 , withSssd ? false
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sudo";
-  version = "1.8.31p1";
+  version = "1.9.4p2";
 
   src = fetchurl {
     url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
-    sha256 = "1n0mdmgcs92af34xxsnsh1arrngymhdmwd9srjgjbk65q7xzsg67";
+    sha256 = "0r0g8z289ipw0zpkhmm33cpfm42j01jds2q1wilhh3flg7xg2jn3";
   };
 
   prePatch = ''
@@ -61,6 +61,8 @@ stdenv.mkDerivation rec {
     rm -f $out/share/doc/sudo/ChangeLog
     '';
 
+  passthru.tests = { inherit (nixosTests) sudo; };
+
   meta = {
     description = "A command to run commands as root";
 
@@ -76,7 +78,7 @@ stdenv.mkDerivation rec {
 
     license = "https://www.sudo.ws/sudo/license.html";
 
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    maintainers = with stdenv.lib.maintainers; [ eelco delroth ];
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/security/sudolikeaboss/default.nix b/nixpkgs/pkgs/tools/security/sudolikeaboss/default.nix
index 97db4a28c458..639926578c7b 100644
--- a/nixpkgs/pkgs/tools/security/sudolikeaboss/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudolikeaboss/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix, then modified by hand for Darwin support.
-{ stdenv, buildGoPackage, fetchFromGitHub, fixDarwinDylibNames, darwin }:
+{ stdenv, buildGoPackage, fetchFromGitHub, darwin }:
 
 buildGoPackage rec {
   pname = "sudolikeaboss-unstable";
@@ -17,9 +17,8 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-  propagatedBuildInputs = with darwin.apple_sdk.frameworks; [
+  buildInputs = with darwin.apple_sdk.frameworks; [
     Cocoa
-    fixDarwinDylibNames
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/security/super/0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch b/nixpkgs/pkgs/tools/security/super/0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch
new file mode 100644
index 000000000000..048486caafd7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/super/0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch
@@ -0,0 +1,51 @@
+From 86e37c1c09c23924c4e055a3d4b8c79f19cd0599 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Mon, 10 Aug 2020 21:33:39 +0200
+Subject: [PATCH] Remove references to dropped `sys_nerr` & `sys_errlist` for
+ `glibc-2.32` compat
+
+According to the release-notes[1], `strerror(3)` should be used. This is
+already the case, however the source tries to be backwards-compatible by
+supporting `sys_nerr` & `sys_errlist` which breaks compilation
+unfortunately.
+
+Simply using `strerror` fixes the problems.
+
+[1] https://sourceware.org/pipermail/libc-announce/2020/000029.html
+---
+ utils.c | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/utils.c b/utils.c
+index 3ec70b6..430f027 100644
+--- a/utils.c
++++ b/utils.c
+@@ -2003,7 +2003,6 @@ int n;
+ 
+ #ifdef HAVE_SYS_ERRLIST
+     extern char *sys_errlist[];
+-    extern int sys_nerr;
+ #endif
+ 
+ /*
+@@ -2019,16 +2018,7 @@ int errnum;
+     sprintf(buf, "Error %d", errnum);
+     return buf;
+ #else
+-    if (errnum < 0 || errnum > sys_nerr) {
+-	sprintf(buf, "Error %d (!)", errnum);
+-	return buf;
+-    } else {
+-#ifdef HAVE_STRERROR
+-	return strerror(errnum);
+-#else
+-	return sys_errlist[errnum];
+-#endif
+-    }
++    return strerror(errnum);
+ #endif
+ }
+ 
+-- 
+2.25.4
+
diff --git a/nixpkgs/pkgs/tools/security/super/default.nix b/nixpkgs/pkgs/tools/security/super/default.nix
index 070517310696..79a7cd839e5b 100644
--- a/nixpkgs/pkgs/tools/security/super/default.nix
+++ b/nixpkgs/pkgs/tools/security/super/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
+    ./0001-Remove-references-to-dropped-sys_nerr-sys_errlist-fo.patch
     (fetchpatch {
       name = "CVE-2014-0470.patch";
       url = "https://salsa.debian.org/debian/super/raw/debian/3.30.0-7/debian/patches/14-Fix-unchecked-setuid-call.patch";
diff --git a/nixpkgs/pkgs/tools/security/teler/default.nix b/nixpkgs/pkgs/tools/security/teler/default.nix
new file mode 100644
index 000000000000..378663758591
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/teler/default.nix
@@ -0,0 +1,33 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "teler";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "kitabisa";
+    repo = "teler";
+    rev = "v${version}";
+    sha256 = "07pfqgms5cj4y6zm984qjmmw1c8j9yjbgrp2spi9vzk96s3k3qn3";
+  };
+
+  vendorSha256 = "06szi2jw3nayd7pljjlww2gsllgnfg8scnjmc6qv5xl6gf797kdz";
+
+  # test require internet access
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Real-time HTTP Intrusion Detection";
+    longDescription = ''
+      teler is an real-time intrusion detection and threat alert
+      based on web log that runs in a terminal with resources that
+      we collect and provide by the community.
+    '';
+    homepage = "https://github.com/kitabisa/teler";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/thc-ipv6/default.nix b/nixpkgs/pkgs/tools/security/thc-ipv6/default.nix
new file mode 100644
index 000000000000..b8175ef6dbac
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/thc-ipv6/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, libpcap, openssl, libnetfilter_queue, libnfnetlink }:
+stdenv.mkDerivation rec {
+  pname = "thc-ipv6";
+  version = "3.8";
+
+  src = fetchFromGitHub {
+    owner = "vanhauser-thc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07kwika1zdq62s5p5z94xznm77dxjxdg8k0hrg7wygz50151nzmx";
+  };
+
+  buildInputs = [
+    libpcap
+    openssl
+    libnetfilter_queue
+    libnfnetlink
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "IPv6 attack toolkit";
+    homepage = "https://github.com/vanhauser-thc/thc-ipv6";
+    maintainers = with maintainers; [ ajs124 ];
+    platforms = platforms.linux;
+    license = licenses.agpl3Only;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index c535bf706708..04bf598d132a 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/pkgs/tools/security/tor/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.3.6";
+  version = "0.4.4.6";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "0qmcrkjip0ywq77232m73pjwqiaj0q2klwklqlpbw575shvhcbba";
+    sha256 = "1p0zpqmbskygx0wmiijhprg8r45n2wqbbjl7kv4gbb83b0alq5az";
   };
 
   outputs = [ "out" "geoip" ];
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
 
     maintainers = with maintainers;
-      [ phreedom doublec thoughtpolice joachifm ];
+      [ phreedom thoughtpolice joachifm prusnak ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix b/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix
index 6fe116d7015a..a3352c5abfdc 100644
--- a/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix
+++ b/nixpkgs/pkgs/tools/security/tpm2-abrmd/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-abrmd";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "tpm2-software";
     repo = pname;
     rev = version;
-    sha256 = "0jzglnlb700clcq6mjhhgvcq29a6893h888wsn9fbrh4f255sw8q";
+    sha256 = "17nv50w1yh6fg7393vfvys9y13lp0gvxx9vcw2pb87ky551d7xkf";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook autoconf-archive which ];
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/tpm2-software/tpm2-tools";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ lschuermann ];
+    maintainers = with maintainers; [ matthiasbeyer ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index eb999b5cedcb..4b460e74024b 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, buildGoPackage, installShellFiles }:
+{ stdenv, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests }:
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "149if5s4rdpxgzakh8s79j1fcfcqk1w7gvgchc044xlicl1r49ic";
+    sha256 = "13fasdiijxy87m33wfyd8gylyz556i0bdd7xp706ip2fcckrmz7a";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
@@ -24,9 +24,12 @@ buildGoPackage rec {
     installShellCompletion vault.bash
   '';
 
+  passthru.tests.vault = nixosTests.vault;
+
   meta = with stdenv.lib; {
     homepage = "https://www.vaultproject.io/";
     description = "A tool for managing secrets";
+    changelog = "https://github.com/hashicorp/vault/blob/v${version}/CHANGELOG.md";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
     maintainers = with maintainers; [ rushmorem lnl7 offline pradeepchhetri ];
diff --git a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
index b8a70eb82f94..805afe89d31a 100644
--- a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
+++ b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
@@ -1,30 +1,26 @@
 { stdenv, fetchurl, unzip }:
 
 let
-  version = "1.5.3";
+  version = "1.6.0";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "1chhi7piq04j8rgk15rcszqqp37xd9cjj67plr5pgvdps3s1zihy";
+      sha256 = "0fay6bw31x9kxmc52sh5qp63nfkwji74fbnlx8pj3smz3qnqw143";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "0jbnvypapang025wfyj6i70jdz3g29ggg7rzmg8xh6gfyhwk3vmb";
+      sha256 = "0bjks9lpgl39cq55c9cyc0glhmyxzs37a2an8ynzza94gv5mgcxa";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "1m54258lfdr79p2j8janbkhp0a8bs8xbrcr51lqx2s620n7sfbya";
-    };
-    i686-darwin = fetchurl {
-      url = "${base}/vault_${version}_darwin_386.zip";
-      sha256 = "038qkkhlwj86fz9vpcycvv5nb41y8mqypqvhfp0ia11birp8xlsr";
+      sha256 = "0hl1k35x78y0hi3y5xjnzby1ygisqjyvdak7s61m9f363nsr1shh";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "1vivkwcy9j9zs7w65k7y8chix8jnii5pz8zck6rlpwgz5vs0h04k";
+      sha256 = "018a5i14x6phhx1axvx0bvqn4ggsimfizs48xbmykgiyfmzkrwgz";
     };
   };
 
@@ -47,7 +43,7 @@ in stdenv.mkDerivation {
   meta = with stdenv.lib; {
     homepage = "https://www.vaultproject.io";
     description = "A tool for managing secrets, this binary includes the UI";
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "i686-darwin" ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
     license = licenses.mpl20;
     maintainers = with maintainers; [ offline psyanticy mkaito ];
   };
diff --git a/nixpkgs/pkgs/tools/security/volatility/default.nix b/nixpkgs/pkgs/tools/security/volatility/default.nix
index 8cf904c39c5f..4f1e90eb9100 100644
--- a/nixpkgs/pkgs/tools/security/volatility/default.nix
+++ b/nixpkgs/pkgs/tools/security/volatility/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "2.6";
   pname = "volatility";
+  version = "2.6.1";
 
-  src = fetchurl {
-    url = "https://downloads.volatilityfoundation.org/releases/${version}/${pname}-${version}.zip";
-    sha256 = "15cjrx31nnqa3bpjkv0x05j7f2sb7pq46a72zh7qg55zf86hawsv";
+  src = fetchFromGitHub {
+    owner = "volatilityfoundation";
+    repo = pname;
+    rev = version;
+    sha256 = "1v92allp3cv3akk71kljcwxr27h1k067dsq7j9h8jnlwk9jxh6rf";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/wad/default.nix b/nixpkgs/pkgs/tools/security/wad/default.nix
new file mode 100644
index 000000000000..ee731798097d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/wad/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, mock
+, pytestCheckHook
+, six
+}:
+
+buildPythonApplication rec {
+  pname = "wad";
+  version = "0.4.6";
+
+  src = fetchPypi {
+    inherit pname;
+    inherit version;
+    sha256 = "02jq77h6g9v7n4qqq7qri6wmhggy257983dwgmpjsf4qsagkgwy8";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    mock
+  ];
+
+  pythonImportsCheck = [ "wad" ];
+
+  meta = with lib; {
+    description = "Tool for detecting technologies used by web applications";
+    longDescription = ''
+      WAD lets you analyze given URL(s) and detect technologies used by web
+      application behind that URL, from the OS and web server level, to the
+      programming platform and frameworks, as well as server- and client-side
+      applications, tools and libraries.
+    '';
+    homepage = "https://github.com/CERN-CERT/WAD";
+    # wad is GPLv3+, wappalyzer source is MIT
+    license = with licenses; [ gpl3Plus mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/zzuf/default.nix b/nixpkgs/pkgs/tools/security/zzuf/default.nix
index 5dab990e22f7..428f1ec1d09c 100644
--- a/nixpkgs/pkgs/tools/security/zzuf/default.nix
+++ b/nixpkgs/pkgs/tools/security/zzuf/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   preConfigure = "./bootstrap";
 
   meta = with stdenv.lib; {
-    description = "Transparent application input fuzzer.";
+    description = "Transparent application input fuzzer";
     homepage = "http://caca.zoy.org/wiki/zzuf";
     license = licenses.wtfpl;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/system/bfs/default.nix b/nixpkgs/pkgs/tools/system/bfs/default.nix
index 78e92e01c6ea..c0755fafc06a 100644
--- a/nixpkgs/pkgs/tools/system/bfs/default.nix
+++ b/nixpkgs/pkgs/tools/system/bfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "1.7";
+  version = "2.1";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    sha256 = "1jkz99i10y6dwc4dyh2vp3p549jscgwjdp6x17mcw561bnam2287";
+    sha256 = "1iricyigm0rsc8fr91vk3krvyafbnp0y3ww1rjv94l6jbdl7rrlb";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ];
diff --git a/nixpkgs/pkgs/tools/system/bottom/default.nix b/nixpkgs/pkgs/tools/system/bottom/default.nix
new file mode 100644
index 000000000000..1a975aef3932
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/bottom/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, rustPlatform, darwin, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bottom";
+  version = "0.5.6";
+
+  src = fetchFromGitHub {
+    owner = "ClementTsang";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-88uEEsb+coX8PTKrem+0t5AkamCmqJsFYsENFTZSsys=";
+  };
+
+  prePatch = ''
+    rm .cargo/config.toml
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit;
+
+  cargoSha256 = "sha256-qnh4Tl6JRgxBJbu+t9IJX/XChIR15rTRLvsl+/ZvPxY=";
+
+  doCheck = false;
+
+  postInstall = ''
+    installShellCompletion $releaseDir/build/bottom-*/out/btm.{bash,fish} --zsh $releaseDir/build/bottom-*/out/_btm
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform graphical process/system monitor with a customizable interface";
+    homepage = "https://github.com/ClementTsang/bottom";
+    license = licenses.mit;
+    maintainers = with maintainers; [ berbiche ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/bpytop/default.nix b/nixpkgs/pkgs/tools/system/bpytop/default.nix
index a4505360b5b1..feaebc14e0ad 100644
--- a/nixpkgs/pkgs/tools/system/bpytop/default.nix
+++ b/nixpkgs/pkgs/tools/system/bpytop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpytop";
-  version = "1.0.25";
+  version = "1.0.50";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sxwrckv2j1283h888pyyxply2g93x6jn6cghqh207igmcg4iaj3";
+    sha256 = "10j2g19sh2hl5lzbcllr862hkzr0mc1z8n24afzaycn1sphri8fc";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/system/clinfo/default.nix b/nixpkgs/pkgs/tools/system/clinfo/default.nix
index c50bfe4a0d04..9e9b4df80880 100644
--- a/nixpkgs/pkgs/tools/system/clinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/clinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clinfo";
-  version = "2.2.18.04.06";
+  version = "3.0.20.11.20";
 
     src = fetchFromGitHub {
       owner = "Oblomov";
       repo = "clinfo";
       rev = version;
-      sha256 = "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx";
+      sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422";
     };
 
   buildInputs = [ ocl-icd opencl-headers ];
diff --git a/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock b/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock
index d138a167ce74..e9cd8cbf766d 100644
--- a/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock
@@ -2,14 +2,16 @@ GEM
   remote: https://rubygems.org/
   specs:
     clocale (0.0.4)
-    colorls (1.4.2)
+    colorls (1.4.3)
       clocale (~> 0)
       filesize (~> 0)
       manpages (~> 0)
       rainbow (>= 2.2, < 4.0)
+      unicode-display_width (~> 1.7)
     filesize (0.2.0)
     manpages (0.6.1)
     rainbow (3.0.0)
+    unicode-display_width (1.7.0)
 
 PLATFORMS
   ruby
diff --git a/nixpkgs/pkgs/tools/system/colorls/gemset.nix b/nixpkgs/pkgs/tools/system/colorls/gemset.nix
index 2e4a26ff9182..850aae35684b 100644
--- a/nixpkgs/pkgs/tools/system/colorls/gemset.nix
+++ b/nixpkgs/pkgs/tools/system/colorls/gemset.nix
@@ -10,15 +10,15 @@
     version = "0.0.4";
   };
   colorls = {
-    dependencies = ["clocale" "filesize" "manpages" "rainbow"];
+    dependencies = ["clocale" "filesize" "manpages" "rainbow" "unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sw377wklld5zn1la0smxc2bg4rph2xf9d0h3zmxhmds06lb92db";
+      sha256 = "1w9d99qzgxw8wwa4z1vkdnr70fppx2g9shma6dz3ihjhajj2xvmq";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.3";
   };
   filesize = {
     groups = ["default"];
@@ -50,4 +50,14 @@
     };
     version = "3.0.0";
   };
+  unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/system/ctop/default.nix b/nixpkgs/pkgs/tools/system/ctop/default.nix
index 6cb8e4821608..2b538d66322f 100644
--- a/nixpkgs/pkgs/tools/system/ctop/default.nix
+++ b/nixpkgs/pkgs/tools/system/ctop/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ctop";
-  version = "0.7.3";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "bcicen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y72l65xgfqrgghzbm1zcy776l5m31z0gn6vfr689zyi3k3f4kh8";
+    sha256 = "0mm1gapnz67mwc346jr530xwpiajq1b2f295s8gz5nrb2a23mqln";
   };
 
-  vendorSha256 = "1x4li44vg0l1x205v9a971cgphplxhsrn59q97gmj9cfy4m7jdfw";
+  vendorSha256 = "0a5rwnf251jbp7jz2ln8z9hqp0112c6kx0y09nncvlcki35qq9sh";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/system/daemon/default.nix b/nixpkgs/pkgs/tools/system/daemon/default.nix
index fb06247f9843..c419824f9699 100644
--- a/nixpkgs/pkgs/tools/system/daemon/default.nix
+++ b/nixpkgs/pkgs/tools/system/daemon/default.nix
@@ -1,16 +1,23 @@
-{stdenv, fetchurl, perl}:
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "daemon";
+  version = "0.7";
 
-stdenv.mkDerivation {
-  name = "daemon-0.6.4";
   src = fetchurl {
-    url = "http://libslack.org/daemon/download/daemon-0.6.4.tar.gz";
-    sha256 = "18aw0f8k3j30xqwv4z03962kdpqd10nf1w9liihylmadlx5fmff4";
+    url = "http://libslack.org/daemon/download/daemon-${version}.tar.gz";
+    sha256 = "0b17zzl7bqnkn7a4pr3l6fxqfmxfld7izphrab5nvhc4wzng4spn";
   };
-  makeFlags = [ "PREFIX=$(out)" ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
   buildInputs = [ perl ];
 
-  meta = {
-    description = "Daemon turns other process into daemons";
+  meta = with stdenv.lib; {
+    description = "Turns other processes into daemons";
     longDescription = ''
       Daemon turns other process into daemons. There are many tasks that need
       to be performed to correctly set up a daemon process. This can be tedious.
@@ -18,8 +25,8 @@ stdenv.mkDerivation {
       writing daemons in languages other than C, C++ or Perl (e.g. /bin/sh,
       Java).
     '';
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sander ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/efivar/default.nix b/nixpkgs/pkgs/tools/system/efivar/default.nix
index ea0ed8afcfd0..afff716c249a 100644
--- a/nixpkgs/pkgs/tools/system/efivar/default.nix
+++ b/nixpkgs/pkgs/tools/system/efivar/default.nix
@@ -39,8 +39,9 @@ stdenv.mkDerivation rec {
       sha256 = "1ajj11wwsvamfspq4naanvw08h63gr0g71q0dfbrrywrhc0jlmdw";
     })
   ];
-  # We have no LTO here since commit 22284b07.
+  # We have no LTO here since commit 22284b07.  With GCC 10 that triggers a warning.
   postPatch = if stdenv.isi686 then "sed '/^OPTIMIZE /s/-flto//' -i Make.defaults" else null;
+  NIX_CFLAGS_COMPILE = if stdenv.isi686 then "-Wno-error=stringop-truncation" else null;
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt ];
diff --git a/nixpkgs/pkgs/tools/system/facter/default.nix b/nixpkgs/pkgs/tools/system/facter/default.nix
index 170f3109a0a6..2a101bba8865 100644
--- a/nixpkgs/pkgs/tools/system/facter/default.nix
+++ b/nixpkgs/pkgs/tools/system/facter/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, utillinux }:
+{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, util-linux }:
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.13";
+  version = "3.14.14";
 
   src = fetchFromGitHub {
-    sha256 = "1rink4xxh7f2ckqfl4pc3ljm9rfb5c4npsqzlys4f2snmq4d0h39";
+    sha256 = "07pfa11i3nn2dk5g3c1qj3g7d2s8gd2fr0lmfijndaqxm7gjrn1a";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby utillinux ];
+  buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby util-linux ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/system/fio/default.nix b/nixpkgs/pkgs/tools/system/fio/default.nix
index 77a85e014734..e0dc69de0e43 100644
--- a/nixpkgs/pkgs/tools/system/fio/default.nix
+++ b/nixpkgs/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fio";
-  version = "3.22";
+  version = "3.25";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "16p17l1xbqqkgppvwmfaywknhk4ybafnx8hm56ffd8bls9vaqw5m";
+    sha256 = "1f20ihynwnz8jqqlr73i5glr8ziplz4mmcjgk340mj2yqqcnsqag";
   };
 
   buildInputs = [ python zlib ]
diff --git a/nixpkgs/pkgs/tools/system/hostctl/default.nix b/nixpkgs/pkgs/tools/system/hostctl/default.nix
new file mode 100644
index 000000000000..6f557e05cd12
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/hostctl/default.nix
@@ -0,0 +1,36 @@
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
+
+buildGoModule rec {
+  pname = "hostctl";
+  version = "1.0.14";
+
+  src = fetchFromGitHub {
+    owner = "guumaster";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02bjii97l4fy43v2rb93m9b0ad8y6mjvbvp4sz6a5n0w9dm1z1q9";
+  };
+
+  vendorSha256 = "1lqk3cda0frqp2vwkqa4b3xkdw814wgkbr7g9r2mwxn85fpdcq5c";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    installShellCompletion --cmd hostctl \
+      --bash <($out/bin/hostctl completion bash) \
+      --zsh <($out/bin/hostctl completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "Your dev tool to manage /etc/hosts like a pro!";
+    longDescription = ''
+      This tool gives you more control over the use of your hosts file.
+      You can have multiple profiles and switch them on/off as you need.
+    '';
+    homepage = "https://guumaster.github.io/hostctl/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ blaggacao ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/system/htop/default.nix b/nixpkgs/pkgs/tools/system/htop/default.nix
index fe4622f3381e..bf811942c3e6 100644
--- a/nixpkgs/pkgs/tools/system/htop/default.nix
+++ b/nixpkgs/pkgs/tools/system/htop/default.nix
@@ -1,27 +1,27 @@
 { lib, fetchFromGitHub, stdenv, autoreconfHook
-, ncurses, IOKit, python3
+, ncurses, IOKit
 }:
 
 stdenv.mkDerivation rec {
   pname = "htop";
-  version = "3.0.1";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner = "htop-dev";
     repo = pname;
     rev = version;
-    sha256 = "0kjlphdvwwbj91kk91s4ksc954d3c2bznddzx2223jmb1bn9rcsa";
+    sha256 = "1fckfv96vzqjs3lzy0cgwsqv5vh1sxca3fhvgskmnkvr5bq6cia9";
   };
 
-  nativeBuildInputs = [ autoreconfHook python3 ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [ ncurses
   ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
     description = "An interactive process viewer for Linux";
-    homepage = "https://hisham.hm/htop/";
-    license = licenses.gpl2Plus;
+    homepage = "https://htop.dev";
+    license = licenses.gpl2Only;
     platforms = with platforms; linux ++ freebsd ++ openbsd ++ darwin;
     maintainers = with maintainers; [ rob relrod ];
   };
diff --git a/nixpkgs/pkgs/tools/system/hwinfo/default.nix b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
index 6b6aa40a0f73..7a212f5bbeeb 100644
--- a/nixpkgs/pkgs/tools/system/hwinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.70";
+  version = "21.71";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "13vvsxj06wy86m7fy6bwy63ga49a2k4chdnk8jj3klj2cnh7ql8z";
+    sha256 = "1g671fvkg6r30n9vwwlqpdd6yn6jf7n9ynjmslblk7kbnabzayby";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/tools/system/incron/default.nix b/nixpkgs/pkgs/tools/system/incron/default.nix
index 4b5709e62270..d407982bb673 100644
--- a/nixpkgs/pkgs/tools/system/incron/default.nix
+++ b/nixpkgs/pkgs/tools/system/incron/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A cron-like daemon which handles filesystem events.";
+    description = "A cron-like daemon which handles filesystem events";
     homepage = "https://github.com/ar-/incron";
     license = licenses.gpl2;
     maintainers = [ maintainers.aanderse ];
diff --git a/nixpkgs/pkgs/tools/system/inxi/default.nix b/nixpkgs/pkgs/tools/system/inxi/default.nix
index 4a59facb27b2..14b14fa9ffd1 100644
--- a/nixpkgs/pkgs/tools/system/inxi/default.nix
+++ b/nixpkgs/pkgs/tools/system/inxi/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper
 , ps, dnsutils # dig is recommended for multiple categories
 , withRecommends ? false # Install (almost) all recommended tools (see --recommends)
-, withRecommendedSystemPrograms ? withRecommends, utillinuxMinimal, dmidecode
+, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode
 , file, hddtemp, iproute, ipmitool, usbutils, kmod, lm_sensors, smartmontools
 , binutils, tree, upower
 , withRecommendedDisplayInformationPrograms ? withRecommends, glxinfo, xorg
@@ -11,7 +11,7 @@ let
   prefixPath = programs:
     "--prefix PATH ':' '${stdenv.lib.makeBinPath programs}'";
   recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [
-    utillinuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod
+    util-linuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod
     lm_sensors smartmontools binutils tree upower
   ];
   recommendedDisplayInformationPrograms = lib.optionals
@@ -22,13 +22,13 @@ let
     ++ recommendedDisplayInformationPrograms;
 in stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.1.06-1";
+  version = "3.2.01-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "11z90x7rwzm7krkcnmcs9f41i1d284vrj0aqk2xnvl3p79vx25f7";
+    sha256 = "15bakrv3jzj5h88c3bd0cfhh6hb8b4hm79924k1ygn29sqzgyw65";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/system/ipmitool/default.nix b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
index b5da2db67fe8..196e59953fe7 100644
--- a/nixpkgs/pkgs/tools/system/ipmitool/default.nix
+++ b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, openssl, fetchpatch, static ? false }:
+{ stdenv, lib, fetchurl, openssl, fetchpatch, static ? stdenv.hostPlatform.isStatic }:
 
 let
   pkgname = "ipmitool";
diff --git a/nixpkgs/pkgs/tools/system/jump/default.nix b/nixpkgs/pkgs/tools/system/jump/default.nix
index 9966ace14f4f..d91df3232c8a 100644
--- a/nixpkgs/pkgs/tools/system/jump/default.nix
+++ b/nixpkgs/pkgs/tools/system/jump/default.nix
@@ -28,7 +28,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "Jump helps you navigate faster by learning your habits.";
+    description = "Navigate directories faster by learning your habits";
     longDescription = ''
       Jump integrates with the shell and learns about your
       navigational habits by keeping track of the directories you visit. It
diff --git a/nixpkgs/pkgs/tools/system/kmon/default.nix b/nixpkgs/pkgs/tools/system/kmon/default.nix
index a2610327f618..502579bb931c 100644
--- a/nixpkgs/pkgs/tools/system/kmon/default.nix
+++ b/nixpkgs/pkgs/tools/system/kmon/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, rustPlatform, python3, libxcb }:
+{ lib, fetchFromGitHub, rustPlatform, python3, libxcb }:
 
 rustPlatform.buildRustPackage rec {
   pname = "kmon";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f9q4bc1kr1hgwf8byj13d6vsfs97wz7x10zwa82iv9b0wb1lr5w";
+    sha256 = "0j6w4rg2gybcy1cv812qixravy0z0xpp33snrng11q802zq3mkmq";
   };
 
-  cargoSha256 = "1xy8rkba9idd0w4bnczmv4ll9awvar99vb7s0jd25fjbzqqlz820";
+  cargoSha256 = "0x5s3yi5bv3h1k54lrgcvkpdkmfphvwhnrmk5lmk6xd9pxfh218p";
 
   nativeBuildInputs = [ python3 ];
 
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
     install -D man/kmon.8 -t $out/share/man/man8/
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Linux Kernel Manager and Activity Monitor";
     homepage = "https://github.com/orhun/kmon";
     license = with licenses; [ gpl3 ];
diff --git a/nixpkgs/pkgs/tools/system/memtester/default.nix b/nixpkgs/pkgs/tools/system/memtester/default.nix
index 7b065c6cfa88..870d7e0dd1db 100644
--- a/nixpkgs/pkgs/tools/system/memtester/default.nix
+++ b/nixpkgs/pkgs/tools/system/memtester/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtester";
-  version = "4.3.0";
+  version = "4.5.0";
 
   preConfigure = ''
     echo "$CC" > conf-cc
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://pyropus.ca/software/memtester/old-versions/memtester-${version}.tar.gz";
-    sha256 = "127xymmyzb9r6dxqrwd69v7gf8csv8kv7fjvagbglf3wfgyy5pzr";
+    sha256 = "0dxfwayns3hjjplkxkpkm1409lmjlpi4chcrahcvdbnl0q6jpmcf";
   };
 
   installFlags = [ "INSTALLPATH=$(out)" ];
diff --git a/nixpkgs/pkgs/tools/system/minijail/default.nix b/nixpkgs/pkgs/tools/system/minijail/default.nix
index 2f5adc3f4c95..fac934f7bb25 100644
--- a/nixpkgs/pkgs/tools/system/minijail/default.nix
+++ b/nixpkgs/pkgs/tools/system/minijail/default.nix
@@ -11,12 +11,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "minijail";
-  version = "14";
+  version = "16";
 
   src = fetchFromGitiles {
     url = "https://android.googlesource.com/platform/external/minijail";
     rev = "linux-v${version}";
-    sha256 = "00dq854n4zg3ca2b46f90k15n32zn2sgabi76mnq2w985k9v977n";
+    sha256 = "0pxazds3w12c30msq6bxs4a9cbds0dkj6n3ca0i1wqvgz864yrgs";
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/tools/system/mlc/default.nix b/nixpkgs/pkgs/tools/system/mlc/default.nix
new file mode 100644
index 000000000000..d055c98e04cb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/mlc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, patchelf }:
+stdenv.mkDerivation rec {
+  pname = "mlc";
+  version = "3.9";
+
+  src = fetchurl {
+    url = "https://software.intel.com/content/dam/develop/external/us/en/protected/mlc_v${version}.tgz";
+    sha256 = "1x7abm9hbv9hkqa3cgxz6l04m3ycyl40i4zgx1w819pc10n6dhdb";
+  };
+
+  sourceRoot = "Linux";
+
+  installPhase = ''
+    install -Dm755 mlc $out/bin/mlc
+  '';
+
+  nativeBuildInputs = [ patchelf ];
+
+  fixupPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/mlc
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://software.intel.com/content/www/us/en/develop/articles/intelr-memory-latency-checker.html";
+    description = "Intel Memory Latency Checker";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ basvandijk ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/monit/default.nix b/nixpkgs/pkgs/tools/system/monit/default.nix
index 8be921b385e0..3349749d62e8 100644
--- a/nixpkgs/pkgs/tools/system/monit/default.nix
+++ b/nixpkgs/pkgs/tools/system/monit/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "monit-5.27.0";
+  name = "monit-5.27.1";
 
   src = fetchurl {
     url = "${meta.homepage}dist/${name}.tar.gz";
-    sha256 = "197w59wkg6izlj6p7xbx0n6ksvm6pym9pzh24nakl6agcbpxxh6q";
+    sha256 = "0lgdhif6x11fcpli0qn138rpdvrfnwmkzsy4lc9pas45c78hhx7m";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index f1bb1f9d62d0..3c1fe75b581d 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -15,14 +15,14 @@ with stdenv.lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.25.0";
+  version = "1.28.0";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "0wsgs0slqmj9q5prwlx7d4692lc4c42g0sv35r33vlxnfdwimfh5";
+    sha256 = "1266jbfw55r1zh00xi6c90j2fs9hw8hmsb7686rh04l8mffny9f4";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
index e2392df495f0..3b97747f8793 100644
--- a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "netdata-go.d.plugin";
-  version = "0.20.0";
+  version = "0.26.2";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "go.d.plugin";
     rev = "v${version}";
-    sha256 = "0wd1wg56q955jm5ksq2zqzlms1nlxx7n7vv43l096k1578fv93jv";
+    sha256 = "1jy5pc1ihyrg6sqyw0d48bsqa7kr7kqz10k3845g958vgfmfig59";
   };
 
-  vendorSha256 = "1k84l97fw4s9jdwbka4p168m7l7wil0c4cpijis8ypj3g1xfrw90";
+  vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/system/nvtop/default.nix b/nixpkgs/pkgs/tools/system/nvtop/default.nix
index 59636fb5dc80..1b826e6fab4f 100644
--- a/nixpkgs/pkgs/tools/system/nvtop/default.nix
+++ b/nixpkgs/pkgs/tools/system/nvtop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvtop";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "Syllo";
     repo = "nvtop";
     rev = version;
-    sha256 = "1b6yz54xddip1r0k8cbqg41dpyhds18fj29bj3yf40xvysklb0f4";
+    sha256 = "1h24ppdz7l6l0znwbgir49f7r1fshzjavc6i5j33c6bvr318dpqb";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
index a5013a688855..34295c90ae43 100644
--- a/nixpkgs/pkgs/tools/system/opencl-info/default.nix
+++ b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
@@ -10,6 +10,14 @@ stdenv.mkDerivation {
     sha256 = "114lxgnjg40ivjjszkv4n3f3yq2lbrvywryvbazf20kqmdz7315l";
   };
 
+  patches = [
+    # The cl.hpp header was removed from opencl-clhpp. This patch
+    # updates opencl-info to use the new cp2.hpp header.
+    #
+    # Submitted upstream: https://github.com/marchv/opencl-info/pull/2
+    ./opencl-info-clhpp2.diff
+  ];
+
   buildInputs = [ opencl-clhpp ocl-icd ];
 
   NIX_LDFLAGS = "-lOpenCL";
diff --git a/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff b/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff
new file mode 100644
index 000000000000..013222beebf7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff
@@ -0,0 +1,22 @@
+diff --git a/opencl-info.cpp b/opencl-info.cpp
+index a23015d..a6de0c1 100644
+--- a/opencl-info.cpp
++++ b/opencl-info.cpp
+@@ -7,7 +7,7 @@
+ #if defined(__APPLE__) || defined(__MACOSX)
+ #  include <OpenCL/cl.hpp>
+ #else
+-#  include <CL/cl.hpp>
++#  include <CL/cl2.hpp>
+ #endif
+ 
+ #include <iostream>
+@@ -130,7 +130,7 @@ int main() {
+                 PconstEnd;
+                 P(device, CL_DEVICE_LOCAL_MEM_SIZE);
+                 Pbool(device, CL_DEVICE_ERROR_CORRECTION_SUPPORT);
+-                Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY);
++                // Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY); /* Deprecated in 2.0 */
+                 P(device, CL_DEVICE_PROFILING_TIMER_RESOLUTION);
+                 Pbool(device, CL_DEVICE_ENDIAN_LITTLE);
+                 Pbool(device, CL_DEVICE_AVAILABLE);
diff --git a/nixpkgs/pkgs/tools/system/pciutils/default.nix b/nixpkgs/pkgs/tools/system/pciutils/default.nix
index cf6616417ed0..c062e1f3bd08 100644
--- a/nixpkgs/pkgs/tools/system/pciutils/default.nix
+++ b/nixpkgs/pkgs/tools/system/pciutils/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, zlib, kmod, which
-, static ? stdenv.targetPlatform.isStatic
+, static ? stdenv.hostPlatform.isStatic
 , darwin ? null
 }:
 
diff --git a/nixpkgs/pkgs/tools/system/pcstat/default.nix b/nixpkgs/pkgs/tools/system/pcstat/default.nix
index 5febbcb6ef66..436fa5cae6fc 100644
--- a/nixpkgs/pkgs/tools/system/pcstat/default.nix
+++ b/nixpkgs/pkgs/tools/system/pcstat/default.nix
@@ -16,7 +16,7 @@ buildGoPackage {
   goDeps = ./deps.nix;
 
   meta = with stdenv.lib; {
-    description = "Page Cache stat: get page cache stats for files on Linux.";
+    description = "Page Cache stat: get page cache stats for files on Linux";
     homepage = "https://github.com/tobert/pcstat";
     license = licenses.asl20;
     maintainers = with maintainers; [ aminechikhaoui ];
diff --git a/nixpkgs/pkgs/tools/system/rocm-smi/default.nix b/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
index 69f523773107..cd4eef89520b 100644
--- a/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
+++ b/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "rocm-smi";
-  version = "3.8.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROC-smi";
     rev = "rocm-${version}";
-    sha256 = "00g9cbni73x9da05lx7hiffp303mdkj1wpxiavfylr4q4z84yhrz";
+    hash = "sha256-0QqaBMkqRVEl89x3hvWQGAgt7LbtMZPhuf7KenQYHaQ=";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix b/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
index 92c13527c6fe..5078adbf3b7b 100644
--- a/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
+++ b/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, utillinux, gawk, makeWrapper
+{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, util-linux, gawk, makeWrapper, jq
 }:
 
 stdenv.mkDerivation rec {
   pname = "rofi-systemd";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "IvanMalison";
     repo = "rofi-systemd";
     rev = "v${version}";
-    sha256 = "1dbygq3qaj1f73hh3njdnmibq7vi6zbyzdc6c0j989c0r1ksv0zi";
+    sha256 = "0lgffb6rk1kf91j4j303lzpx8w2g9zy2gk99p8g8pk62a30c5asm";
   };
 
   buildInputs = [ makeWrapper ];
@@ -22,11 +22,12 @@ stdenv.mkDerivation rec {
   '';
 
   wrapperPath = with stdenv.lib; makeBinPath [
-    rofi
     coreutils
-    utillinux
     gawk
+    jq
+    rofi
     systemd
+    util-linux
   ];
 
   fixupPhase = ''
diff --git a/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
index 4ddc7fbecc01..328dd3242d84 100644
--- a/nixpkgs/pkgs/tools/system/s6-rc/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-rc";
-  version = "0.5.1.2";
-  sha256 = "18m8jsx3bkj566p6xwwnsvdckk10n8wqnhp0na2k88i295h4rnjp";
+  version = "0.5.2.0";
+  sha256 = "1qpygkajalaziszhwfv5rr6hc27q05z8dayyv7im06z6vndimchs";
 
   description = "A service manager for s6-based systems";
   platforms = stdenv.lib.platforms.linux;
diff --git a/nixpkgs/pkgs/tools/system/s6/default.nix b/nixpkgs/pkgs/tools/system/s6/default.nix
index 3ce97a9d97bd..a0419c2d2ad4 100644
--- a/nixpkgs/pkgs/tools/system/s6/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6";
-  version = "2.9.1.0";
-  sha256 = "1xqzl2wnvcmcyhppk7mc10h1ac7fkik3i6gpyliwpf3d5i9mkqh5";
+  version = "2.9.2.0";
+  sha256 = "1pfxx50shncg2s47ic4kp02jh1cxfjq75j3mnxjagyzzz0mbfg9n";
 
   description = "skarnet.org's small & secure supervision software suite";
 
diff --git a/nixpkgs/pkgs/tools/system/safe-rm/default.nix b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
index a9fc44e8b40d..c188f066d180 100644
--- a/nixpkgs/pkgs/tools/system/safe-rm/default.nix
+++ b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.12";
 
   src = fetchgit {
-    url = "https://gitorious.org/safe-rm/mainline.git";
+    url = "https://git.launchpad.net/safe-rm";
     rev = "refs/tags/${pname}-${version}";
     sha256 = "0zkmwxyl1870ar6jr9h537vmqgkckqs9jd1yv6m4qqzdsmg5gdbq";
   };
diff --git a/nixpkgs/pkgs/tools/system/snooze/default.nix b/nixpkgs/pkgs/tools/system/snooze/default.nix
new file mode 100644
index 000000000000..fb1ceaf897b8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/snooze/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub }:
+stdenv.mkDerivation rec {
+  pname = "snooze";
+  version = "0.4";
+  src = fetchFromGitHub {
+    owner = "leahneukirchen";
+    repo = "snooze";
+    rev = "v${version}";
+    sha256 = "0a114brvvjf6vl7grviv0gd6gmikr447m8kq1wilp4yj51sfyxa9";
+  };
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
+
+  meta = with stdenv.lib; {
+    description = "Tool for waiting until a particular time and then running a command";
+    maintainers = with maintainers; [ kaction ];
+    license = licenses.cc0;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix b/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
index 3f23624071f4..d10cbb197c50 100644
--- a/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "SystemdJournal2Gelf-unstable";
-  version = "20190702";
+  version = "20200813";
 
   src = fetchFromGitHub {
-    rev = "b1aa5ff31307d11a3c9b4dd08c3cd6230d935ec5";
+    rev = "d389dc8583b752cbd37c389a55a6c82200e47394";
     owner = "parse-nl";
     repo = "SystemdJournal2Gelf";
-    sha256 = "13jyh34wprjixinmh6l7wj7lr1f6qy6nrjcf8l29a74mczbphnvv";
+    sha256 = "0p38r5kdfcn6n2d44dygrs5xgv51s5qlsfhzzwn16r3n6x91s62b";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/tools/system/testdisk/default.nix b/nixpkgs/pkgs/tools/system/testdisk/default.nix
index 223d1102e0d4..bbece24bf655 100644
--- a/nixpkgs/pkgs/tools/system/testdisk/default.nix
+++ b/nixpkgs/pkgs/tools/system/testdisk/default.nix
@@ -46,7 +46,7 @@ assert enableQt -> qwt != null;
   meta = with stdenv.lib; {
     homepage = "https://www.cgsecurity.org/wiki/Main_Page";
     downloadPage = "https://www.cgsecurity.org/wiki/TestDisk_Download";
-    description = "Testdisk / Photorec - Data recovery utilities";
+    description = "Data recovery utilities";
     longDescription = ''
       TestDisk is a powerful free data recovery software. It was primarily
       designed to help recover lost partitions and/or make non-booting disks
diff --git a/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index ae9e29b6f1dc..4c076db7b8c0 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "2.3";
+  version = "2.4.1";
 
   outputs = [ "out" "devdoc" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "0cisaca2c2z1x9xvxc4lr6nl6yqx5bww6brh73m0p1n643jgq1dl";
+    sha256 = "0rlac7v1b59m7gh767hkd8a0r4p001nd24786fnmryygbxynd2s6";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
index 4edcfb63fe56..bf594b6b9cd1 100644
--- a/nixpkgs/pkgs/tools/system/thinkfan/default.nix
+++ b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
-  version = "1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "vmatare";
     repo = "thinkfan";
     rev = version;
-    sha256 = "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5";
+    sha256 = "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz";
   };
 
   cmakeFlags = [
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     install -Dm755 {.,$out/bin}/thinkfan
 
     cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
-    install -Dm644 {.,$out/share/doc/thinkfan}/README
+    install -Dm644 {.,$out/share/doc/thinkfan}/README.md
     cp -R examples $out/share/doc/thinkfan
     install -Dm644 {src,$out/share/man/man1}/thinkfan.1
 
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A minimalist fan control program. Originally designed
+    description  = "A minimalist fan control program";
+    longDescription = "A minimalist fan control program. Originally designed
 specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
 the sysfs hwmon interface (/sys/class/hwmon).";
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/system/throttled/default.nix b/nixpkgs/pkgs/tools/system/throttled/default.nix
index 71bb6dfb357d..b19e4c471c00 100644
--- a/nixpkgs/pkgs/tools/system/throttled/default.nix
+++ b/nixpkgs/pkgs/tools/system/throttled/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "throttled";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromGitHub {
     owner = "erpalma";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1y1sczvj2qc8ml9i1rdzr8hklvci9bdphm3mmri2ncaqys8wdbh4";
+    sha256 = "0qw124gdgjqij3xhgg8j1mdsg6j0xg340as5qf8hd3gwc38sqi9x";
   };
 
   nativeBuildInputs = [ python3Packages.wrapPython ];
diff --git a/nixpkgs/pkgs/tools/system/tre-command/default.nix b/nixpkgs/pkgs/tools/system/tre-command/default.nix
index d0f814147414..c3241a04587b 100644
--- a/nixpkgs/pkgs/tools/system/tre-command/default.nix
+++ b/nixpkgs/pkgs/tools/system/tre-command/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tre-command";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "dduan";
     repo = "tre";
     rev = "v${version}";
-    sha256 = "1kb8jwmjhlp9bk08rb6gq3j810cv9bidm28sa417vyykp9a8p2ky";
+    sha256 = "10c8mpqzpw7m3vrm2vl2rx678z3c37hxpqyh3fn83dlh9f4f0j87";
   };
 
-  cargoSha256 = "0cqkpvq8b2vnqpkd819cdgh4fqr9yns337fgzah4m40ygs25n9iv";
+  cargoSha256 = "0jd6cfs2zi2n34kirpsy12l76whaqwm1pkqa57w1ms5z658z07wj";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/system/tuptime/default.nix b/nixpkgs/pkgs/tools/system/tuptime/default.nix
index abfc8ae5ac87..213a79fe2700 100644
--- a/nixpkgs/pkgs/tools/system/tuptime/default.nix
+++ b/nixpkgs/pkgs/tools/system/tuptime/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tuptime";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "rfrail3";
     repo = "tuptime";
     rev = version;
-    sha256 = "0izps85p8pxidfrzp7l4hp221fx3dcgapapsix1zavq6jrsl2qyh";
+    sha256 = "0nk3yyjavgmc435vj3f0siw4y5nwipsbcsvsf5m7mgvq0xi8f3ls";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Total uptime & downtime statistics utility";
     homepage = "https://github.com/rfrail3/tuptime";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.evils ];
   };
diff --git a/nixpkgs/pkgs/tools/system/uefitool/variants.nix b/nixpkgs/pkgs/tools/system/uefitool/variants.nix
index 470c8a0ca4d5..0e8d7285aab6 100644
--- a/nixpkgs/pkgs/tools/system/uefitool/variants.nix
+++ b/nixpkgs/pkgs/tools/system/uefitool/variants.nix
@@ -3,8 +3,8 @@ let
   common = opts: libsForQt5.callPackage (import ./common.nix opts) {};
 in rec {
   new-engine = common rec {
-    version = "A57";
-    sha256 = "0algfdlxfjs582hsqmagbcmw06p8qlh0k5xczfkscs3prdn2vm7n";
+    version = "A58";
+    sha256 = "131hkyr07fg7rnr938yyj0gk528x3402dhisav221c27v84zb7pn";
     installFiles = [ "UEFITool/UEFITool" "UEFIFind/UEFIFind" "UEFIExtract/UEFIExtract" ];
   };
   old-engine = common rec {
diff --git a/nixpkgs/pkgs/tools/system/ytop/default.nix b/nixpkgs/pkgs/tools/system/ytop/default.nix
deleted file mode 100644
index 64c3bf93aaa3..000000000000
--- a/nixpkgs/pkgs/tools/system/ytop/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, rustPlatform, fetchFromGitHub, IOKit }:
-
-assert stdenv.isDarwin -> IOKit != null;
-
-rustPlatform.buildRustPackage rec {
-  pname = "ytop";
-  version = "0.6.2";
-
-  src = fetchFromGitHub {
-    owner = "cjbassi";
-    repo = pname;
-    rev = version;
-    sha256 = "02cpn5257yrmbakx3mlqs97kfambbn9ljb60jbqr1b9w24kd6zgf";
-  };
-
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
-
-  cargoSha256 = "0alqzy9gbj9m4l7xj1jsrnl09pv6z7c73gq787cqwn0gj93aaj19";
-
-  meta = with stdenv.lib; {
-    description = "A TUI system monitor written in Rust";
-    homepage = "https://github.com/cjbassi/ytop";
-    license = licenses.mit;
-    maintainers = with maintainers; [ sikmir ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/system/zenith/default.nix b/nixpkgs/pkgs/tools/system/zenith/default.nix
index 084dd044feba..35498c4cb563 100644
--- a/nixpkgs/pkgs/tools/system/zenith/default.nix
+++ b/nixpkgs/pkgs/tools/system/zenith/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zenith";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "bvaisvil";
     repo = pname;
     rev = version;
-    sha256 = "0jz0pjibjiyg0rjmpihxxjhg9cbccvqfr5si5rji585l0zrpdwsg";
+    sha256 = "1cxmgpq07q6vfasnkx3grpx1y0f0dg6irb9kdn17nwrypy44l92d";
   };
 
-  cargoSha256 = "1zkx6sr5xlj7pb91bxvqjib5awscy1rmv4g89xb76dahac8fan6z";
+  cargoSha256 = "1kgjj11fwvlk700yp9046b3kiq9ay47fiwqpqfhmlbxw3lsh8qvq";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
diff --git a/nixpkgs/pkgs/tools/text/amber/default.nix b/nixpkgs/pkgs/tools/text/amber/default.nix
index 22a18b1cffb2..205efc414d59 100644
--- a/nixpkgs/pkgs/tools/text/amber/default.nix
+++ b/nixpkgs/pkgs/tools/text/amber/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amber";
-  version = "0.5.4";
+  version = "0.5.8";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pqz3spb5lmrj7w8hynmah9nrcfjsb1s0bmrr0cng9a9jx8amwzn";
+    sha256 = "0j9h9zzg6n4mhq2bqj71k5db595ilbgd9dn6ygmzsm74619q4454";
   };
 
-  cargoSha256 = "1ps70swh96xbfn4hng5krlmwvw2bwrl2liqvx9v9vy6pr86643s6";
+  cargoSha256 = "0h47xqqq8f8m28rl1s6r305cf3dvk94aa86j6m0rk535i2jqfvhp";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/text/angle-grinder/default.nix b/nixpkgs/pkgs/tools/text/angle-grinder/default.nix
new file mode 100644
index 000000000000..a8702553c4b3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/angle-grinder/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "angle-grinder";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "rcoh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1m5yj9412kjlnqi1nwh44i627ip0kqcbhvwgh87gl5vgd2a0m091";
+  };
+
+  cargoSha256 = "0y4c1gja0i3h2whjpm74yf3z1y85pkwmpmrl2fjsyy0mn493hzv8";
+
+  meta = with stdenv.lib; {
+    description = "Slice and dice logs on the command line";
+    homepage = "https://github.com/rcoh/angle-grinder";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/ansifilter/default.nix b/nixpkgs/pkgs/tools/text/ansifilter/default.nix
index 00c8c075ed67..8d79317ce344 100644
--- a/nixpkgs/pkgs/tools/text/ansifilter/default.nix
+++ b/nixpkgs/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ansifilter";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "1wmszcykhaipxa7kxj4ml0lkmd5z7i9ryaachg9jpkhbaaijzkbz";
+    sha256 = "0by4rhy30l7jgxvq6mwf8p43s1472q96l3g7n2skq2lnkjrvx1ar";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/text/asciigraph/default.nix b/nixpkgs/pkgs/tools/text/asciigraph/default.nix
new file mode 100644
index 000000000000..79d8c9079c79
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/asciigraph/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "asciigraph";
+  version = "0.5.1";
+
+  goPackagePath = "github.com/guptarohit/asciigraph";
+
+  src = fetchFromGitHub {
+    owner = "guptarohit";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0aqf64b5d5lf9scvxdx5f3p0vvx5s59mrvr6hcjljg1prksah9ns";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/guptarohit/asciigraph";
+    description = "Lightweight ASCII line graph ╭┈╯ command line app";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.mmahut ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/chars/default.nix b/nixpkgs/pkgs/tools/text/chars/default.nix
new file mode 100644
index 000000000000..fa58d110550e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/chars/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "chars";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "antifuchs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1pyda3b6svxzc98d7ggl7v9xd0xhilmpjrnajzh77zcwzq42s17l";
+  };
+
+  cargoSha256 = "1ampmw0l2wk2xp4q13aj5shxncqfh4dc3rsmpk2scaivanrsikn5";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    description = "Commandline tool to display information about unicode characters";
+    homepage = "https://github.com/antifuchs/chars";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/chroma/default.nix b/nixpkgs/pkgs/tools/text/chroma/default.nix
index 438681e1728f..390793ffaf1c 100644
--- a/nixpkgs/pkgs/tools/text/chroma/default.nix
+++ b/nixpkgs/pkgs/tools/text/chroma/default.nix
@@ -1,16 +1,32 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, git }:
 
 buildGoModule rec {
   pname = "chroma";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner  = "alecthomas";
-    repo   = "chroma";
+    repo   = pname;
     rev    = "v${version}";
-    sha256 = "1gwwfn26aipzzvyy466gi6r54ypfy3ylnbi8c4xwch9pkgw16w98";
+    sha256 = "0vzxd0jvjaakwjvkkkjppakjb00z44k7gb5ng1i4924agh24n5ka";
+    leaveDotGit = true;
+    fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [ git ];
+
+  # populate values otherwise taken care of by goreleaser
+  # https://github.com/alecthomas/chroma/issues/435
+  postPatch = ''
+    commit="$(git rev-parse HEAD)"
+    date=$(git show -s --format=%aI "$commit")
+
+    substituteInPlace cmd/chroma/main.go \
+      --replace 'version = "?"' 'version = "${version}"' \
+      --replace 'commit  = "?"' "commit = \"$commit\"" \
+      --replace 'date    = "?"' "date = \"$date\""
+  '';
+
   vendorSha256 = "16cnc4scgkx8jan81ymha2q1kidm6hzsnip5mmgbxpqcc2h7hv9m";
 
   subPackages = [ "cmd/chroma" ];
diff --git a/nixpkgs/pkgs/tools/text/csvkit/default.nix b/nixpkgs/pkgs/tools/text/csvkit/default.nix
index 9e02265e2dc0..05e0cf119bf1 100644
--- a/nixpkgs/pkgs/tools/text/csvkit/default.nix
+++ b/nixpkgs/pkgs/tools/text/csvkit/default.nix
@@ -23,6 +23,7 @@ python3.pkgs.buildPythonApplication rec {
     agate-dbf
     agate-sql
     six
+    setuptools  # `csvsql` requires pkg_resources https://github.com/NixOS/nixpkgs/issues/93594
   ];
 
   checkInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/text/dos2unix/default.nix b/nixpkgs/pkgs/tools/text/dos2unix/default.nix
index b7efe02f4cdb..b85d33d887aa 100644
--- a/nixpkgs/pkgs/tools/text/dos2unix/default.nix
+++ b/nixpkgs/pkgs/tools/text/dos2unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dos2unix";
-  version = "7.4.1";
+  version = "7.4.2";
 
   src = fetchurl {
     url = "https://waterlan.home.xs4all.nl/dos2unix/${pname}-${version}.tar.gz";
-    sha256 = "08w6yywzirsxq8bh87jycvvw922ybhc2l426j2iqzliyn1h8mm8w";
+    sha256 = "00dfsf4rfyjb5j12gan8xjiirm0asshdz6dmd3l34a7ays6wadb0";
   };
 
   nativeBuildInputs = [ perl gettext ];
diff --git a/nixpkgs/pkgs/tools/text/fastmod/default.nix b/nixpkgs/pkgs/tools/text/fastmod/default.nix
index d15683894a2f..023cc58f4a6b 100644
--- a/nixpkgs/pkgs/tools/text/fastmod/default.nix
+++ b/nixpkgs/pkgs/tools/text/fastmod/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fastmod";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0089a17h0wgan3fs6x1la35lzjs1pib7p81wqkh3zcwvx8ffa8z8";
+    sha256 = "0nrh6h5imbpl7i0sqqm16x9ggazww5739vng1ay1v6sgbbs0a095";
   };
 
-  cargoSha256 = "02nkxjwfiljndmi0pv98chfsw9vmjzgmp5r14mchpayp4943qk9m";
+  cargoSha256 = "18bspi59vfnqijxgipmv2h6h5iy7qynpk1ph46yhjsnndjlxxcba";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/text/gnugrep/default.nix b/nixpkgs/pkgs/tools/text/gnugrep/default.nix
index f7e3cd42a9b2..08b588691e50 100644
--- a/nixpkgs/pkgs/tools/text/gnugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/gnugrep/default.nix
@@ -5,7 +5,7 @@
 # cgit) that are needed here should be included directly in Nixpkgs as
 # files.
 
-let version = "3.4"; in
+let version = "3.6"; in
 
 stdenv.mkDerivation {
   pname = "gnugrep";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnu/grep/grep-${version}.tar.xz";
-    sha256 = "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq";
+    sha256 = "0gipv6bzkm1aihj0ncqpyh164xrzgcxcv9r1kwzyk2g1mzl1azk6";
   };
 
   # Perl is needed for testing
diff --git a/nixpkgs/pkgs/tools/text/groff/default.nix b/nixpkgs/pkgs/tools/text/groff/default.nix
index 8c98a4aba465..73c8ed683423 100644
--- a/nixpkgs/pkgs/tools/text/groff/default.nix
+++ b/nixpkgs/pkgs/tools/text/groff/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
     "--with-gs=${ghostscript}/bin/gs"
   ] ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "ac_cv_path_PERL=${buildPackages.perl}/bin/perl"
+    "gl_cv_func_signbit=yes"
   ];
 
   makeFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
@@ -82,10 +83,6 @@ stdenv.mkDerivation rec {
     moveToOutput bin/afmtodit $perl
     moveToOutput bin/gperl $perl
     moveToOutput bin/chem $perl
-    moveToOutput share/groff/${version}/font/devpdf $perl
-
-    # idk if this is needed, but Fedora does it
-    moveToOutput share/groff/${version}/tmac/pdf.tmac $perl
 
     moveToOutput bin/gpinyin $perl
     moveToOutput lib/groff/gpinyin $perl
diff --git a/nixpkgs/pkgs/tools/text/groff/site.tmac b/nixpkgs/pkgs/tools/text/groff/site.tmac
index 8ef1040ca4a0..776a7abb1da7 100644
--- a/nixpkgs/pkgs/tools/text/groff/site.tmac
+++ b/nixpkgs/pkgs/tools/text/groff/site.tmac
@@ -14,3 +14,6 @@
 .  if '\V[GROFF_SGR]'' \
 .    output x X tty: sgr 0
 .\}
+.
+.ds doc-default-operating-system Nixpkgs
+.ds doc-volume-operating-system Nixpkgs
diff --git a/nixpkgs/pkgs/tools/text/gtranslator/default.nix b/nixpkgs/pkgs/tools/text/gtranslator/default.nix
index 5f217e69ea56..f091d867503b 100644
--- a/nixpkgs/pkgs/tools/text/gtranslator/default.nix
+++ b/nixpkgs/pkgs/tools/text/gtranslator/default.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtranslator";
-  version = "3.36.0";
+  version = "3.38.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1lxd2nkji4jk8g2xmyc1a1r3ww710ddk91zh9psmx8xlb4xivaid";
+    sha256 = "282puBoi2SM74Y6Z/VxEj2qwV1nR6UwQWAu4McotdjU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/highlight/default.nix b/nixpkgs/pkgs/tools/text/highlight/default.nix
index a918770aa7b9..e4e80e694fe1 100644
--- a/nixpkgs/pkgs/tools/text/highlight/default.nix
+++ b/nixpkgs/pkgs/tools/text/highlight/default.nix
@@ -5,13 +5,13 @@ with stdenv.lib;
 let
   self = stdenv.mkDerivation rec {
     pname = "highlight";
-    version = "3.57";
+    version = "3.59";
 
     src = fetchFromGitLab {
       owner = "saalen";
       repo = "highlight";
       rev = "v${version}";
-      sha256 = "1xrk7c7akjiwh3wh9bll0qh4g0kqvbzjz9ancpadnk0k7bqi0kxf";
+      sha256 = "0sqdzivnak3gcinvkf6rkgp1p5gjx5my6cb2790nh0v53y67v2pb";
     };
 
     enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/text/jsawk/default.nix b/nixpkgs/pkgs/tools/text/jsawk/default.nix
index 4f2ad403e365..a9b9e7884021 100644
--- a/nixpkgs/pkgs/tools/text/jsawk/default.nix
+++ b/nixpkgs/pkgs/tools/text/jsawk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, spidermonkey }:
+{ stdenv, fetchFromGitHub, makeWrapper, spidermonkey_38 }:
 
 stdenv.mkDerivation {
   pname = "jsawk";
@@ -15,11 +15,11 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cp $src/jsawk $out/bin/
     wrapProgram $out/bin/jsawk \
-      --prefix PATH : "${spidermonkey}/bin"
+      --prefix PATH : "${spidermonkey_38}/bin"
   '';
 
   meta = {
-    description = "Jsawk is like awk, but for JSON";
+    description = "Like awk, but for JSON";
     homepage = "https://github.com/micha/jsawk";
     license = stdenv.lib.licenses.publicDomain;
     maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
diff --git a/nixpkgs/pkgs/tools/text/kdiff3/default.nix b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
index 9921862b798e..862faadea3f1 100644
--- a/nixpkgs/pkgs/tools/text/kdiff3/default.nix
+++ b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
@@ -18,7 +18,7 @@ mkDerivation rec {
   propagatedBuildInputs = [ kconfig kcrash kinit kparts kiconthemes ];
 
   meta = with lib; {
-    homepage = "http://kdiff3.sourceforge.net/";
+    homepage = "https://invent.kde.org/sdk/kdiff3";
     license = licenses.gpl2Plus;
     description = "Compares and merges 2 or 3 files or directories";
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/nixpkgs/pkgs/tools/text/languagetool/default.nix b/nixpkgs/pkgs/tools/text/languagetool/default.nix
index 0dd01d382ed0..30029d2d4e97 100644
--- a/nixpkgs/pkgs/tools/text/languagetool/default.nix
+++ b/nixpkgs/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "5.0";
+  version = "5.1";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "1jyd4z62ldwhqx9r7v4b9k4pl300wr4b7ggj4f0yjf0gpwg7l9p7";
+    sha256 = "07a2cxsa04lzifphlf5mv88xpnixalmryd0blawblxsmdyhmvg3y";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [
       edwtjo
     ];
+    platforms = jre.meta.platforms;
     description = "A proofreading program for English, French German, Polish, and more";
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix b/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix
new file mode 100644
index 000000000000..8a521b751d4d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, makeWrapper, perlPackages, beancount }:
+
+with stdenv.lib;
+
+let
+  perlDeps = with perlPackages; [
+    ConfigOnion DateCalc
+    FileBaseDir YAMLLibYAML
+    GetoptLongDescriptive DateTimeFormatStrptime
+    StringInterpolate
+  ];
+
+in stdenv.mkDerivation rec {
+  pname = "ledger2beancount";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "zacchiro";
+    repo = "ledger2beancount";
+    rev = version;
+    sha256 = "0w88jb1x0w02jwwf6ipx3cxr89kzffrrdqws3556zrvvs01bh84j";
+  };
+
+  phases = [
+    "unpackPhase"
+    "installPhase"
+    "fixupPhase"
+  ];
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perlPackages.perl beancount ] ++ perlDeps;
+
+  makeFlags = [ "prefix=$(out)" ];
+  installFlags = [ "INSTALL=install" ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r $src/bin $out/bin
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/ledger2beancount" \
+      --set PERL5LIB "${perlPackages.makeFullPerlPath perlDeps}"
+  '';
+
+  meta = {
+    description = "Ledger to Beancount text-based converter";
+    longDescription = ''
+      A script to automatically convert Ledger-based textual ledgers to Beancount ones.
+
+      Conversion is based on (concrete) syntax, so that information that is not meaningful for accounting reasons but still valuable (e.g., comments, formatting, etc.) can be preserved.
+    '';
+    homepage = "https://github.com/zacchiro/ledger2beancount";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pablovsky ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index 9cfdc9c9b7e7..8e0350177425 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0rkl5k7a9a0vx06jqvbgki2bwag0ar2pcbg3qi88xnjnnmphzpzj";
+    sha256 = "0nqr5a27i91m71fhpycf60q54qplc920y1fmk9hav3pbb9wcc5dl";
   };
 
-  cargoSha256 = "1zhlb6wnjnayq833h62nm3ndlhiz1qajw8w5ccc88b8q8m4ipd7c";
+  cargoSha256 = "1p72iwl9ca7a92nf6wyjjbn0qns0xxb4xrbz2r2nmd83cxs0fplg";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdcat/default.nix b/nixpkgs/pkgs/tools/text/mdcat/default.nix
index 277c7417ce96..c89d1526257f 100644
--- a/nixpkgs/pkgs/tools/text/mdcat/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdcat/default.nix
@@ -1,32 +1,47 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security, ansi2html }:
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkgconfig
+, asciidoctor
+, openssl
+, Security
+, ansi2html
+, installShellFiles
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.21.1";
+  version = "0.22.1";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "mdcat-${version}";
-    hash = "sha256-O7LlbSkxcyHQiTHYB/QBJVlShzTSzud3VJDIQ1ScvM4=";
+    hash = "sha256-4sM1xT/JQ+yM5tZkGwK7r0gUT5so9o1MnDJ7apZkRd4=";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig asciidoctor installShellFiles ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-pvhYKyFraMI4w5nq6L8qs/ONSNDTHElhZnZmD5mmAZs=";
+  cargoSha256 = "sha256-LoNm2/6/FgTKp95ETODY39D8Ou+9X+IXIy625YW9AFI=";
 
   checkInputs = [ ansi2html ];
-  checkPhase = ''
-    # Skip tests that use the network and that include files.
-    cargo test -- \
-      --skip magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length \
-      --skip magic::tests::detect_mimetype_of_magic_param_bytes_max_length \
-      --skip magic::tests::detect_mimetype_of_png_image \
-      --skip magic::tests::detect_mimetype_of_svg_image \
-      --skip resources::tests::read_url_with_http_url_fails_when_status_404 \
-      --skip resources::tests::read_url_with_http_url_returns_content_when_status_200 \
-      --skip iterm2_tests_render_md_samples_images_md
+  # Skip tests that use the network and that include files.
+  checkFlags = [
+    "--skip magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length"
+    "--skip magic::tests::detect_mimetype_of_magic_param_bytes_max_length"
+    "--skip magic::tests::detect_mimetype_of_png_image"
+    "--skip magic::tests::detect_mimetype_of_svg_image"
+    "--skip resources::tests::read_url_with_http_url_fails_when_status_404"
+    "--skip resources::tests::read_url_with_http_url_returns_content_when_status_200"
+    "--skip iterm2_tests_render_md_samples_images_md"
+  ];
+
+  postInstall = ''
+    installManPage $releaseDir/build/mdcat-*/out/mdcat.1
+    installShellCompletion --bash $releaseDir/build/mdcat-*/out/completions/mdcat.bash
+    installShellCompletion --fish $releaseDir/build/mdcat-*/out/completions/mdcat.fish
+    installShellCompletion --zsh $releaseDir/build/mdcat-*/out/completions/_mdcat
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/text/miller/default.nix b/nixpkgs/pkgs/tools/text/miller/default.nix
index 28f2c54729b8..ca71c3a1b3d4 100644
--- a/nixpkgs/pkgs/tools/text/miller/default.nix
+++ b/nixpkgs/pkgs/tools/text/miller/default.nix
@@ -3,19 +3,19 @@
 stdenv.mkDerivation rec {
   pname = "miller";
 
-  version = "5.9.1";
+  version = "5.10.0";
 
   src = fetchFromGitHub {
     owner = "johnkerl";
     repo = "miller";
     rev = "v${version}";
-    sha256 = "1i9bcpfjnl2yjnfmf0ar1l62zwq01ph0yylz0dby8k2l7cvq5ci6";
+    sha256 = "02jqbxnchljyqnmlbxjaf5zpdi03gxapfy38dfikl5j4f7yyxvjs";
   };
 
   nativeBuildInputs = [ autoreconfHook flex libtool ];
 
   meta = with stdenv.lib; {
-    description = "Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON.";
+    description = "Like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON";
     homepage    = "http://johnkerl.org/miller/";
     license     = licenses.bsd2;
     maintainers = with maintainers; [ mstarzyk ];
diff --git a/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix b/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
index bfa22a4fd182..1e2b76c008e0 100644
--- a/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/tools/text/ocrmypdf/default.nix
@@ -29,14 +29,14 @@ let
 in
 buildPythonApplication rec {
   pname = "ocrmypdf";
-  version = "11.0.1";
+  version = "11.3.3";
   disabled = ! python3Packages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
     repo = "OCRmyPDF";
     rev = "v${version}";
-    sha256 = "194ds9i1zd80ynzwgv7kprax0crh7bbchayawdcvg2lyr64a82xn";
+    sha256 = "0qv34clid65p11dgqalyk7b7myn5ibiz8i9xxhxkmjblw297p6ak";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/text/pbgopy/default.nix b/nixpkgs/pkgs/tools/text/pbgopy/default.nix
new file mode 100644
index 000000000000..0982fbf28b5f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/pbgopy/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pbgopy";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "nakabonne";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0impgx9w9lk93b7p1vhjnbslr04655fn6csx7hj04kffzhyb3p1q";
+  };
+
+  vendorSha256 = "09hn92bi2rmixpsgckbi8f70widls40fwqqm7y7rqglyjqi7rdmw";
+
+  meta = with stdenv.lib; {
+    description = "Copy and paste between devices";
+    homepage = "https://github.com/nakabonne/pbgopy";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix b/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
index b53c5646e70f..e621d13f013d 100644
--- a/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
+++ b/nixpkgs/pkgs/tools/text/platinum-searcher/default.nix
@@ -18,7 +18,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/monochromegane/the_platinum_searcher";
-    description = "A code search tool similar to ack and the_silver_searcher(ag).";
+    description = "A code search tool similar to ack and the_silver_searcher(ag)";
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/poedit/default.nix b/nixpkgs/pkgs/tools/text/poedit/default.nix
index 05241033c6af..1c82d8d365e7 100644
--- a/nixpkgs/pkgs/tools/text/poedit/default.nix
+++ b/nixpkgs/pkgs/tools/text/poedit/default.nix
@@ -4,20 +4,20 @@
 
 stdenv.mkDerivation rec {
   pname = "poedit";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://github.com/vslavik/poedit/archive/v${version}-oss.tar.gz";
-    sha256 = "0pvd903j2x3h9wh38fhlcn23d0jkjlqnfbdpbvnbhy6al1ngx72w";
+    sha256 = "1kry3xphrdccx8znfm9pw5872c5w0ri7cknlad4qcps54b25nnzk";
   };
 
-  nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook 
+  nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook
     libxslt xmlto boost libtool pkgconfig ];
 
   buildInputs = [ lucenepp nlohmann_json wxGTK30 icu pugixml gtk2 gtkspell2 hicolor-icon-theme ];
 
   propagatedBuildInputs = [ gettext ];
-  
+
   preConfigure = "
     patchShebangs bootstrap
     ./bootstrap
@@ -29,11 +29,11 @@ stdenv.mkDerivation rec {
     "--with-boost-libdir=${boost.out}/lib"
     "CPPFLAGS=-I${nlohmann_json}/include/nlohmann/"
   ];
- 
+
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ gettext ]}")
   '';
- 
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.poedit.net/";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ domenkozar genesis ];
+    maintainers = with maintainers; [ domenkozar ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/recode/default.nix b/nixpkgs/pkgs/tools/text/recode/default.nix
index b6503f888483..e8dd5c8bbf77 100644
--- a/nixpkgs/pkgs/tools/text/recode/default.nix
+++ b/nixpkgs/pkgs/tools/text/recode/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "recode";
-  version = "3.7.7";
+  version = "3.7.8";
 
   # 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 = "1yrqgw74qrdmy82lxd1cxlfclrf2fqi0qp7afjmfc6b7f0xzcih9";
+    sha256 = "19yg20z1smj9kag1axgvc4s4kd6jmw75h0pa8xqxl3xqqyn5rdsg";
   };
 
   nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
diff --git a/nixpkgs/pkgs/tools/text/rgxg/default.nix b/nixpkgs/pkgs/tools/text/rgxg/default.nix
new file mode 100644
index 000000000000..bd291be7015b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/rgxg/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "rgxg";
+  version = "0.1.2";
+
+  src = fetchzip {
+    url = "https://github.com/rgxg/rgxg/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "050jxc3qhfrm9fdbzd67hlsqlp4qk1fa20q1g2v919sh7s6v77si";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A C library and a command-line tool to generate (extended) regular expressions";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ hloeffler ];
+    homepage = "https://rgxg.github.io/";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/ripgrep/default.nix b/nixpkgs/pkgs/tools/text/ripgrep/default.nix
index 7bd8a74f4587..c69c6fef8cbd 100644
--- a/nixpkgs/pkgs/tools/text/ripgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ripgrep/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, nixosTests
 , fetchFromGitHub
 , rustPlatform
 , asciidoctor
@@ -34,6 +35,8 @@ rustPlatform.buildRustPackage rec {
     installShellCompletion --zsh complete/_rg
   '';
 
+  passthru.tests = { inherit (nixosTests) ripgrep; };
+
   meta = with stdenv.lib; {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = "https://github.com/BurntSushi/ripgrep";
diff --git a/nixpkgs/pkgs/tools/text/rst2html5/default.nix b/nixpkgs/pkgs/tools/text/rst2html5/default.nix
index d20ce99dd74e..6f484bed8bcf 100644
--- a/nixpkgs/pkgs/tools/text/rst2html5/default.nix
+++ b/nixpkgs/pkgs/tools/text/rst2html5/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ lib, python3Packages }:
 
-pythonPackages.buildPythonPackage rec {
+let
   pname = "rst2html5";
-  version = "1.9.4";
+  version = "1.10.6";
+in python3Packages.buildPythonPackage {
+  inherit pname version;
+  format = "wheel";
 
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "d044589d30eeaf7336986078b7bd175510fd649a212b01a457d7806b279e6c73";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-jmToDFLQODqgTycBp2J8LyoJ1Zxho9w1VdhFMzvDFkg=";
   };
 
-  propagatedBuildInputs = with pythonPackages;
+  propagatedBuildInputs = with python3Packages;
   [ docutils genshi pygments beautifulsoup4 ];
 
-  meta = with stdenv.lib;{
-    homepage = "https://bitbucket.org/andre_felipe_dias/rst2html5";
+  meta = with lib;{
+    homepage = "https://pypi.org/project/rst2html5/";
     description = "Converts ReSTructuredText to (X)HTML5";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/nixpkgs/pkgs/tools/text/ruplacer/default.nix b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
index 7ebf739414a2..f4b3ed3dca4c 100644
--- a/nixpkgs/pkgs/tools/text/ruplacer/default.nix
+++ b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
@@ -19,6 +19,6 @@ rustPlatform.buildRustPackage rec {
     description = "Find and replace text in source files";
     homepage = "https://github.com/TankerHQ/ruplacer";
     license = [ licenses.bsd3 ];
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/sd/default.nix b/nixpkgs/pkgs/tools/text/sd/default.nix
index 1fa508b1ef60..66529514ec7b 100644
--- a/nixpkgs/pkgs/tools/text/sd/default.nix
+++ b/nixpkgs/pkgs/tools/text/sd/default.nix
@@ -20,6 +20,6 @@ rustPlatform.buildRustPackage rec {
     description = "Intuitive find & replace CLI (sed alternative)";
     homepage = "https://github.com/chmln/sd";
     license = licenses.mit;
-    maintainers = with maintainers; [ amar1729 filalex77 ];
+    maintainers = with maintainers; [ amar1729 Br1ght0ne ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/shfmt/default.nix b/nixpkgs/pkgs/tools/text/shfmt/default.nix
index ec58cbdd1a94..705999639053 100644
--- a/nixpkgs/pkgs/tools/text/shfmt/default.nix
+++ b/nixpkgs/pkgs/tools/text/shfmt/default.nix
@@ -1,29 +1,28 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, scdoc }:
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.1.2";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "03zgi0rlra3gz8cbqwmhpjxsg5048anfc6ccd2w50fjhx6farsnv";
+    sha256 = "1kp4ib0a64cc9qylny48ff5q9ciklzx93yhv7fgqhl1v2c7fm1jp";
   };
 
-  vendorSha256 = "1jq2x4yxshsy4ahp7nrry8dc9cyjj46mljs447rq57sgix4ndpq8";
+  vendorSha256 = "1ma7nvyn6ylbi8bd7x900i94pzs877kfy9xh0nf1bbify1vcpd29";
 
   subPackages = [ "cmd/shfmt" ];
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
-  patches = [
-    # fix failing test on go 1.15, remove with > 3.1.2
-    (fetchpatch {
-      url = "https://github.com/mvdan/sh/commit/88956f97dae1f268af6c030bf2ba60762ebb488a.patch";
-      sha256 = "1zg8i7kklr12zjkaxh8djd2bzkdx8klgfj271r2wivkc2x61shgv";
-    })
-  ];
+  nativeBuildInputs = [ installShellFiles scdoc ];
+
+  postBuild = ''
+    scdoc < cmd/shfmt/shfmt.1.scd > shfmt.1
+    installManPage shfmt.1
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/mvdan/sh";
diff --git a/nixpkgs/pkgs/tools/text/sift/default.nix b/nixpkgs/pkgs/tools/text/sift/default.nix
index 5a36de5f7202..dc025f17a78b 100644
--- a/nixpkgs/pkgs/tools/text/sift/default.nix
+++ b/nixpkgs/pkgs/tools/text/sift/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   meta = with lib; {
-    description = "sift is a fast and powerful alternative to grep";
+    description = "A fast and powerful alternative to grep";
     homepage = "https://sift-tool.org";
     maintainers = [ maintainers.carlsverre ];
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/text/snippetpixie/default.nix b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
index 5c6025b245e0..ed35a9109a07 100644
--- a/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
+++ b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snippetpixie";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "bytepixie";
     repo = pname;
     rev = version;
-    sha256 = "1db3fbawh4qwdqby5ji4g26pksi4q253r5zvd3kv1m2ljmwrrwj0";
+    sha256 = "1cb76kzw34yr1r135lyd75ddm9v99m7i3lyirm353cdch8qspfmv";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/ucg/default.nix b/nixpkgs/pkgs/tools/text/ucg/default.nix
new file mode 100644
index 000000000000..db8984536804
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/ucg/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, pkg-config
+, autoreconfHook
+, pcre
+, nixosTests
+}:
+
+let
+  pname = "ucg";
+  version = "20190225";
+in stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "gvansickle";
+    repo = pname;
+    rev = "c3a67632f1e3f332bfb102f0db167f34a2e42da7";
+    sha256 = "sha256-/wU1PmI4ejlv7gZzZNasgROYXFiDiIxE9BFoCo6+G5Y=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ pcre ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/gvansickle/ucg/";
+    description = "Grep-like tool for searching large bodies of source code";
+    longDescription = ''
+      UniversalCodeGrep (ucg) is an extremely fast grep-like tool specialized
+      for searching large bodies of source code. It is intended to be largely
+      command-line compatible with Ack, to some extent with ag, and where
+      appropriate with grep. Search patterns are specified as PCRE regexes.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+
+  passthru.tests = { inherit (nixosTests) ucg; };
+}
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index 6f44c360267f..84dc21aba3e9 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "2.5.5";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ba9h0m9c28rllym1djij3b97k4rj06nsgajmbxg5mpxfzplgxy2";
+    sha256 = "08pq759f2vvdbig64y3k9kicvgr2d5x8ara7b182dcm3slbpib3l";
   };
 
   buildInputs = [ boost bzip2 lz4 pcre2 xz zlib ];
diff --git a/nixpkgs/pkgs/tools/text/uwc/default.nix b/nixpkgs/pkgs/tools/text/uwc/default.nix
new file mode 100644
index 000000000000..cf8e5658f764
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/uwc/default.nix
@@ -0,0 +1,24 @@
+{ rustPlatform, lib, fetchFromGitLab }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "uwc";
+  version = "1.0.4";
+
+  src = fetchFromGitLab {
+    owner = "dead10ck";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ywqq9hrrm3frvd2sswknxygjlxi195kcy7g7phwq63j7hkyrn50";
+  };
+
+  cargoSha256 = "0ra62cf75b1c4knxxpbdg8m0sy2k02r52j606fp5l9crp0fml8l0";
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Like wc, but unicode-aware, and with per-line mode";
+    homepage = "https://gitlab.com/dead10ck/uwc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 8a63d82eacb2..11c611710cd2 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.3.4";
+  version = "2.6.5";
 
   subPackages = [ "." ];
   outputs = [ "out" "data" ];
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "0vk7kk2a2891vm46lss8q2893n2zdirlicac2f3xfkrbb5lhkicd";
+    sha256 = "0rvcxlw8xd7sjcsvr6di04l8ml990im2c8yl3hn8054wkp51yb4l";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/text/vgrep/default.nix b/nixpkgs/pkgs/tools/text/vgrep/default.nix
index 12880b2e4eca..a2ac4b51001a 100644
--- a/nixpkgs/pkgs/tools/text/vgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/vgrep/default.nix
@@ -1,20 +1,28 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, go-md2man, installShellFiles }:
 
 buildGoModule rec {
   pname = "vgrep";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "vrothberg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "109j04my2xib8m52a0337996a27nvfgzackpg20zs3nzn66dmvb7";
+    sha256 = "06rnmg6ljj4f1g602wdp2wy9v0m1m0sj6jl6wywyjl8grjqc3vac";
   };
 
   vendorSha256 = null;
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
+  nativeBuildInputs = [ go-md2man installShellFiles ];
+
+  postBuild = ''
+    sed -i '/SHELL= /d' Makefile
+    make docs
+    installManPage docs/*.[1-9]
+  '';
+
   meta = with lib; {
     description = "User-friendly pager for grep/git-grep/ripgrep";
     homepage = "https://github.com/vrothberg/vgrep";
diff --git a/nixpkgs/pkgs/tools/text/xml/basex/default.nix b/nixpkgs/pkgs/tools/text/xml/basex/default.nix
index 4dcaed16bb84..45c9eb4866ce 100644
--- a/nixpkgs/pkgs/tools/text/xml/basex/default.nix
+++ b/nixpkgs/pkgs/tools/text/xml/basex/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "basex";
-  version = "8.6.6";
+  version = "9.4.3";
 
   src = fetchurl {
-    url = "http://files.basex.org/releases/${version}/BaseX866.zip";
-    sha256 = "1kws6swisdaa17yhijjvkh2ikwz9rd5cw8mdjvkqw6vlcp1nq6m4";
+    url = "http://files.basex.org/releases/${version}/BaseX${builtins.replaceStrings ["."] [""] version}.zip";
+    hash = "sha256-IZhRg2JcYQXQKU/lYZpLLcsSdjZZO+toY5yvk+RKUCY=";
   };
 
   buildInputs = [ unzip jre ];
@@ -25,23 +25,15 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
-    mkdir -p "$out"
-    cp -r * "$out"
-
     # Remove Windows batch files (unclutter $out/bin)
-    rm -f "$out"/bin/*.bat
+    rm ./bin/*.bat
 
-    # Move some top-level stuff to $out/share/basex (unclutter $out)
-    mkdir -p "$out/share/basex"
-    mv "$out"/*.txt "$out/share/basex/"
-    mv "$out"/webapp "$out/share/basex/"
+    mkdir -p "$out/share/basex" "$out/share/applications"
 
-    # Remove empty directories
-    rmdir "$out/repo"
-    rmdir "$out/data"
+    cp -R bin etc lib webapp src BaseX.jar "$out"
+    cp -R readme.txt webapp "$out/share/basex"
 
     # Install desktop file
-    mkdir -p "$out/share/applications"
     cp "$desktopItem"/share/applications/* "$out/share/applications/"
 
     # Use substitutions instead of wrapper scripts
@@ -65,7 +57,7 @@ stdenv.mkDerivation rec {
       highly interactive front-end (basexgui). Apart from two local standalone
       modes, BaseX offers a client/server architecture.
     '';
-    homepage = "http://basex.org/";
+    homepage = "https://basex.org/";
     license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile
index f9329a80a815..702dabee2e07 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile
@@ -4,6 +4,7 @@ gem 'asciidoctor-diagram'
 gem 'asciidoctor-pdf'
 gem 'asciidoctor-epub3'
 gem 'asciidoctor-mathematical'
+gem 'asciidoctor-revealjs'
 gem 'coderay'
 gem 'pygments.rb'
 gem 'rouge'
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
index c928e9548754..06a1716251a7 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
@@ -28,6 +28,11 @@ GEM
       safe_yaml (~> 1.0.0)
       thread_safe (~> 0.3.0)
       treetop (~> 1.5.0)
+    asciidoctor-revealjs (4.0.1)
+      asciidoctor (>= 2.0.0, < 3.0.0)
+      concurrent-ruby (~> 1.0)
+      thread_safe (~> 0.3.5)
+    asciimath (2.0.1)
     coderay (1.1.2)
     concurrent-ruby (1.1.5)
     css_parser (1.7.0)
@@ -40,6 +45,9 @@ GEM
       concurrent-ruby (~> 1.0)
     mathematical (1.6.12)
       ruby-enum (~> 0.4)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2020.1104)
     mini_portile2 (2.4.0)
     multi_json (1.13.1)
     nokogiri (1.10.3)
@@ -88,6 +96,7 @@ DEPENDENCIES
   asciidoctor-epub3
   asciidoctor-mathematical
   asciidoctor-pdf
+  asciidoctor-revealjs
   coderay
   pygments.rb
   rouge
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor/default.nix
index 7a01dc2ff0ad..29b2b567be23 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/default.nix
@@ -13,6 +13,7 @@ let
       "asciidoctor"
       "asciidoctor-pdf"
       "asciidoctor-epub3"
+      "asciidoctor-revealjs"
     ];
 
     buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
index 02700962eb28..db47fbf22857 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
@@ -84,6 +84,27 @@
     };
     version = "1.5.0.alpha.18";
   };
+  asciidoctor-revealjs = {
+    dependencies = ["asciidoctor" "concurrent-ruby" "thread_safe"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "084aq9frv4irzgd9ab3xad9i0ml9lb58w0wvg76gnwwr51plbpp4";
+      type = "gem";
+    };
+    version = "4.0.1";
+  };
+  asciimath = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1aapydwwkydbwgz07n7ma3a5jy9n3v0shy6q6j8mi4wr3crhx45a";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
   coderay = {
     groups = ["default"];
     platforms = [];
@@ -158,6 +179,27 @@
     };
     version = "1.6.12";
   };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag";
+      type = "gem";
+    };
+    version = "3.2020.1104";
+  };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix
index c518ddeaf39d..391c78814e77 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctorj/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "asciidoctorj";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchzip {
     url = "http://dl.bintray.com/asciidoctor/maven/org/asciidoctor/${pname}/${version}/${pname}-${version}-bin.zip";
-    sha256 = "1bp26x5mhbl25s9djlq6yani1vaqrgbi5mjljhwhj97iapwsd0yb";
+    sha256 = "1b4ivyzpg9p3idk48nfvgpz18qlxyycswkaab31j3dp1mniwvjla";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -19,13 +19,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = ''
-      AsciidoctorJ is the official library for running Asciidoctor on the JVM.
-    '';
+    description = "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 
+      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/";
@@ -33,4 +31,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ moaxcp ];
   };
-} 
+}
diff --git a/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix b/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
index d0e2c79c0bce..c95c6921a4e0 100644
--- a/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     description = "Prettyprint and syntax check BibTeX and Scribe bibliography data base files";
     homepage = "http://ftp.math.utah.edu/pub/bibclean";
     license = licenses.gpl2;
+    platforms = platforms.all;
     maintainers = with maintainers; [ dtzWill ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/biber/default.nix b/nixpkgs/pkgs/tools/typesetting/biber/default.nix
index 449208e9d5d1..0c472947c0a2 100644
--- a/nixpkgs/pkgs/tools/typesetting/biber/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/biber/default.nix
@@ -10,6 +10,14 @@ perlPackages.buildPerlModule {
 
   src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz";
 
+  patches = [
+    # Fix for https://github.com/plk/biber/issues/329
+    (fetchpatch {
+      url = "https://github.com/plk/biber/commit/fa312ce402fe581ba7cc0890c83a1d47c2610e26.diff";
+      sha256 = "1j87mdwvx368z9b5x6b72s753hwvrldf2pb42p6hflq5hzkicy50";
+    })
+  ];
+
   buildInputs = with perlPackages; [
     autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
     DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
diff --git a/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix b/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix
index 6bfb0188a3a8..a41276ea4328 100644
--- a/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix
@@ -48,7 +48,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "(An early version of) a DocBook to AsciiDoc converter written in Ruby.";
+    description = "(An early version of) a DocBook to AsciiDoc converter written in Ruby";
     homepage = "https://asciidoctor.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/tools/typesetting/kindlegen/default.nix b/nixpkgs/pkgs/tools/typesetting/kindlegen/default.nix
index 709e94005346..1067386c2f8d 100644
--- a/nixpkgs/pkgs/tools/typesetting/kindlegen/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/kindlegen/default.nix
@@ -42,6 +42,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
+    broken = true; # download links got removed
     description = "Convert documents to .mobi for use with Amazon Kindle";
     homepage = "https://www.amazon.com/gp/feature.html?docId=1000765211";
     license = licenses.unfree;
diff --git a/nixpkgs/pkgs/tools/typesetting/kramdown-asciidoc/default.nix b/nixpkgs/pkgs/tools/typesetting/kramdown-asciidoc/default.nix
index 3b54eb637d2e..655cd5a61e13 100644
--- a/nixpkgs/pkgs/tools/typesetting/kramdown-asciidoc/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/kramdown-asciidoc/default.nix
@@ -26,7 +26,7 @@ let
     # };
 
     meta = with lib; {
-      description = "A kramdown extension for converting Markdown documents to AsciiDoc.";
+      description = "A kramdown extension for converting Markdown documents to AsciiDoc";
       homepage = "https://asciidoctor.org/";
       license = licenses.mit;
       maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
index 017066a2c22b..ecd25bf8e833 100644
--- a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.7.4";
+  version = "0.7.5";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "2iw5x3lf5knnscp0ifgk50yj48p54cbd34h94qrxa9vdybg2nnipklrqmmqblf6l7qph98h7jvlyr99m5qlrki9lvjr1jcgbgp31pn0";
+    sha512 = "1wfbrydbk0f0blhg5my3m5gw8bspwh3rdg4w4mcalnrwpypzd4zrggc4aj3zm72c5jikx6pnjb2k9w1s075k84f6q8p8chlzb3s4qd2";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/add-glib-cmake.patch b/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/add-glib-cmake.patch
deleted file mode 100644
index 8e1d9dfc1914..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/add-glib-cmake.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3fdabb0..378621a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -59,6 +59,12 @@ include_directories(${FONTFORGE_INCLUDE_DIRS})
- link_directories(${FONTFORGE_LIBRARY_DIRS})
- set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${FONTFORGE_LIBRARIES})
- 
-+# add glib dependency
-+pkg_check_modules(GLIB REQUIRED glib-2.0)
-+include_directories(${GLIB_INCLUDE_DIRS})
-+link_directories(${GLIB_INCLUDE_DIRS})
-+set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${GLIB_LIBRARIES})
-+
- # debug build flags (overwrite default cmake debug flags)
- set(CMAKE_C_FLAGS_DEBUG "-ggdb -pg")
- set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -pg")
diff --git a/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/default.nix b/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/default.nix
deleted file mode 100644
index dee6ec3c6fff..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/pdf2htmlEX/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
-, poppler, xorg, pcre, python, glib, fontforge, cairo, pango, openjdk8
-
-}:
-
-stdenv.mkDerivation {
-  name = "pdf2htmlEX-0.14.6";
-
-  src = fetchFromGitHub {
-    repo   = "pdf2htmlEX";
-    owner  = "coolwanglu";
-    rev    = "v0.14.6";
-    sha256 = "1nh0ab8f11fsyi4ldknlkmdzcfvm1dfh8b9bmprjgq6q0vjj7f78";
-  };
-
-  patches = [ ./add-glib-cmake.patch ];
-
-  cmakeFlags = [ "-DENABLE_SVG=ON" ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    cmake
-    pkgconfig
-  ];
-
-  buildInputs = [
-    xorg.libpthreadstubs
-    xorg.libXdmcp
-    pcre
-    python
-    glib
-    cairo
-    pango
-    poppler
-    fontforge
-    openjdk8
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Render PDF files to beautiful HTML";
-    homepage    = "https://github.com/coolwanglu/pdf2htmlEX";
-    license     = licenses.gpl3Plus;
-    maintainers = [ maintainers.taktoa ];
-    platforms   = with platforms; linux;
-    broken      = true; # 2018-09-08
-  };
-}
diff --git a/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix b/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix
index b30d6269c347..25fc794b0558 100644
--- a/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitLab, gradle_5, jre, perl, writeText, runtimeShell }:
+{ stdenv, fetchFromGitLab, gradle, jre, perl, writeText, runtimeShell }:
 
 let
   pname = "pdftk";
-  version = "3.0.8";
+  version = "3.2.1";
 
   src = fetchFromGitLab {
     owner = "pdftk-java";
     repo = "pdftk";
     rev = "v${version}";
-    sha256 = "1bj4a9g5mbxd859mmawzs0mpm0jw7ap4n1imcwkwz142r9x1g6rk";
+    sha256 = "056db8rjczdfkq7fm3bv5g15y042rc9hb4zh5qccjrdw630vk9y4";
   };
 
   deps = stdenv.mkDerivation {
     pname = "${pname}-deps";
     inherit src version;
 
-    nativeBuildInputs = [ gradle_5 perl ];
+    nativeBuildInputs = [ gradle perl ];
 
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
@@ -32,7 +32,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "12b7lw1zpj69pv4bpbrm6pi0ip02ay3dfj3vcy2jyikfbwdb3qcz";
+    outputHash = "0p59myc5m3ds7fh0zdz3n7l7hx6dj8bpyqxzlhdrqybsyxwpw4w3";
   };
 
   # Point to our local deps repo
@@ -65,7 +65,7 @@ let
 in stdenv.mkDerivation rec {
   inherit pname version src;
 
-  nativeBuildInputs = [ gradle_5 ];
+  nativeBuildInputs = [ gradle ];
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
@@ -74,22 +74,23 @@ in stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/{bin,share/pdftk,share/man/man1}
-    cp build/libs/pdftk.jar $out/share/pdftk
+    cp build/libs/pdftk-all.jar $out/share/pdftk
 
     cat  << EOF > $out/bin/pdftk
     #!${runtimeShell}
-    exec ${jre}/bin/java -jar "$out/share/pdftk/pdftk.jar" "\$@"
+    exec ${jre}/bin/java -jar "$out/share/pdftk/pdftk-all.jar" "\$@"
     EOF
     chmod a+x "$out/bin/pdftk"
 
     cp ${src}/pdftk.1 $out/share/man/man1
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Command-line tool for working with PDFs";
     homepage = "https://gitlab.com/pdftk-java/pdftk";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ raskin averelld ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin averelld ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/pdftk/legacy.nix b/nixpkgs/pkgs/tools/typesetting/pdftk/legacy.nix
index b3edd7d54507..5caafa054cf9 100644
--- a/nixpkgs/pkgs/tools/typesetting/pdftk/legacy.nix
+++ b/nixpkgs/pkgs/tools/typesetting/pdftk/legacy.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [raskin];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true; # Broken on Hydra since 2020-08-24
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/rubber/default.nix b/nixpkgs/pkgs/tools/typesetting/rubber/default.nix
index a9ac2690b66d..f3f036ce50eb 100644
--- a/nixpkgs/pkgs/tools/typesetting/rubber/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/rubber/default.nix
@@ -9,18 +9,18 @@ python3Packages.buildPythonApplication rec {
     sha256 = "178dmrp0mza5gqjiqgk6dqs0c10s0c517pk6k9pjbam86vf47a1p";
   };
 
-  nativeBuildInputs = [ texinfo ];
-
-  # I couldn't figure out how to pass the proper parameter to disable pdf generation, so we
-  # use sed to change the default
-  preBuild = ''
-    sed -i -r 's/pdf\s+= True/pdf = False/g' setup.py
+  # I'm sure there is a better way to pass these parameters to the build script...
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'pdf  = True' 'pdf = False' \
+      --replace '$base/man'   'share/man' \
+      --replace '$base/info'  'share/info' \
+      --replace '$base/share' 'share'
   '';
 
-  # the check scripts forces python2. If we need to use python3 at some point, we should use
-  # the correct python
+  nativeBuildInputs = [ texinfo ];
+
   checkPhase = ''
-    sed -i 's|python=python3|python=${python3Packages.python.interpreter}|' tests/run.sh
     cd tests && ${stdenv.shell} run.sh
   '';
 
diff --git a/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix b/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
index 5b6cf5e22f21..ddff50ea0e83 100644
--- a/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "scdoc";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
-    sha256 = "17cjh3lcfppyl2mzpanylla93gdgdv5spc8jldshvayzizhfghwa";
+    sha256 = "007pm3gspvya58cwb12wpnrm9dq5p28max2s0b2y9rq80nqgqag5";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/typesetting/sile/default.nix b/nixpkgs/pkgs/tools/typesetting/sile/default.nix
index 1084ee37ea72..239bafa05c97 100644
--- a/nixpkgs/pkgs/tools/typesetting/sile/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/sile/default.nix
@@ -38,11 +38,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.10.11";
+  version = "0.10.12";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "0c4azy2iqcj5qg09caqzzjzvig5h0sjilkprphdxvg2bi7dr9g5c";
+    sha256 = "0bxm3vhba289vcgpzbs1hz5fjamf0zgxkr7h8vcsiijjjavmv64a";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix b/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix
index 813a464b7703..0e90e1cf614c 100644
--- a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix
@@ -1,21 +1,30 @@
-{ stdenv, fetchurl, pkgconfig, gettext
-, guile, guile-reader, guile-lib
-, ploticus, imagemagick
-, ghostscript, transfig
+{ stdenv
+, fetchurl
+, pkgconfig
+, gettext
+, guile
+, guile-reader
+, guile-lib
+, ploticus
+, imagemagick
+, ghostscript
+, transfig
 , enableEmacs ? false, emacs ? null
 , enableLout ? true, lout ? null
 , enableTex ? true, tex ? null
-, makeWrapper }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
+, makeWrapper
+}:
 
+let
   pname = "skribilo";
-  version = "0.9.4";
+  version = "0.9.5";
+  inherit (stdenv.lib) optional;
+in stdenv.mkDerivation {
+  inherit pname version;
 
   src = fetchurl {
     url = "http://download.savannah.nongnu.org/releases/skribilo/${pname}-${version}.tar.gz";
-    sha256 = "06ywnfjfa9sxrzdszb5sryzg266380g519cm64kq62sskzl7zmnf";
+    sha256 = "sha256-AIJqIcRjT7C0EO6J60gGjERdgAglh0ZU49U9XKPwvwk=";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -33,7 +42,7 @@ stdenv.mkDerivation rec {
       --prefix GUILE_LOAD_COMPILED_PATH : "$out/share/guile/site:${guile-lib}/share/guile/site:${guile-reader}/share/guile/site"
   '';
 
-  meta = {
+  meta = with stdenv.lib;{
     description = "The Ultimate Document Programming Framework";
     longDescription = ''
       Skribilo is a free document production tool that takes a
diff --git a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
index 23432e1d460a..d37a4a69570b 100644
--- a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
@@ -3,29 +3,34 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.1.15";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "tectonic@${version}";
-    sha256 = "0pzhdfsi4jsj9p5cv8ia4kc4inl7q7jsw694dfyxkcpka6ywyzsh";
+    sha256 = "1p93428ln3sfsflc7spjpfcgy81c4z5y0xhwv5mkgzf55g8nrin1";
   };
 
-  cargoSha256 = "017f1f49svx4inyv6xjx31lnb7dbl6gzwrrzpfz1gimqvdj2gm6j";
+  cargoSha256 = "0jzngl1iwrq20cx3l0mwdrrddvyw977rwb75nz1k4hkxjnicc1ga";
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ fontconfig harfbuzz openssl ]
     ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]);
 
-  # tests fail due to read-only nix store
-  doCheck = false;
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
+    install -D dist/appimage/tectonic.desktop -t $out/share/applications/
+    install -D dist/appimage/tectonic.svg -t $out/share/icons/hicolor/scalable/apps/
+  '';
+
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive";
     homepage = "https://tectonic-typesetting.github.io/";
+    changelog = "https://github.com/tectonic-typesetting/tectonic/blob/tectonic@${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
-    maintainers = [ maintainers.lluchs ];
+    maintainers = [ maintainers.lluchs maintainers.doronbehar ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/ted/default.nix b/nixpkgs/pkgs/tools/typesetting/ted/default.nix
index 25e9dce242f3..6d7ef3348613 100644
--- a/nixpkgs/pkgs/tools/typesetting/ted/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/ted/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
 
   meta = with stdenv.lib; {
-    description = "Ted, an easy rich text processor";
+    description = "An easy rich text processor";
     longDescription = ''
       Ted is a text processor running under X Windows on Unix/Linux systems.
       Ted was developed as a standard easy light weight word processor, having
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix
index ccb5dcc51907..38a333132492 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, texlive, ghostscript }:
  
 let auctex = stdenv.mkDerivation ( rec {
-  version = "12.2";
+  version = "12.3";
 
   # 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 = "14vqs08mkfzc91jg7kabs9sdn74vywj8a29gyrfa3ivnm9c7jrsr";
+    sha256 = "1pd99hbhci3l1n0lmzn803svqwl47kld6172gwkwjmwlnqqgxm1g";
   };
 
   buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/nix/run-latex.sh b/nixpkgs/pkgs/tools/typesetting/tex/nix/run-latex.sh
index 7a5767f9c063..3f8a16580ea5 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/nix/run-latex.sh
+++ b/nixpkgs/pkgs/tools/typesetting/tex/nix/run-latex.sh
@@ -41,7 +41,11 @@ showError() {
     exit 1
 }
 
+pass=0
+
 runLaTeX() {
+    ((pass=pass+1))
+    echo "PASS $pass..."
     if ! $latex $latexFlags $rootName >$tmpFile 2>&1; then showError; fi
     runNeeded=
     if fgrep -q \
@@ -51,6 +55,7 @@ runLaTeX() {
         "$tmpFile"; then
         runNeeded=1
     fi
+    echo
 }
 
 echo
@@ -61,10 +66,7 @@ if test -n "$copySources"; then
 fi
 
 
-echo "PASS 1..."
 runLaTeX
-echo
-
 
 for auxFile in $(find . -name "*.aux"); do
     # Run bibtex to process all bibliographies.  There may be several
@@ -89,11 +91,8 @@ for auxFile in $(find . -name "*.aux"); do
     fi
 done
 
-
 if test "$runNeeded"; then
-    echo "PASS 2..."
     runLaTeX
-    echo
 fi
 
 
@@ -105,20 +104,18 @@ if test -f $rootNameBase.idx; then
     makeindex $makeindexFlags $rootNameBase.idx
     runNeeded=1
     echo
-fi    
-
+fi
 
-if test "$runNeeded"; then
-    echo "PASS 3..."
+# We check that pass is less than 2 to catch situations where the document is
+# simple enough (no bibtex, etc.) so that it would otherwise require only one
+# pass but also contains a ToC.
+# In essence this check ensures that we do at least two passes on all documents.
+if test "$runNeeded" = 1 -o "$pass" -lt 2 ; then
     runLaTeX
-    echo
 fi
 
-
 if test "$runNeeded"; then
-    echo "PASS 4..."
     runLaTeX
-    echo
 fi
 
 
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
index 1a71ae04d49a..030ac1b43aae 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, fetchpatch, patchutils
+{ stdenv, fetchurl
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
-, perl, perlPackages, python2Packages, pkgconfig, autoreconfHook
+, perl, perlPackages, python2Packages, pkgconfig
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
-, cairo, pixman, xorg, clisp, biber, xxHash
+, brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash
 , makeWrapper, shortenPerlShebang
 }:
 
@@ -14,82 +14,26 @@
 let
   withSystemLibs = map (libname: "--with-system-${libname}");
 
-  year = "2019";
+  year = "2020";
   version = year; # keep names simple for now
 
   common = {
     src = fetchurl {
       urls = [
-        "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"
+        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz"
+              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz"
       ];
-      sha256 = "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj";
+      sha256 = "0y4h4j2qg714srhvf1hvn165w7sanr1j2vzrsgc23kxvrc43sbz3";
     };
 
-    prePatch = 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&pathrev=52959";
-        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&pathrev=52959";
-        sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380";
-      };
-    in ''
+    prePatch = ''
       for i in texk/kpathsea/mktex*; do
         sed -i '/^mydir=/d' "$i"
       done
-      cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc
-      cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc
+      cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc
+      cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc
     '';
 
-    patches = [
-      # poppler 0.84 compat fixups, use 0.83 files otherwise
-      ./poppler84.patch
-
-      (fetchpatch {
-        name = "texlive-poppler-0.86.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.86.patch?h=packages/texlive-bin&id=60244e41bb6f1501e8ed1fc9e6b7ba8d3f283398";
-        sha256 = "0pdvhaqc3zgz7hp0x3a4qs0nh26fkvgmr6w1cjljqhp1nyiw2f1l";
-      })
-
-      # Needed for ghostscript>=9.50
-      (fetchpatch {
-        name = "xdvipdfm-fix.patch";
-        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/dvipdfm-x/spc_dvips.c?view=patch&r1=52765&r2=52764&pathrev=52765";
-        sha256 = "0qvrc7yxhbl5f4g340z8aql388bwib0m2gxd473skbmviy5bjr3f";
-        stripLen = 2;
-      })
-    ];
-
-    # remove when removing synctex-missing-header.patch
-    preAutoreconf = "pushd texk/web2c";
-    postAutoreconf = "popd";
-
     configureFlags = [
       "--with-banner-add=/NixOS.org"
       "--disable-missing" "--disable-native-texlive-build"
@@ -111,6 +55,8 @@ let
       done
     '';
   };
+
+  withLuaJIT = !(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit);
 in rec { # un-indented
 
 inherit (common) cleanBrokenLinks;
@@ -121,11 +67,11 @@ core = stdenv.mkDerivation rec {
   pname = "texlive-bin";
   inherit version;
 
-  inherit (common) src patches prePatch preAutoreconf postAutoreconf;
+  inherit (common) src prePatch;
 
   outputs = [ "out" "doc" ];
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     /*teckit*/ zziplib poppler mpfr gmp
     pixman gd freetype libpng libpaper zlib
@@ -136,7 +82,7 @@ core = stdenv.mkDerivation rec {
 
   preConfigure = ''
     rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
-      libs/{mpfr,pixman,poppler,xpdf,zlib,zziplib}
+      libs/{lua53,luajit,mpfr,pixman,poppler,xpdf,zlib,zziplib}
     mkdir WorkDir
     cd WorkDir
   '';
@@ -144,13 +90,13 @@ core = stdenv.mkDerivation rec {
 
   configureFlags = common.configureFlags
     ++ [ "--without-x" ] # disable xdvik and xpdfopen
-    ++ map (what: "--disable-${what}") ([
+    ++ map (what: "--disable-${what}") [
+      "chktex"
       "dvisvgm" "dvipng" # ghostscript dependency
-      "luatex" "luajittex" "mp" "pmp" "upmp" "mf" # cairo would bring in X and more
+      "luatex" "luajittex" "luahbtex" "luajithbtex"
+      "mp" "pmp" "upmp" "mf" "mflua" "mfluajit" # cairo would bring in X and more
       "xetex" "bibtexu" "bibtex8" "bibtex-x" "upmendex" # ICU isn't small
-    ] ++ stdenv.lib.optional (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) "mfluajit")
-    ++ [ "--without-system-harfbuzz" "--without-system-icu" ] # bogus configure
-    ;
+    ];
 
   enableParallelBuilding = true;
 
@@ -193,9 +139,6 @@ core = stdenv.mkDerivation rec {
     mv "$out"/share/{man,info} "$doc"/doc
   '' + cleanBrokenLinks;
 
-  # needed for poppler and xpdf
-  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; };
 
@@ -209,12 +152,12 @@ core = stdenv.mkDerivation rec {
 };
 
 
-inherit (core-big) metafont metapost luatex xetex;
+inherit (core-big) metafont mflua metapost luatex luahbtex luajittex xetex;
 core-big = stdenv.mkDerivation { #TODO: upmendex
   pname = "texlive-core-big.bin";
   inherit version;
 
-  inherit (common) src patches prePatch preAutoreconf postAutoreconf;
+  inherit (common) src prePatch;
 
   hardeningDisable = [ "format" ];
 
@@ -224,21 +167,20 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
   configureFlags = common.configureFlags
     ++ withSystemLibs [ "kpathsea" "ptexenc" "cairo" "harfbuzz" "icu" "graphite2" ]
     ++ map (prog: "--disable-${prog}") # don't build things we already have
-      [ "tex" "ptex" "eptex" "uptex" "euptex" "aleph" "pdftex"
+      ([ "tex" "ptex" "eptex" "uptex" "euptex" "aleph" "pdftex"
         "web-progs" "synctex"
-        # luajittex is mostly not needed, see:
-        # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
-        "luajittex" "mfluajit"
-      ];
+      ] ++ stdenv.lib.optionals (!withLuaJIT) [ "luajittex" "luajithbtex" "mfluajit" ]);
 
   configureScript = ":";
 
   # we use static libtexlua, because it's only used by a single binary
-  postConfigure = ''
+  postConfigure = let
+    luajit = stdenv.lib.optionalString withLuaJIT ",luajit";
+  in ''
     mkdir ./WorkDir && cd ./WorkDir
-    for path in libs/{teckit,lua53} texk/web2c; do
+    for path in libs/{teckit,lua53${luajit}} texk/web2c; do
       (
-        if [[ "$path" =~ "libs/lua5" ]]; then
+        if [[ "$path" =~ "libs/lua" ]]; then
           extraConfig="--enable-static --disable-shared"
         else
           extraConfig=""
@@ -257,50 +199,44 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
 
   # now distribute stuff into outputs, roughly as upstream TL
   # (uninteresting stuff remains in $out, typically duplicates from `core`)
-  outputs = [ "out" "metafont" "metapost" "luatex" "xetex" ];
+  outputs = [
+    "out"
+    "metafont"
+    "mflua"
+    "metapost"
+    "luatex"
+    "luahbtex"
+    "luajittex"
+    "xetex"
+  ];
   postInstall = ''
     for output in $outputs; do
       mkdir -p "''${!output}/bin"
     done
 
     mv "$out/bin"/{inimf,mf,mf-nowin} "$metafont/bin/"
+    mv "$out/bin"/mflua{,-nowin} "$mflua/bin/"
     mv "$out/bin"/{*tomp,mfplain,*mpost} "$metapost/bin/"
-    mv "$out/bin"/{luatex,texlua*} "$luatex/bin/"
+    mv "$out/bin"/{luatex,texlua,texluac} "$luatex/bin/"
+    mv "$out/bin"/luahbtex "$luahbtex/bin/"
     mv "$out/bin"/xetex "$xetex/bin/"
-  '';
+  '' + stdenv.lib.optionalString withLuaJIT ''
+    mv "$out/bin"/mfluajit{,-nowin} "$mflua/bin/"
+    mv "$out/bin"/{luajittex,luajithbtex,texluajit,texluajitc} "$luajittex/bin/"
+  '' ;
 };
 
 
-dvisvgm = stdenv.mkDerivation {
-  pname = "texlive-dvisvgm.bin";
+chktex = stdenv.mkDerivation {
+  pname = "texlive-chktex.bin";
   inherit version;
 
   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 ];
-  # TODO: dvisvgm still uses vendored dependencies
-  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype /*potrace xxHash*/ ];
-
-  preConfigure = "cd texk/dvisvgm";
+  buildInputs = [ core/*kpathsea*/ ];
 
-  # configure script has a bug: it refers to $HAVE_LIBGS but sets $have_libgs
-  # TODO: remove for texlive 2020?
-  HAVE_LIBGS = 1;
+  preConfigure = "cd texk/chktex";
 
   configureFlags = common.configureFlags
     ++ [ "--with-system-kpathsea" ];
@@ -309,6 +245,25 @@ dvisvgm = stdenv.mkDerivation {
 };
 
 
+dvisvgm = stdenv.mkDerivation rec {
+  pname = "texlive-dvisvgm.bin";
+  version = "2.11";
+  # TODO: dvisvgm was switched to build from upstream sources
+  # to address https://github.com/NixOS/nixpkgs/issues/104847
+  # We might want to consider reverting that change in the future.
+
+  src = fetchurl {
+    url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz";
+    sha256 = "12b6h0h8rc487yjh3sq9zsdabm9cs2vqcrb0znnfi8277f87zf3j";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ core/*kpathsea*/ brotli ghostscript zlib freetype woff2 potrace xxHash ];
+
+  enableParallelBuilding = true;
+};
+
+
 dvipng = stdenv.mkDerivation {
   pname = "texlive-dvipng.bin";
   inherit version;
@@ -318,15 +273,6 @@ dvipng = stdenv.mkDerivation {
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript makeWrapper ];
 
-  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
@@ -479,7 +425,7 @@ xdvi = stdenv.mkDerivation {
 
 } # un-indented
 
-// stdenv.lib.optionalAttrs (!stdenv.isDarwin) # see #20062
+// stdenv.lib.optionalAttrs (!clisp.meta.broken) # broken on aarch64 and darwin (#20062)
 {
 
 xindy = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
index fb3e6668a47c..0625fe16090a 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -31,18 +31,12 @@ let
       ++ lib.optional (lib.any pkgNeedsRuby splitBin.wrong) ruby;
   };
 
-  # TODO: replace by buitin once it exists
-  fastUnique = comparator: list: with lib;
-    let un_adj = l: if length l < 2 then l
-      else optional (head l != elemAt l 1) (head l) ++ un_adj (tail l);
-    in un_adj (lib.sort comparator list);
-
-  uniqueStrings = fastUnique (a: b: a < b);
+  uniqueStrings = list: lib.sort (a: b: a < b) (lib.unique list);
 
   mkUniqueOutPaths = pkgs: uniqueStrings
     (map (p: p.outPath) (builtins.filter lib.isDerivation pkgs));
 
-in buildEnv {
+in (buildEnv {
   name = "texlive-${extraName}-${bin.texliveYear}";
 
   extraPrefix = "/share/texmf";
@@ -277,6 +271,6 @@ in buildEnv {
   ''
     + bin.cleanBrokenLinks
   ;
-}
+}).overrideAttrs (_: { allowSubstitutes = true; })
 # TODO: make TeX fonts visible by fontconfig: it should be enough to install an appropriate file
 #       similarly, deal with xe(la)tex font visibility?
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
index cc6763e9ee91..c2e6399ab864 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -2,7 +2,7 @@
   - source: ../../../../../doc/languages-frameworks/texlive.xml
   - current html: https://nixos.org/nixpkgs/manual/#sec-language-texlive
 */
-{ stdenv, lib, fetchurl, fetchpatch, runCommand, writeText, buildEnv
+{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv
 , callPackage, ghostscriptX, harfbuzz, poppler_min
 , makeWrapper, python, ruby, perl
 , useFixedHashes ? true
@@ -57,21 +57,6 @@ let
       collection-plaingeneric = orig.collection-plaingeneric // {
         deps = orig.collection-plaingeneric.deps // { inherit (tl) xdvi; };
       };
-
-      # TODO revert for texlive 2020
-      arara = lib.recursiveUpdate orig.arara {
-        postUnpack = let
-          arara_jar_fix = fetchpatch {
-            url = "https://github.com/TeX-Live/texlive-source/commit/dbaf12f4a47dcd62bcc96346f65493fda3fec2c8.diff";
-            sha256 = "148knr8k6sm6fpyj31kdq85yxvzvwp1prjha3f07q24kbar2l830";
-          };
-        in ''
-          if [ -f "$out"/scripts/arara/arara.sh ]; then
-            cd "$out"/scripts/
-            patch -p4 <${arara_jar_fix}
-          fi
-        '';
-      };
     }); # overrides
 
     # tl =
@@ -81,7 +66,7 @@ let
 
   flatDeps = pname: attrs:
     let
-      version = attrs.version or bin.texliveYear;
+      version = attrs.version or (builtins.toString attrs.revision);
       mkPkgV = tlType: let
         pkg = attrs // {
           sha512 = attrs.sha512.${tlType};
@@ -112,15 +97,7 @@ let
       fixedHash = fixedHashes.${tlName} or null; # be graceful about missing hashes
 
       urls = args.urls or (if args ? url then [ args.url ] else
-        lib.concatMap
-          (up: [
-            # Only ~11% of packages in texlive 2019 have revisions, so
-            # the number of requests is nearly doubled if we lookup
-            # the name with revision
-            # "${up}/${urlName}.r${toString revision}.tar.xz"
-            "${up}/${urlName}.tar.xz" # TODO To be removed for texlive 2020?
-          ])
-          urlPrefixes);
+        map (up: "${up}/${urlName}.r${toString revision}.tar.xz") urlPrefixes);
 
       # The tarballs on CTAN mirrors for the current release are constantly
       # receiving updates, so we can't use those directly. Stable snapshots
@@ -129,11 +106,11 @@ let
       # (https://tug.org/historic/).
       urlPrefixes = args.urlPrefixes or [
         # tlnet-final snapshot
-        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive"
-        "ftp://tug.org/texlive/historic/2019/tlnet-final/archive"
+        #"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive"
+        #"ftp://tug.org/texlive/historic/2019/tlnet-final/archive"
 
         # Daily snapshots hosted by one of the texlive release managers
-        #https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive
+        https://texlive.info/tlnet-archive/2020/10/09/tlnet/archive
       ];
 
       src = fetchurl { inherit urls sha512; };
@@ -192,8 +169,6 @@ in
           addMetaAttrs rec {
             description = "TeX Live environment for ${pname}";
             platforms = lib.platforms.all;
-            hydraPlatforms = lib.optionals
-              (!lib.elem pname ["scheme-infraonly"]) platforms;
             maintainers = with lib.maintainers;  [ veprbl ];
           }
           (combine {
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch b/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
deleted file mode 100644
index 0e927e24fd0e..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-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/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index 758b24f98e07..8358becdab77 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -3,129 +3,129 @@
 "amsfonts.doc-3.04"="ch872rwfiar58praz8f880rcspy4mjxa";
 "amsfonts.source-3.04"="vjiw3vdxv44nl4yvaxqfy4b78girpjs7";
 "bibtex-0.99d"="ybimfc49fzmgpy88wagy0z55sdsshr50";
-"bibtex.doc-0.99d"="z85q61ajdnn1h1rljqf3cmz76j7wk7ch";
-"kpathsea-2019"="3dwfnpn4fjynpbiqpyz789jagrpd0jn6";
-"kpathsea.doc-2019"="kg6w07wj29r4xzyhi36jkph8rf07rvyi";
-"cm-2019"="5xrqls79s3drpagj8j3ihqzkll10605w";
-"cm.doc-2019"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
+"bibtex.doc-0.99d"="4xpk9lcjgj4iwf2m3w3djj17a12ira0f";
+"kpathsea-56525"="zd81ngzi0f58js41jjbkz3m1v9m2fgpd";
+"kpathsea.doc-56525"="xx2db4i4sin1f46x2xcbrbmnx0myxq3h";
+"cm-49028"="5xrqls79s3drpagj8j3ihqzkll10605w";
+"cm.doc-49028"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
 "colorprofiles-20181105"="9rs3wkarffy7hf7c9kymzacy20znvcqf";
 "colorprofiles.doc-20181105"="v1asppz0kqvfg85skaiisphh2z4y6mbh";
-"dvipdfmx-2019"="riw7c3haw76xk10jsncph76s5lvdwvra";
-"dvipdfmx.doc-2019"="svzp1hjzcz10d3z68bnmgxg0pr7vlvpq";
-"glyphlist-2019"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
-"dvips-2019"="92wx71n0k4ia02l5m44xkmw5z1q22pbg";
-"dvips.doc-2019"="7l2814ciknicz1fr7z5xagym05v38sn2";
+"dvipdfmx-56557"="5mzmzfffjfvrgi8bcd10a2r4gmzdxa9d";
+"dvipdfmx.doc-56557"="9c1d7dwd5k33lb6lrlgiwkbmp0j6vc2g";
+"glyphlist-54074"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
+"dvips-56291"="3mixrkqhlx0d7lkcvm3z1yh3z5gmjhiq";
+"dvips.doc-56291"="9hn96cay7irn22pxqvniky67kpx85v2j";
 "ec-1.0"="kjq23jms9m9h5af2ri4bxd65w82lli3v";
 "ec.doc-1.0"="a8mvwdx6s8swxhagcc1p36dsy335fhby";
-"enctex-2019"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
-"enctex.doc-2019"="p2pad1ncy8izfag44p0pndyvgckfngvv";
-"etex-2019"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
-"etex.doc-2019"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
+"enctex-34957"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
+"enctex.doc-34957"="p2pad1ncy8izfag44p0pndyvgckfngvv";
+"etex-56291"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
+"etex.doc-56291"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
 "etex-pkg-2.7"="2p6j6s4jm1y7k82jhh9lrfgcbph03h1a";
 "etex-pkg.doc-2.7"="0xlalpljqrcinaazh35yv9vc2a925h90";
-"graphics-def-2019"="yvcmr3xc5jflyh8fhaw0hgm68h3x5sk7";
-"graphics-def.doc-2019"="vykac1brcska9rhk2kni4krgjqwmcb7j";
-"gsftopk-1.19.2"="s7f70s4jyd5rnif4gwrli43k0pmfhhw9";
-"gsftopk.doc-1.19.2"="k2s28hx5mq78ikd8383v0s8gvcbav9f5";
-"hyph-utf8-2019"="2p5nhs05nj1wkihyf08yfvvhj5w2l91v";
-"hyph-utf8.doc-2019"="gnsa3x6b0vnzxm27xplvmxxvhghp41l6";
-"hyph-utf8.source-2019"="jqzgwpvs62p4j2i2rr7hi9ai38gx1x70";
-"hyphen-base-2019"="zxb1681z3wrg8waaq8nkwimlydv603wy";
-"hyphenex-2019"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
-"hyphenex.source-2019"="n4rvv61jcw6s91mydy65qq90clva5zrs";
+"graphics-def-56555"="ab8dvjy1cdc6k4wlxbrcwr8nl6qq50ia";
+"graphics-def.doc-56555"="y7vadd1irhfp8chi4d82vvq4p38ksbds";
+"hyph-utf8-54568"="zg2phksfhir1yp5kd30dfz1k3sxhdfnf";
+"hyph-utf8.doc-54568"="widbasd39jiyqxpr0shly14j7m1kiiv3";
+"hyph-utf8.source-54568"="d4s9fmnbjf3y9yn9crda1978a9npnr27";
+"hyphen-base-54763"="fv3q6ykl2f8vdmmb7zjqh6ih7313m738";
+"hyphenex-37354"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
+"hyphenex.source-37354"="n4rvv61jcw6s91mydy65qq90clva5zrs";
 "ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
 "ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
 "ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
-"iftex-1.0c"="v7pwnklpnllkwc86nxsl55h27kxnvh5q";
-"iftex.doc-1.0c"="vz4qalfr34r2pqqiz7grp7ayqxxbsp2c";
-"knuth-lib-2019"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
-"knuth-local-2019"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
+"iftex-1.0d"="hnrm1vi2gwwl7b45i0sglk0yi8ziiqy5";
+"iftex.doc-1.0d"="0kk8byzsjwajb12yglvaif7msy8kpj7i";
+"knuth-lib-35820"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
+"knuth-local-38627"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
 "lua-alt-getopt-0.7.0"="s2qkgq8dv65ib6chsah4xcargxh26bml";
 "lua-alt-getopt.doc-0.7.0"="xv8zqch612n2ww2pnpfranafcf7jhl96";
-"luatex-2019"="cyv130m5b93raz9qyqb23g2069cvfqz6";
-"luatex.doc-2019"="swr1fbr2ndjrmq1yma7xh5q35g6fvpy9";
+"luahbtex.doc-54498"="9zg6yj4mrcarjghhxzmh44cf18a55m8n";
+"luatex-56291"="mi4bxavbd4kaa7gym51blm1bmyr3cps1";
+"luatex.doc-56291"="l960mnpa5fv85xilyahjs4ipka34dwh7";
 "plain-3.141592653"="my32apfgd55b14vf8bsldaqwdd931gcg";
-"tex-ini-files-2019"="831h7dslin8dnan7llz8mki6zibqfglj";
-"tex-ini-files.doc-2019"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
-"unicode-data-1.11"="6w4q13ps09d7z12jk8dxjmpp1xz9s9xn";
-"unicode-data.doc-1.11"="22b5gc53qq2szb0774dvn1np24crsc6b";
-"makeindex-2019"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
-"makeindex.doc-2019"="ygvhwf55z6f9ix5jny8im72qwva5w560";
+"tex-ini-files-40533"="831h7dslin8dnan7llz8mki6zibqfglj";
+"tex-ini-files.doc-40533"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
+"unicode-data-1.13"="xf2vq0qljmqhmj93630s637v5lcjycd0";
+"unicode-data.doc-1.13"="x22d4xiklr72ymaihfxs1r0kkdl4vdlp";
+"makeindex-52851"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
+"makeindex.doc-52851"="ygvhwf55z6f9ix5jny8im72qwva5w560";
 "mflogo-2.0"="mnn3p5gn5h9yi4inkllswxn142j31mz4";
 "mflogo.doc-2.0"="rdirf33m53y719b35aby2d98v1i0jhh5";
 "mflogo.source-2.0"="hl5rzcmk83lpc5rxcvy31kzm6qbwx3g5";
-"mfware-2019"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
-"mfware.doc-2019"="px98kdlpy9a8j5wwr41bj26sy7v0ydhj";
-"modes-4.1"="ymnjslxj4y3c9kv1bqjbmrvhf1395jd0";
-"modes.doc-4.1"="14qd1hvm8v18ald1cifwmvjs864qbpqb";
-"pdftex-2019"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
-"pdftex.doc-2019"="0sa1yfhh85q63d1jrisvj7fcqha1r6g2";
-"dehyph-2019"="dwnq2aajr29sdydc45056na079ph8gc6";
-"tex.doc-3.14159265"="d5y0rralm0m78rzsdhhsyc6qc3dhgf1a";
-"texlive-common.doc-2019"="amx0fzzmrb3p1cd6ianbl8vync5kl47m";
-"texlive-docindex.doc-2019"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
-"texlive-en.doc-2019"="y88n496gb2lbbwp2qxnyz7pcvcxf7mf3";
-"texlive-scripts-2019"="bfrfpyq7vslyai013v3ddyzlib90bg3n";
-"texlive-scripts.doc-2019"="dwcx7ga1fyh2xl8rg79n05kd49ndhmav";
-"tlshell-2019"="4zdv4d320b19sicsn86b25pgncsfqqh0";
-"tlshell.doc-2019"="yps67a47kr5r3ljhd18kq35bhn2qjj3y";
-"updmap-map-2019"="blygk27vcmpm0n1hn848a9zjxg62ynnx";
-"aaai-named-2019"="3lh28gvljcszn9vhzgsb6fp93m7n4d1d";
-"aichej-2019"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
-"ajl-2019"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
+"mfware-56291"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
+"mfware.doc-56291"="f36mvy2smq7dcr4acym66g1926zx9lxj";
+"modes-4.2"="wd0kik99kf8r6h0ddfb74hrfkiajrb1g";
+"modes.doc-4.2"="zs48h22mggw31g7sbykzzdsjzx4kg3xm";
+"pdftex-56291"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
+"pdftex.doc-56291"="5h8yj63fkg266p5klb1x4ymajlw9j5fh";
+"dehyph-48599"="dwnq2aajr29sdydc45056na079ph8gc6";
+"tex.doc-3.14159265"="hjzzikx7zp8zhncjv85z8g0v0zjj5vqm";
+"texlive-common.doc-56460"="9dcj7zhplmgf2q1cy1xk32vc9iipdz99";
+"texlive-docindex.doc-56593"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
+"texlive-en.doc-54755"="my69ybbyv9cxn91hh3ms3yksy391h7py";
+"texlive-scripts-56579"="vis89yjbvc8r961syjrpgalh61wa6rrj";
+"texlive-scripts.doc-56579"="m2vylj86h3xxpkspjny4sf5kbifj7dwl";
+"tlshell-56461"="r5iil3d7fmjj1fhc40nd29mh7cgdnfgv";
+"tlshell.doc-56461"="yps67a47kr5r3ljhd18kq35bhn2qjj3y";
+"aaai-named-52470"="3lh28gvljcszn9vhzgsb6fp93m7n4d1d";
+"aichej-15878"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
+"ajl-34016"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
 "amsrefs-2.14"="crmn3pm2zy2fcr5d82dwwwxjm42na6j3";
 "amsrefs.doc-2.14"="r45n92fihia786v5nsab5vgjvwgmij6d";
 "amsrefs.source-2.14"="k1rzn2d509i2nkfwclpbpir3q6a41ya9";
-"annotate-2019"="ialyl5d9w1gip0k9n3kjf83w6991bdcc";
+"annotate-52824"="ialyl5d9w1gip0k9n3kjf83w6991bdcc";
 "apacite-6.03"="sj9k6bnr8qhfddlzk7wd0daf12458yi9";
 "apacite.doc-6.03"="cbhyw6lwyg7mnx8h421y0hxf3h5m6n4y";
 "apacite.source-6.03"="cby7n3f9rzm83736nm4rn1m77km3lr9y";
-"apalike2-2019"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
-"archaeologie-2.4.4"="jbgj35snc3xs2wincdpmj0gjnbk2lmd9";
-"archaeologie.doc-2.4.4"="1wpp72bvsgvg48zgnk500a6jxiq85b2v";
-"archaeologie.source-2.4.4"="s711i7khx26mjkzaiy0ki990yab4nx69";
-"authordate-2019"="d2bswrn2prjx106g6qyxs0sdhxxr0wfh";
-"authordate.doc-2019"="0p505jmjdgvy26acbbgmkw9cp008kzl1";
-"beebe-2019"="h8z9if6vab76a9aa0a5z920j2mvcz6hp";
-"besjournals-2019"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
-"besjournals.doc-2019"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
+"apalike2-54080"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
+"archaeologie-2.4.5"="s5r653hgvq14sy4g4jg6yylfdfd9a857";
+"archaeologie.doc-2.4.5"="s8sycgiz1p9ijzsqpnjq68iqlrrd3z14";
+"archaeologie.source-2.4.5"="6azzb6zrv4xcrqc89a0f23inxgicin0c";
+"authordate-52564"="d2bswrn2prjx106g6qyxs0sdhxxr0wfh";
+"authordate.doc-52564"="0p505jmjdgvy26acbbgmkw9cp008kzl1";
+"beebe-56534"="g5giqxg2c2hv94k4hrzgf35aqbalfd8h";
+"besjournals-45662"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
+"besjournals.doc-45662"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
 "bestpapers-1.0"="15nq2m32h0giv41k6dslrw28han015aq";
 "bestpapers.doc-1.0"="mmlnsl83sil5zbdhwq16b6025sxdh9s6";
-"bib2gls-2.1"="vfm4vn7h93awqnr1fqpq0g63i5xk9ash";
-"bib2gls.doc-2.1"="6csr6s6isja89hbh6cybb58jscgqhpsy";
-"bib2gls.source-2.1"="5iawp2yg5swj36mb87x5h89hc6rrm47x";
+"bib2gls-2.7"="kgiw7xkmfmg7n4d2jbvb8d4cv5g77djq";
+"bib2gls.doc-2.7"="21wmffrl60n5p15c2ip5v4c612yflxkd";
+"bib2gls.source-2.7"="mhcwmipmy51887r810ydxs4dkh3zppmy";
 "bibarts-2.2"="w813f5qw2kbsmlhcwxsg62na06bp0p0r";
 "bibarts.doc-2.2"="xrv6r5iwpdyrjzqzanvgw2dy07xgkgb0";
 "bibarts.source-2.2"="c4js97f9wx1ndh8isk3fgg6lp1rhrrmb";
-"biber.doc-2.14"="dh15vwnvr1a3x2qkg3inkj6v7mr54sd6";
-"biber.source-2.14"="gq0k1xk380k1sl6q9878xg7rxl9vywac";
+"biber.doc-2.15"="vg8dnl0xsy1lx8cpxqr4n2amh64gxbzw";
+"biber.source-2.15"="jw9fanm2xw4f7f5gs7l4aqb5c9cxb98g";
 "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.14"="3miz9jhhbv5scw2jmrah14y7rwn11jf4";
-"biblatex.doc-3.14"="rf2d8iiwsilsf56lfpi39xg36439114a";
-"etoolbox-2.5h"="vkv8mqbzjsyh51cqk0d40gl48cj1zcmf";
-"etoolbox.doc-2.5h"="9rj773kv9ia8v5brs2aw8f4xrgg6r053";
+"biblatex-3.15a"="ki4f3anc1abw53fmndw5m41d3gl5a6d6";
+"biblatex.doc-3.15a"="0jdxzkwqy9kh3rb8w1aznbq1gz4hvzxf";
+"etoolbox-2.5k"="1b2h9kr3gk2by5n0dswnq3z1hf68q5lm";
+"etoolbox.doc-2.5k"="51558shd94h5lrary13dznhss225wrfd";
 "kvoptions-3.13"="jnr335l6nr52608i08zza9z1qi7drnnx";
 "kvoptions.doc-3.13"="w77jdi8gdsjzlhzwscnjvhpp0l27dh06";
 "kvoptions.source-3.13"="ab0dw2aayx34kgshcjv0k4hx4zr9ar72";
 "logreq-1.0"="4kl4g8kjy4zch0rdn8aj2mr5yxpssdc0";
 "logreq.doc-1.0"="8s7ly9p9m270mhhh16gv5p71r10cpnzv";
-"pdftexcmds-0.31"="hxac5ylr8zlwlaq0ap8dbly3rz892z6d";
-"pdftexcmds.doc-0.31"="69mrbhhvrq1q69ap9vad2f0hjy7mf9c3";
-"pdftexcmds.source-0.31"="v1c5nbfzz7g72ryj030sbnk7f3y7igg7";
+"pdftexcmds-0.33"="pa208jqk3rvps51niwccdmnx3c0zhlc2";
+"pdftexcmds.doc-0.33"="3nbk8p285nzhw2vqaa31xnhr7cxflqqb";
+"pdftexcmds.source-0.33"="gzwymkn5xcy2fkvhn4qsny7cm6fx4hrf";
 "url-3.4"="vf34zjwlv43kcw53sdla9052x7x0kn7y";
 "url.doc-3.4"="ii3z3l7xkmrkxb8dkgk6lcqyb34niirc";
 "biblatex-abnt-3.4"="ryrk1n85x197ff723jla7vrcv4jkb2fv";
 "biblatex-abnt.doc-3.4"="i1b7mjmy8din75dzaqb407n5byavjwzy";
+"biblatex-ajc2020unofficial-0.2.0"="kiiyd9fswfrwzgl79h06a4izzsa0m1ns";
+"biblatex-ajc2020unofficial.doc-0.2.0"="bqqpysk5gxxy0mvyghz126zh4rbqlxqx";
 "biblatex-anonymous-2.6.2"="yv83qimx8n31f00csmlxxlmymxsq1ngf";
 "biblatex-anonymous.doc-2.6.2"="s3g5ndv0alcpi8jmslrashcg4slb96hz";
-"biblatex-apa-9.6"="2g68sdqx9psqbkcbn9zy2xbjk33sjppn";
-"biblatex-apa.doc-9.6"="ldllah271jz816nccaybyg9k6p2v3j4w";
-"biblatex-apa6-8.3"="df6vxwgcky269dr65v1xi4a4ycxxrppx";
-"biblatex-apa6.doc-8.3"="bmrj18hdb2ls5s7n52148g95fi25v9n7";
+"biblatex-apa-9.14"="1hv74dv3bqgafga8mmckmx7davj7f2l5";
+"biblatex-apa.doc-9.14"="nx2dj10pvvqmxzrm80cssba35v5hcy32";
+"biblatex-apa6-8.5"="byr40jxzifn0kpnksclsn8gz2am6h4w5";
+"biblatex-apa6.doc-8.5"="bkm3wh8c227wfl8f3899ra3swwavv7fh";
 "biblatex-archaeology-2.2"="4f3a6ma209x4902fw43xhhs9wkk741hn";
 "biblatex-archaeology.doc-2.2"="n8377bbiwq09fszgq2lq7i3qkzr32jbi";
 "biblatex-archaeology.source-2.2"="c6316rahqfyxqkb546gpljvqj8jncccx";
@@ -136,42 +136,44 @@
 "biblatex-bath.source-3.2"="rz1ckg5cqcxdyi4928r5fxbm47aiqgsj";
 "biblatex-bookinarticle-1.3.1a"="bnx6iravlnrkkyqb3ah21p0ikq00ab57";
 "biblatex-bookinarticle.doc-1.3.1a"="6shjhb1lajkivsh3mrr2whli5hcsb8b4";
-"biblatex-bookinother-2.3.2"="88v9r4l153lzbkz6ss0r1nfbhh45yqgf";
-"biblatex-bookinother.doc-2.3.2"="pbxlk3azrd21zcsnc7f1sfqpq44632qv";
+"biblatex-bookinother-2.3.3"="lcqqnr0za3jf3h3yr0kbffwnxpg7ww9k";
+"biblatex-bookinother.doc-2.3.3"="wz5w9vgr3c19kd5x6fic9sx3qs6lz0vy";
 "biblatex-bwl-0.02"="0a11hlav9gsavdisyjckvnrxkkb4134w";
 "biblatex-bwl.doc-0.02"="b7ddxvcabp9qd88mzb6dxvw7sz8dnqfq";
 "biblatex-caspervector-0.3.4"="5rgdqdckgrl9pbk2d3q4cr0g6j2gb0mf";
 "biblatex-caspervector.doc-0.3.4"="2n8fhy903ydzz24kqc491qd7x0hrypjv";
 "biblatex-chem-1.1y"="fizmglf8yy4zn0kqbng2d5c7i9migvjs";
 "biblatex-chem.doc-1.1y"="xl7fq05fa16ayzpxpjjqjdkkdxb0jj6x";
-"biblatex-chicago-1.0rc5"="0m7wf9glvcqm20cfn6xgpciz6nvg8vib";
-"biblatex-chicago.doc-1.0rc5"="zr7fqjvzg0i8nmzldwsidq8r58xcbhlx";
+"biblatex-chicago-2.0"="6ljx5hr3m84xy0ljj49z04c1dxdnql8n";
+"biblatex-chicago.doc-2.0"="f7l4paw8z7zhbvlzcbwd78n69qsypps9";
 "biblatex-claves-1.2.1"="yq5s9plvimz4w9san81swl08g2v6pa6q";
 "biblatex-claves.doc-1.2.1"="36qjs0m893389s9wkw5wxai04qp8zxs6";
 "biblatex-dw-1.7"="9nf2hg43q6if3v5hdrfxnpbdww7y06jv";
 "biblatex-dw.doc-1.7"="ppry56vc44c86m47r1z8mq9s7fg77n8m";
 "biblatex-enc-1.0"="ccc2f3rnf7kyavb3r2hmah6pcfl1xivg";
 "biblatex-enc.doc-1.0"="b54x1g0296ln6lkw1zvlbmshhr93vg7y";
-"biblatex-ext-0.8c"="7m6l4jagryik9vfbsgblvg8c7ivzbcln";
-"biblatex-ext.doc-0.8c"="7i5s76fxxnc6l5zrfbdm2kb26xl8rf67";
+"biblatex-ext-0.9"="kzr50lz234hwhfhhblxc3hz5696znq87";
+"biblatex-ext.doc-0.9"="yq631vfhj878gwfkjryn851zlmilcvp5";
 "biblatex-fiwi-1.7"="xwb00mw95l90bba4fc31kw62p43cxjz1";
 "biblatex-fiwi.doc-1.7"="y5hpi0gwp2s7hgqir2qw2yam9l3aqzdw";
-"biblatex-gb7714-2015-1.0s"="349q48k7k21nwy0fkkha7jjgjkyygcqa";
-"biblatex-gb7714-2015.doc-1.0s"="x5gybphqsrbydy3lp2vkdfzcfacxjlwn";
+"biblatex-gb7714-2015-1.0v"="cq9fszwkn128c0yprjal5jcjfhcra8a7";
+"biblatex-gb7714-2015.doc-1.0v"="gwf2wk7ha7gadg90zp0y91rq04mn4b00";
+"biblatex-german-legal-001"="myvc5zb0a4v9d9y8z4bp34ynvyblnix4";
+"biblatex-german-legal.doc-001"="g2p5by6h7fysyglyj8gdsjz3mnwjl1pc";
 "biblatex-gost-1.18"="xp5b370133fs6dsr8xzw9xfnyxf1hxfa";
 "biblatex-gost.doc-1.18"="jldlsx5faynps1m7zfc94asbcd7473x2";
 "biblatex-historian-0.4"="xp6r6a37ibm9fhdc95b2v3x5kgyz26c8";
 "biblatex-historian.doc-0.4"="6280kicfk2n0hwp03pyhl29ljdg911hb";
-"biblatex-ieee-1.3b"="c9xvvwp0csvicxg2lv7lfsyszza26r0q";
-"biblatex-ieee.doc-1.3b"="8426p4jfhm4kswblmmc20s131sdlprp5";
+"biblatex-ieee-1.3c"="ysyhz738wl2y1a7wqkmxqjrkz7ajdax8";
+"biblatex-ieee.doc-1.3c"="jpdz0v1ircribqnv33wr19ffxxsw5b7y";
 "biblatex-ijsra-0.1"="179hh36v47xfagjwp5vj3hczc18jkrgf";
 "biblatex-ijsra.doc-0.1"="x3js5mb545xapavsqq4phml7zqiswiki";
-"biblatex-iso690-0.3.3"="sxgb0zhcib9kgk12p3dph0w5915b5vag";
-"biblatex-iso690.doc-0.3.3"="x2fp9x7nyyk09ck9dqaigjdqvh4qchpn";
-"biblatex-jura2-0.3"="rp45sjnc0n79x8qkigpjajc7crfxcnvg";
-"biblatex-jura2.doc-0.3"="wss54malzwr4b6scmd8a5ij3dmkbgdwx";
-"biblatex-juradiss-0.1g"="0smwgi3vg97aiy6w8ya68zmaz711drlp";
-"biblatex-juradiss.doc-0.1g"="d4dp9hld95b70k8b5qxlmvcgcsxpv0g8";
+"biblatex-iso690-0.4"="f4hhfkq9hg3m1s3vcxddqqsi1wfhy4c7";
+"biblatex-iso690.doc-0.4"="mn63yqr0r3jrx7ds6myzx9gix3gl4ppx";
+"biblatex-jura2-0.4"="gwij6q3c9z10d9jlndb3x9avi26wiywm";
+"biblatex-jura2.doc-0.4"="9s1w54g9sh8j3i3z4bnsm0rp8g8kazxs";
+"biblatex-juradiss-0.23"="f9z0md8rgzixjxp78p1bb96pr71f7bls";
+"biblatex-juradiss.doc-0.23"="zspyq2lkxh56cq2ldcskhiwmab549r69";
 "biblatex-lni-0.5"="hqp4whkb7d4h71kdc8gvqjrrr12f6dda";
 "biblatex-lni.doc-0.5"="z9pj0sxkl3ld3hq89bnlllx1522rv3kn";
 "biblatex-luh-ipw-0.3"="83gar343q3h1h96h8lzs2bmsp1ba82n0";
@@ -198,13 +200,13 @@
 "biblatex-oxref-2.0.1"="nlc115k2ciss7450vlbksrav7y3wrvqm";
 "biblatex-oxref.doc-2.0.1"="2q3cb51zp8iaaps2m2m7lw1ffzm0jzlz";
 "biblatex-oxref.source-2.0.1"="dyyjar6l7fzw2glggr3xzszcmmigbkpl";
-"biblatex-philosophy-1.9.8a"="kha09gq8n5db4fxh2w6s5690vms39hlw";
-"biblatex-philosophy.doc-1.9.8a"="3m8nl72q1q3hfv3xxdj978pmxjvn43s2";
-"biblatex-philosophy.source-1.9.8a"="3102fdih2bxplhadmwvi09lns9agflcz";
+"biblatex-philosophy-1.9.8c"="n2nkfafqbs1rmij23q45ry0gww43s6c4";
+"biblatex-philosophy.doc-1.9.8c"="lsllrjkqva40nfz6bxmgiklh2sc6rzs0";
+"biblatex-philosophy.source-1.9.8c"="j2sp7vlflcfgj7r4cwdr0xys52gnf3c6";
 "biblatex-phys-1.1b"="w0pxnyvy531qn79ahihx1iim8snhlyn7";
 "biblatex-phys.doc-1.1b"="jxa3qi102kdamzn9yc0bqrck650wib7b";
-"biblatex-publist-1.16"="jz1rnnnqx61jc88ksl536sldn2sc066j";
-"biblatex-publist.doc-1.16"="yikna45mkm4k222s7kpgs827q28al3vf";
+"biblatex-publist-1.21"="m4ca3llqdjm9n5w2r7vy5g3fldzzynkr";
+"biblatex-publist.doc-1.21"="gqbkq5880gn9maswfdvsfkbgh9y93j9a";
 "biblatex-realauthor-2.7.1a"="6qb576bh9x616f02msiq3xz83xzaa047";
 "biblatex-realauthor.doc-2.7.1a"="9pbd2aixmwj8as9lrmivkkfl4081820q";
 "biblatex-sbl-0.11"="kd461qdagb93p72av0ffqpy6747yz37k";
@@ -215,6 +217,9 @@
 "biblatex-shortfields.doc-1.0.1"="4lq9x8wydvl7vmnl7wvz3x3zarnjgld0";
 "biblatex-socialscienceshuberlin-0.0.1"="63ccn3japdafc8mdxncldds97zvkwa64";
 "biblatex-socialscienceshuberlin.doc-0.0.1"="08n3z5lxx9sjrlwf747h9z38a1nk1wdp";
+"biblatex-software-1.2-2"="6rwwcs4xvfrvr528xyis1xwj0c3md35m";
+"biblatex-software.doc-1.2-2"="6hrq8nkwzpbdd7jjhcyisl3ahkqhflmv";
+"biblatex-software.source-1.2-2"="lww5bsbpmlp1ll71x1sz49y6n26imkar";
 "biblatex-source-division-2.4.2"="kdxm789jnmvyzkx7pi9983jq25p30iib";
 "biblatex-source-division.doc-2.4.2"="4j6h8k98v95n05lzfzp8804gir24vbmc";
 "biblatex-subseries-1.2.0"="v7rfg6wqkqgzm8fwrg0ncwinjzsibcdf";
@@ -225,8 +230,14 @@
 "biblatex-trad.doc-0.4a"="i3b3iybys9x78z52bal216qi3p6xr83z";
 "biblatex-true-citepages-omit-2.0.0"="y7mg4jqb3fl9mzy93xcpxz3y0l5fw3kc";
 "biblatex-true-citepages-omit.doc-2.0.0"="7cxbqdyazdfp0masgk6a31rr3h9606xd";
-"biblist-2019"="b565jl60ysccd5qkzgidjb188i509y9l";
-"biblist.doc-2019"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
+"biblatex-unified-1.00"="ks0l3ggiidbwhsnvfxzck8m8ji42zx63";
+"biblatex-unified.doc-1.00"="8x3k2cn8srdw8j359xinicb47dvbmr6l";
+"biblatex-vancouver-0.1"="1ml0897m983ym5gzw58q2kscx106xdd1";
+"biblatex-vancouver.doc-0.1"="k5j8nx2xgp3i85s0sczblaj1in2yq11q";
+"biblatex2bibitem-0.2.0"="wllvyb15idz442hmnkz4kbdbp7qc64zv";
+"biblatex2bibitem.doc-0.2.0"="fymi4mzi8z1f1i4hjh928v8cajfyblgp";
+"biblist-17116"="b565jl60ysccd5qkzgidjb188i509y9l";
+"biblist.doc-17116"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
 "bibtexperllibs-1.5"="nnb90d3rqwa1vcc92fmmbnhs7di0rkgv";
 "bibtexperllibs.doc-1.5"="mzvrc7zyrq6agqb5vhxy743brp57yf4j";
 "bibtexperllibs.source-1.5"="ailmqz0d71gscxa584pkb6jpvvzish9r";
@@ -239,23 +250,23 @@
 "bibunits-2.2"="vkahqz7zjn0g4dkpffvg8rfhjlynvmnf";
 "bibunits.doc-2.2"="d6xcf9xdkabjg3jrnyklla7kpbylrg61";
 "bibunits.source-2.2"="1hxc8yqjpri8pn512pfvcq7b2m9qnwib";
-"biolett-bst-2019"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
-"biolett-bst.doc-2019"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
+"biolett-bst-42217"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
+"biolett-bst.doc-42217"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
 "bookdb-0.2"="b4mqk50dn86zf30w2z8953ms8m8v9lrs";
 "bookdb.doc-0.2"="y5sdn2fijycnyx9is1cqc5vx6zkyav62";
-"breakcites-2019"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
-"breakcites.doc-2019"="jjqimy63648q6n4mzlwrd7p723m09cbw";
-"cell-2019"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
-"cell.doc-2019"="61a0456g9i76nxwhpv18fw532nimk2l4";
+"breakcites-21014"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
+"breakcites.doc-21014"="jjqimy63648q6n4mzlwrd7p723m09cbw";
+"cell-42428"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
+"cell.doc-42428"="61a0456g9i76nxwhpv18fw532nimk2l4";
 "chbibref-1.0"="7d51sy03z9ww5ns8x0mfiplyk00dgb00";
 "chbibref.doc-1.0"="xyypa6w4gx297hpp1ixg8g431rz436qf";
 "chembst-0.2.5"="08b5a38p2x2xgv5nw1ibi0xpc4xqixnn";
 "chembst.doc-0.2.5"="wgbb4bcl51wnixp4rb94qqqn880mxm7f";
 "chembst.source-0.2.5"="360yyds5c6mbcsm60mm3jq8xfxcpnw5v";
-"chicago-2019"="k9y76g5a4nfy88igklw08n27zvnnap2b";
-"chicago-annote-2019"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
-"chicago-annote.doc-2019"="8qhd3kj016s9laavhg1wvimy4325zz0g";
-"chicagoa-2019"="7ka9kkyvy1w4s0xipgr6f49lajd78nzn";
+"chicago-15878"="k9y76g5a4nfy88igklw08n27zvnnap2b";
+"chicago-annote-15878"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
+"chicago-annote.doc-15878"="8qhd3kj016s9laavhg1wvimy4325zz0g";
+"chicagoa-52567"="7ka9kkyvy1w4s0xipgr6f49lajd78nzn";
 "chscite-2.9999"="yc7v9v66md3dy5k2gjswzh58xzxdhwp4";
 "chscite.doc-2.9999"="fbcykh46rifs4kvn728sav04fnshr6br";
 "chscite.source-2.9999"="vsii846cdlrd9fdmf4npwy8jxh0fcafb";
@@ -266,12 +277,12 @@
 "ae-1.4"="zx6mlxrdhfvp0a5ql61jhlj97pcxazwz";
 "ae.doc-1.4"="pgvyvlql6hncc8bv2wdf8ja6xxqjjqs7";
 "ae.source-1.4"="jzwswwwsb988mvhiiyb7p43g33985n8p";
-"amscls-2.20.4"="hjr4w21h3fp0y6m5gb30p6f54ybv0l0j";
-"amscls.doc-2.20.4"="zyf0gsqks7yvszlngwzjbjiigc0943cd";
-"amscls.source-2.20.4"="8lgim0r54srk961ys2q7v80dq5w04i9b";
-"amsmath-2019"="v9xa953rly8mc854mfq4zzavwpvswkid";
-"amsmath.doc-2019"="1ql51mqama6f0r7q58npmcy8zns5nk81";
-"amsmath.source-2019"="2crzrkgbi131v1db2zz8ysfbgjminxc5";
+"amscls-2.20.6"="m5zwmxar85gyv6pd1bjr4wm3plpjw566";
+"amscls.doc-2.20.6"="63ggqvhkqm7s5kwka5ys9292i9scxnjf";
+"amscls.source-2.20.6"="bzksjmshkzxdxc8mh86yx6cl8sb4w9q6";
+"amsmath-56514"="gl23v3yd7q2lcd9fjdnbni1y2hqw54px";
+"amsmath.doc-56514"="2x5rg53gv1s4mlyjmdr583ssy1clzg6m";
+"amsmath.source-56514"="720p54x5jha7ay8n0nap77kj5xnbcam4";
 "atbegshi-1.19"="rd12v7qnwk6mig4vcr1xziqrji613i8m";
 "atbegshi.doc-1.19"="qpmwwvq8lzm95iipc1bqmff8z1fjwr20";
 "atbegshi.source-1.19"="h4ah2l0qz9yh9y4sj51ai95n5ynd65bd";
@@ -281,9 +292,9 @@
 "auxhook-1.6"="xac68wvfhmds8251pc9ii7rjlak9ya27";
 "auxhook.doc-1.6"="gmg6905gsw51mvqwpksajw3p8yjag16c";
 "auxhook.source-1.6"="d0f1ia58xllmkg796dvky2b4mv86p7yd";
-"babel-3.41"="sirs099z46wsbmc4lq8xwc8anxkz0klq";
-"babel.doc-3.41"="6dj92yi6jjfl0yaxylzz89q1v5n2c0lb";
-"babel.source-3.41"="g6sdds3bcvw4v2nd97p5n2dldvrs30b8";
+"babel-3.50"="6h9rzbgz641k7kh2ya1qyl6zcwnsk9rq";
+"babel.doc-3.50"="n1m6vsdkqgbhyy8dxjl3pypwih2kza0b";
+"babel.source-3.50"="m6jv9li0r7p79i36vzqvwql03y6vamrr";
 "babel-english-3.3r"="lrsz299wwvr17sshfjvsvrzs0s9y2acs";
 "babel-english.doc-3.3r"="y7rp46lrpxsp8z1ridc6msxnbb008k0c";
 "babel-english.source-3.3r"="5sxvprjfcqhw6xb3mv3b0smp2gsckjs9";
@@ -298,9 +309,9 @@
 "bookmark-1.28"="bpz7mvymqhww5nimmwnsmyfr39374cm9";
 "bookmark.doc-1.28"="briagq8yzmxjx9ridrrwql99a1pk6lv7";
 "bookmark.source-1.28"="2h3yqzjr5z2jfy53r45403cfli8ch6g1";
-"carlisle-2019"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
-"carlisle.doc-2019"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
-"carlisle.source-2019"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
+"carlisle-47876"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
+"carlisle.doc-47876"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
+"carlisle.source-47876"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
 "colortbl-1.0e"="v55k9b9db0gy7fhqp0lg3isy4v9slphm";
 "colortbl.doc-1.0e"="445wygx49bhlsyqm9czmp4npksgxxs01";
 "colortbl.source-1.0e"="jbxzz8nx1gxm642yr63am3nz9f3sqq5b";
@@ -313,29 +324,35 @@
 "fancyhdr-3.10"="0jn1ivsf29hmmclhxbl1fc2gmglgwcq8";
 "fancyhdr.doc-3.10"="dndsyllh1bb96p5acr7dics7831g4pax";
 "fancyhdr.source-3.10"="xg41mjxhd1vajr1n1s8vzvggkf4zi9lz";
+"firstaid-1.0d"="wc9n67g7v1y82wzmmijjmy7ai6f84ls8";
+"firstaid.doc-1.0d"="9s2vhl6yqgl5vr5877862j3jcfdcqfnd";
+"firstaid.source-1.0d"="qqk73cw9b4wjram607ylxq989nf32jmm";
 "fix2col-0.04"="4lr11c6qqbsmm3jixayn7jlyikh65b83";
 "fix2col.doc-0.04"="k9hlwbz12vqc446y1ydy045j7c29yzng";
 "fix2col.source-0.04"="524zn5yfy3zwy70m11vch4ri5xwrgi0p";
 "geometry-5.9"="lh2ipfx1nhgq622jg0d63h34pcmf9w62";
 "geometry.doc-5.9"="lbicfnq1a337hyqqv9a8gka58d9na7pf";
 "geometry.source-5.9"="7clx1fs5q3w4qy58x4iicybgjm0985hw";
-"graphics-2019"="a3v0hbvmdjv6g6q5261gp2bpfqcqsmy9";
-"graphics.doc-2019"="d6rkw4xhxq19s8yvxxdn20kvvgg187iz";
-"graphics.source-2019"="0gxgf08csyxj8zjlkvlq8kp7jp1rc6z3";
-"graphics-cfg-2019"="j73na78ajl4n50wn2is5wvw7mf27da86";
-"graphics-cfg.doc-2019"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
+"graphics-56514"="vrbps04ijp3mfn7q097n3cwprhaqv8k2";
+"graphics.doc-56514"="y748ygwssmq48hlb4rx6i7fxx9chvrxn";
+"graphics.source-56514"="ig68pkabrdsdfpzzl144p9r50iig4iq2";
+"graphics-cfg-41448"="j73na78ajl4n50wn2is5wvw7mf27da86";
+"graphics-cfg.doc-41448"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
 "gettitlestring-1.6"="a4i7kyl19gyxdjkmmmrq7cwsjz92mapc";
 "gettitlestring.doc-1.6"="hrn7918v2qlw7xlcsslms56w33wcfag1";
 "gettitlestring.source-1.6"="lskbp47gqwb0gydcbq2dva1wskr9isjp";
 "grfext-1.3"="ds9vw8yvxaazr9jwfx7s4pldwpqkmynn";
 "grfext.doc-1.3"="zdbrsf2a9y0g128nl2j124b2qyn9japz";
 "grfext.source-1.3"="zig714i8cp2ibvchcigj4h7pvls2xw4v";
+"hopatch-1.4"="lp72821hqi9bhrldni1056wp7kg6valp";
+"hopatch.doc-1.4"="rx61jfcnn581l2078xaw7bslk953g7cd";
+"hopatch.source-1.4"="c140sgy5nbx9s6jhx6qd13b6hs83mkbn";
 "hycolor-1.10"="fpks9kvhjvqs20wq3ay8i5fhy9vf0r15";
 "hycolor.doc-1.10"="fmls09bj0wgl6bx5djbyimqd7dhyfcjs";
 "hycolor.source-1.10"="pdsx5dzxqw064s62bllxw2r27102p689";
-"hyperref-7.00d"="h93ya61rcia87phjmq8g7zgfbb6sf3mf";
-"hyperref.doc-7.00d"="d14njcv06hr30b01g0cbxypzwjfp6jny";
-"hyperref.source-7.00d"="9ppj94hdgr47v99fb1b8yd5h964wqix2";
+"hyperref-7.00e"="xn7lbnj1k5wxzss1nvf6i20170rlyscz";
+"hyperref.doc-7.00e"="1kywx27kh2ifv5cs58h6hki3jbhl4c6x";
+"hyperref.source-7.00e"="d6bfy02jvrbs90kkcmcdd9kxidjamalr";
 "intcalc-1.3"="3qbzf5d01w7jk4ffnn3h254vf0n4qqhj";
 "intcalc.doc-1.3"="g6yv27w5qs315nywq85qmicvawyp6wp4";
 "intcalc.source-1.3"="mz1j4jmq5i376ldqik3c9ayl94d78cyc";
@@ -348,9 +365,9 @@
 "letltxmacro-1.6"="1hik240za8h6rs8yz8x6f5vnzanmr79x";
 "letltxmacro.doc-1.6"="yjy1hvgprhi7n60dpgm847k65zz91v5m";
 "letltxmacro.source-1.6"="m8q4jdw8fxwff5yrdg4rq3kmf0a05zg9";
-"ltxcmds-1.24"="aw3bpld6wq939h9b4a57xsi82nv7y0jg";
-"ltxcmds.doc-1.24"="yw90x0ni4sjf3i0f0f6dza0rxy4xqlq0";
-"ltxcmds.source-1.24"="gvwjdbmvdsvzn18gs8br619ndfjfg059";
+"ltxcmds-1.25"="gyfgkyx4ds7mq4dkr2813nz4f2nwzhnf";
+"ltxcmds.doc-1.25"="hcgnp0dh8xiip47i9cxvbq9hplp2ngj9";
+"ltxcmds.source-1.25"="pyzd96nldhdlzv2h05vaz43pm9h1c89d";
 "pdfescape-1.15"="4150ga4j3q8q8g73k2f263arfdav6mpd";
 "pdfescape.doc-1.15"="rdc2ws2iy75nympsdis3y6wfillzn8rd";
 "pdfescape.source-1.15"="dji9isdc78x365cg06il8pmi7cl985yr";
@@ -366,70 +383,79 @@
 "stringenc-1.12"="mmjk31qhflv57x6gpwdipcxz2i2x8fx1";
 "stringenc.doc-1.12"="7cnk13y2ilryc5pccp0l0aj6gd1386n8";
 "stringenc.source-1.12"="x2qlpjnp9jaygakbvw30wlg9sh8xyr08";
-"l3backend-2019"="z6wh5cqir7icbih4kni4259m6sib8kyy";
-"l3backend.doc-2019"="j59ndgc7d7y9mdh6fwdxlqgj9a1dg8if";
-"l3backend.source-2019"="y2jdzx8mfir676arj2qwb3yqnc8ghlcg";
-"l3kernel-2019"="8fyf0y5q84vxzwa2k0g7npig0z51c40j";
-"l3kernel.doc-2019"="snvn093p1vv9s2qawdx2py071cz1gmrc";
-"l3kernel.source-2019"="dzkgibl62dlyf31q5qz353drqal9j0md";
-"latex-2020-02-02-PL5"="zk5q743mvp8bqq11y72g0h29ff9wjc4v";
-"latex.doc-2020-02-02-PL5"="l8f0d3bzyqlxv7q9abp39s1r1w0lql13";
-"latex.source-2020-02-02-PL5"="g4va39aywmz200pnvnl55699js6bzkkl";
-"latex-fonts-2019"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
-"latex-fonts.doc-2019"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
-"latexconfig-2019"="p0p0bmn0xa6pny05y862pnviafrjhr7i";
-"latex-bin.doc-2019"="wcsdzg8gg1f2c5j5n73pj109ah474jr9";
+"zapfding-31835"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
+"l3backend-56424"="7rdw1mdgyy4gm57c0c1yyalj8sfpadi8";
+"l3backend.doc-56424"="4dhc5awcvpiymir33wm4asz2xbawhk45";
+"l3backend.source-56424"="8infr5qkjrps0nqlrpijsap5p01ccwx6";
+"l3kernel-56556"="65gl8zbvg0pss7wx2qh2vlhgjlzl334b";
+"l3kernel.doc-56556"="gjz8zrj31z4mim2h94wyxdqms0k6172n";
+"l3kernel.source-56556"="siqk8556hfi891ahz2gviq7n4qhyml4s";
+"latex-56514"="xmsf352kgs9dlck2xhq166hggrxikfk9";
+"latex.doc-56514"="cnfa8kaznlibh8bcdx8ab1gpy7qyik9p";
+"latex.source-56514"="p2mljvf1iybpcif73rf1ir9zzp6kpxkh";
+"latex-fonts-28888"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
+"latex-fonts.doc-28888"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
+"latexconfig-53525"="p0p0bmn0xa6pny05y862pnviafrjhr7i";
+"latex-bin.doc-56548"="6k6l63crh3kpg22v79s5kq3gra330194";
+"l3packages-56556"="7r7k76lr7wqqx87d4xnjpc3aykis6328";
+"l3packages.doc-56556"="737y7wzkjkl37hav3xah06qz9ara231s";
+"l3packages.source-56556"="q4b59jmgsmfrwbm1a9dkhfdngg6ppyny";
 "lm-2.004"="ci5dpznkzlal3bkn0dcd2m5i05aws66g";
 "lm.doc-2.004"="w3g5xn4pfqhri4glpbh66rs8d6nbrd02";
 "lm.source-2.004"="bw69srvx8mprnj8d5f48bq3mg1ysfk1n";
-"luaotfload-3.12"="ackv6b8wkvqxpsiihkal9cqand8hii8w";
-"luaotfload.doc-3.12"="wxi9k0jcksi4vaf6xxhdblbmcql8y06c";
-"luaotfload.source-3.12"="6gn5jrfg8f082s56abjw86ss54x1lg13";
-"lualibs-2.70"="m5gqykaxhmj5g03x8wrkr0klind62ymp";
-"lualibs.doc-2.70"="vg9ab9js8xywziah3qv2v9zxg75ck0hx";
-"lualibs.source-2.70"="5z8xq8kwx7sd9pva0y3mmgxgxq7n5wp8";
-"ltxmisc-2019"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
-"mfnfss-2019"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
-"mfnfss.doc-2019"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
-"mfnfss.source-2019"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
-"mptopdf-2019"="s1gykljbmzqqpdhipyxnsz4cmmpxmm96";
-"mptopdf.doc-2019"="1ykld5gmmg25mr3i0bbf0piscpd5v4xv";
+"luaotfload-3.15"="k4a960gmx52xlzvy58f5j731ljxnq6vx";
+"luaotfload.doc-3.15"="rk8ah69vjc92gyr459pj0iysk20yrckm";
+"luaotfload.source-3.15"="423i6lpfcs4f8y3hlh0fk7ihmpwkbz20";
+"lualibs-2.72"="iwr4hyw221wvr0qyz1pnmbj0hry0304b";
+"lualibs.doc-2.72"="6kwwhgmkpdgpwiy2l3rhl4w865ng4cg6";
+"lualibs.source-2.72"="2nh5mw358ppnb5dhcrxf0qn11n14i1iv";
+"ms-51784"="1pl0q5d2rmp29raq2icpn03lfa7hynv9";
+"ms.doc-51784"="xwl23v3xbp7kahsh1d5lgjazbbbn91hm";
+"ms.source-51784"="9bmd1famkcmas9g2bb9mi0z6yjrlrqh7";
+"ltxmisc-21927"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
+"mfnfss-46036"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
+"mfnfss.doc-46036"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
+"mfnfss.source-46036"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
+"mptopdf-54276"="s1gykljbmzqqpdhipyxnsz4cmmpxmm96";
+"mptopdf.doc-54276"="z2jlmw0d4lw1mkn7qwlpyvx9rradiawl";
 "natbib-8.31b"="c4fyqph06vxqm37z88r31q84xz5imcnj";
 "natbib.doc-8.31b"="fsg1kcjvbp5hfn9h8lwhygnil9wr7awg";
 "natbib.source-8.31b"="c4b7bqivps74v8286lf4j36p551jhnzj";
-"oberdiek-2019"="ys692jj87xpwi8wccf894rl1cddag1qg";
-"oberdiek.doc-2019"="8gvg7cd988yszmbc6y4n9427hzxmi4q3";
-"oberdiek.source-2019"="2j2ybm3kipln69ar01hw0zjwj8ihy26j";
+"oberdiek-56291"="hh8lv79mk91rpmmg4dghwhxf0dn5bspr";
+"oberdiek.doc-56291"="flbpbinnhlmzdkn70zlg1zllrrgr8wf6";
+"oberdiek.source-56291"="xgj6s1953j85qhyhx0cf3lhijv51c2km";
 "grffile-2.1"="syj6z9xmjbkjwn9fvk88bh5z0jsxqhfh";
 "grffile.doc-2.1"="lbm6cjskdpf47d9imp0ina431wagj5aw";
 "grffile.source-2.1"="a5pp25fmbhj3zb33hx18pcfc2i14gjcm";
 "infwarerr-1.5"="75sarxc1v1ycj4rj6hikd7i0wx6b2w65";
 "infwarerr.doc-1.5"="s0g9m590r3jq0r9d3lidi6pd8paydimk";
 "infwarerr.source-1.5"="idalazzzcx2mh2b23q9sk7amwsk3f1wr";
-"pslatex-2019"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
-"pslatex.source-2019"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
-"psnfss-9.2a"="a4gfps30ywrjdah9m5dknsv5yl80h0gz";
-"psnfss.doc-9.2a"="pbiaqsf1gqrwic9pf499k89aw757wr9m";
-"psnfss.source-9.2a"="vi285d52bbvq01x4yan9md3cck4dc1lh";
-"symbol-2019"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
-"zapfding-2019"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
-"pspicture-2019"="siqi85kfmyg91cf7nggs71jh38g2aicl";
-"pspicture.doc-2019"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
-"pspicture.source-2019"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
-"tools-2019"="3xlv7ifks3rvkdcwmldwnb8bh8xci852";
-"tools.doc-2019"="qrxixpd7fch0l0d17qwp7x3v44klsvsd";
-"tools.source-2019"="4s2cd0zvswd0k9lhplfp325pmax11svc";
+"pagesel-1.10"="a3bipby43s0bnbbycdap5js574jfn3yd";
+"pagesel.doc-1.10"="qz26gbs5mn6z4raxlwi6adm7g4mxps7h";
+"pagesel.source-1.10"="y2qqg5hjld7rvfvfnmj1mgshwzfzh9mj";
+"pslatex-16416"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
+"pslatex.source-16416"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
+"psnfss-9.3"="xcfg32llsp1zwclhdwmyp7ll4vn013fr";
+"psnfss.doc-9.3"="p1psj7zb6i3jykmmh8ia3y9d94mdx72s";
+"psnfss.source-9.3"="rv9p5ih5nhsmafdvx99ndbch07yj071c";
+"symbol-31835"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
+"pspicture-15878"="siqi85kfmyg91cf7nggs71jh38g2aicl";
+"pspicture.doc-15878"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
+"pspicture.source-15878"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
+"tools-56514"="k94mh7vvdfnkzcd4sz4ra52byb6n2crs";
+"tools.doc-56514"="r5fnxcyk8rjqyid8i4ymhxr4lynrdrcs";
+"tools.source-56514"="yl31ix955ds02gf84492pzf9a4zjd5di";
 "collref-2.0c"="xxcnjj8qnbb06zkmh5kqysdm6k5yf4z4";
 "collref.doc-2.0c"="5a9ns23lv1n780ll3kp969dhi0mx93gb";
 "collref.source-2.0c"="7msfby8bxs89i87jiibpbnp97byjs6p5";
-"compactbib-2019"="5365y0lxziirnp7rraxwbcksrky9hr1m";
-"crossrefware-2019"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
-"crossrefware.doc-2019"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
+"compactbib-15878"="5365y0lxziirnp7rraxwbcksrky9hr1m";
+"crossrefware-47861"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
+"crossrefware.doc-47861"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
 "custom-bib-4.33"="9vqjbilzlsqg3f609hnz27pwmrl5gfg5";
 "custom-bib.doc-4.33"="nz1gxi8ixypxpf4cv7nilabq1ivr6fiz";
 "custom-bib.source-4.33"="vmak3xkin0hmg92mmpxj53dgs2f2yihg";
-"din1505-2019"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
-"din1505.doc-2019"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
+"din1505-19441"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
+"din1505.doc-19441"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
 "dk-bib-0.6"="yvbpqypgxkh6i47yvkk0cp7qsfy083gr";
 "dk-bib.doc-0.6"="px69q4pi9444kwmw6fpmajvdwl8ivw9i";
 "dk-bib.source-0.6"="1jmv0pg8x913y6y0xjb888s0zg91iw1l";
@@ -438,39 +464,39 @@
 "doipubmed.source-1.01"="mz2ld43x7sp8np0qmcs86p5lc09nl4dr";
 "ecobiblatex-1.0"="ikxp3jlzlsnc7jh7vcxcfq8wvpd5r8ll";
 "ecobiblatex.doc-1.0"="y5hifg3r0xkgv6zklw7l9j7shl87fnf0";
-"econ-bst-2.7"="nwrbh3mhghbh8iljj66yanpv2r5wyfpf";
-"econ-bst.doc-2.7"="kxndjrjizaqcr2z76cq8irmyipndxmwc";
-"economic-2019"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
-"economic.doc-2019"="pv3irnv3gj70q22ac3kr858hac50vrbz";
-"fbs-2019"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
-"figbib-2019"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
-"figbib.doc-2019"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
+"econ-bst-2.8"="942nshsxan2vlsdrxzrj2idn6w5g09i6";
+"econ-bst.doc-2.8"="wzs32mgk5h8cvdsf3s52pgkxch1ynypa";
+"economic-32639"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
+"economic.doc-32639"="pv3irnv3gj70q22ac3kr858hac50vrbz";
+"fbs-15878"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
+"figbib-19388"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
+"figbib.doc-19388"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
 "footbib-2.0.7"="xhrwnw5kvs3rxp32a8awv8ma7098cv6h";
 "footbib.doc-2.0.7"="dzyra0rwf5hl2g6f7c2pw88d78f7yls1";
 "footbib.source-2.0.7"="xj3agjgzfnwnfzzbzk4xjfk90fr1a6fm";
 "francais-bst-1.1"="zz8wcr2ymwd7m721qr94l1k799mi9cia";
 "francais-bst.doc-1.1"="qmq30903zrvvw6bprngklx5pwq9c1cqd";
-"gbt7714-1.1.2"="64nmdcypvq55k0allph65jnybivny2jh";
-"gbt7714.doc-1.1.2"="0vxkd2xl3ldv1vw06bclcm037m995hb6";
-"gbt7714.source-1.1.2"="fcb1x2zz5pb21xnnq9bl450wz4gygqfa";
+"gbt7714-2.0.2"="jm13r9974dlg6pl2dgrgi1wgkqd0c0hg";
+"gbt7714.doc-2.0.2"="kdslwk0xwgj5zansx3n7k1ds5wiv98dw";
+"gbt7714.source-2.0.2"="0hi7vgddiyrqal79nss7xvpl36jwq2n9";
 "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-2019"="30iiq3zikvmyy87j98knxbc9iak232bb";
-"harvmac.doc-2019"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
+"harvmac-15878"="30iiq3zikvmyy87j98knxbc9iak232bb";
+"harvmac.doc-15878"="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";
+"icite-1.3a"="pci3xglq0l93bp7zicyp82xf7wnqm0qd";
+"icite.doc-1.3a"="8f1w2r4m5bw4zflqqjp04n48axm653ik";
+"icite.source-1.3a"="6ifix61qncaxmf04miqm2gzcssb09syd";
 "ietfbibs.doc-1.0.0"="mqqb9qjrk1lg7w85w8jbhizmh1qh4zqa";
 "ijqc-1.2"="ry2ydiqc71zjfkb46l4fvlxa1h6wnq1c";
 "ijqc.doc-1.2"="zz9ai19qd2rxvpw5kx1k1rd3ndndjv6v";
-"inlinebib-2019"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
-"inlinebib.doc-2019"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
+"inlinebib-22018"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
+"inlinebib.doc-22018"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
 "iopart-num-2.1"="92jbzj605pi9chj3ymfxm9ii2dh62haz";
 "iopart-num.doc-2.1"="smix69mc1n89q45nw3rl18lasn2c2kwa";
 "is-bst-2.03"="cyhqhj4jmhm2f1wv24dvv2nvh3xag114";
@@ -501,8 +527,8 @@
 "multibibliography-1.03"="3svp5l6al4k7adk99d6fcy7m54qbfbqy";
 "multibibliography.doc-1.03"="1bl112qsviy7jzhm1qdvn42x0lvcnjkd";
 "multibibliography.source-1.03"="65bvyr4gr7sdwhsraq9rmbv16d4fi6qc";
-"munich-2019"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
-"munich.doc-2019"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
+"munich-15878"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
+"munich.doc-15878"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
 "nar-3.19"="iaann8dbnvignc32m1wnlz4j77i7ngx8";
 "nmbib-1.04"="mbz1wjyaxsx3cn4wymvz4w9wf10580da";
 "nmbib.doc-1.04"="s6bbxc8lyp7kbrpsi0i4jrvda00260ks";
@@ -510,25 +536,25 @@
 "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-2019"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
-"perception.doc-2019"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
-"plainyr-2019"="nxim123jmj05q71s0mhf06djsn36damc";
+"notex-bst-42361"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
+"oscola-1.7"="fi1rcwnsdb74grgsvv0553plqz0nk8bn";
+"oscola.doc-1.7"="yy7as7z897x520hbs5a3cha3nsg7wm8d";
+"perception-48861"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
+"perception.doc-48861"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
+"plainyr-52783"="nxim123jmj05q71s0mhf06djsn36damc";
 "pnas2009-1.0"="k4xy9dabg8i4mf18317wf8mp3hrlpmqy";
 "rsc-3.1f"="4hhv7zw4v3w8sslxwj14pk4azil1cdhh";
 "rsc.doc-3.1f"="d20wkd2qw8dabh30gdpasxqacn193f1b";
 "rsc.source-3.1f"="rfsxjn597ylr3m2vl72dh7fa8x2a08yw";
 "showtags-1.05"="hbxk7ijniaffjnk02hkjwgw8gwgnx5qb";
 "showtags.doc-1.05"="q22k5ckq0q4228ssvqnz9n139x32a5iq";
-"sort-by-letters-2019"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
-"sort-by-letters.doc-2019"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
+"sort-by-letters-27128"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
+"sort-by-letters.doc-27128"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
 "splitbib-1.17"="az1n021wdajs8dc0q93wgfb1r0jcr2h2";
 "splitbib.doc-1.17"="qsb89h2ch89qhbxir7f90xx5sqvgm1px";
 "splitbib.source-1.17"="c9m7hp7fh86qj53qwaqxh8xj8yf3gxdy";
-"turabian-formatting-2019"="dcm9mzg25w818sqjfhd7ih3azvydv0qy";
-"turabian-formatting.doc-2019"="2qhbgk9x91k0r4ar0hc3jydw1raaf3z0";
+"turabian-formatting-54436"="xxbizdk5xhxyywmi7b6xf2mh59hvmzjq";
+"turabian-formatting.doc-54436"="x874cppn2pc0hv2kzl55gcx988b95z1i";
 "uni-wtal-ger-0.2"="i4nr7hq5gym5rcs2pc43qclci7jy9y4m";
 "uni-wtal-ger.doc-0.2"="a4r7w5m71h1kfgzxgpmb84hndnhrxhhy";
 "uni-wtal-lin-0.2"="8cdd4qcy3i5bvf25nn89kdaqph3a6fan";
@@ -539,10 +565,10 @@
 "usebib-1.0a"="4b8sv3fknxfaz9cgnvn3l5wf9c8c76wx";
 "usebib.doc-1.0a"="ba1nqv90zkfzi8n17xlk7rkx2s92lkd9";
 "usebib.source-1.0a"="967j287dsb1j4wa5k9sxsv4xp7194q3b";
-"vak-2019"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
-"vak.doc-2019"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
-"windycity-2019"="d4xmbwf69spcn35mjmccdq37gszl3nyc";
-"windycity.doc-2019"="0vshfrxbpfndxsljkd1qghkinvxhyli6";
+"vak-23431"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
+"vak.doc-23431"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
+"windycity-56492"="58aylihi386z72hx2yk532szwfr459yj";
+"windycity.doc-56492"="ylinhvp1mdigcgpq7g4946ipirdqjx8x";
 "xcite-16383.99998"="wvb8mc5cp8s32hvi76gby25nk3n887jd";
 "xcite.doc-16383.99998"="h07vrlm1107k8a8mjv4f8p0s69k5d08p";
 "xcite.source-16383.99998"="kllh0w903i2jybhciiy925rs186klrh2";
@@ -550,17 +576,17 @@
 "zootaxa-bst.doc-1.0"="bx9v8rj2nlbdapknqk8wigrq9jdfjggn";
 "a2ping-2.84p"="6lndjb87fbdxxvs14s9plg6p0avxnsf7";
 "a2ping.doc-2.84p"="i79dh9x0k85xl1cn33j110g62mh4a297";
-"adhocfilelist-2019"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
-"adhocfilelist.doc-2019"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
-"adhocfilelist.source-2019"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
-"arara-4.0.6"="6jhbdl9kh0d7iaq9qrl71kqzrmvvx9ya";
-"arara.doc-4.0.6"="rvkrcair91scrk763igaj9mmi23n5j7x";
-"arara.source-4.0.6"="s7rlspqx9dqsbixbnmnaz9hh7gwkmkfi";
-"asymptote-2.49"="ka921kxzvyq3hi5frln4hh7qg1kfgch7";
-"asymptote.doc-2.49"="b1bh1i57rh28a4mdjx9bcplhb1qgd5cg";
+"adhocfilelist-29349"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
+"adhocfilelist.doc-29349"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
+"adhocfilelist.source-29349"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
+"arara-5.1.3"="r1v2yazqi3ch0pc67gaa4h7s46f0ii4j";
+"arara.doc-5.1.3"="702qxsc1si6kiwivg6409xr70aq040ih";
+"arara.source-5.1.3"="pyicgm0x6kgmci9yclh4cdcb8vkhka8a";
+"asymptote-2.67"="x9zsa3qm2g31qrf1df406srz811sncwz";
+"asymptote.doc-2.67"="xwc0ggdrp2zbcb08yic8azx9mdz9hrvl";
 "bibtex8-3.71"="sri58vnydvfpv947gmlxd1s3c2056fp1";
 "bibtex8.doc-3.71"="d5gk5h3a5milfx9lb1bcyzc6y5pz3d2c";
-"bibtexu.doc-2019"="djmr91p0ig74imwgym82lpm81jp3csgb";
+"bibtexu.doc-52851"="djmr91p0ig74imwgym82lpm81jp3csgb";
 "bundledoc-3.4"="3r6cx7n6wy995jd9hpg2n4qkbhwmnyfi";
 "bundledoc.doc-3.4"="cd59kzd2v9pq2d058jx5pxkcjhbvbrr1";
 "checklistings-1.0"="a2gvh85pcmrc82wq4h6n9ycqj86z9f8d";
@@ -584,258 +610,263 @@
 "ctanify.doc-1.9.1"="dfah3y6kn3r18mjj39p13mq7y6zpalqb";
 "ctanupload-1.2c"="jmvh3rrdy0hyvdxz55gydlgsh7xzp4vv";
 "ctanupload.doc-1.2c"="38wlhcxvvpbk01sj6vhwjs9mccw1xs14";
-"ctie.doc-1.1"="zz696bci66pc2p1pkwa0ddrh7fn7q6gp";
-"cweb-3.64c"="7c0j5c5lz6yw8l1qwijkbwmp8qyhg0i6";
-"cweb.doc-3.64c"="6cqyvsghj3jl5gl3fzvs1npblvr8x0ha";
-"de-macro-1.3"="mscrdz5y4zdxszz37dnh6kw4hmwm185q";
-"de-macro.doc-1.3"="hdmn9ds4kiqsalhx5r2l4adv19ijf5f2";
-"detex.doc-2019"="31rk8b2n2f655y674w1ghp1gp0ba9r3g";
+"ctie.doc-1.1"="ya1glfns8xxfwa3l1khv8kl49k8r0ya5";
+"cweb-55757"="nl5lmyvmmh7lx0s3ym34dsjk96js1p12";
+"cweb.doc-55757"="czy3c3dkw45nzvwvv574hqy8vqnlhs5n";
+"de-macro-1.4"="v1qasn8wjqi7mr9q0p0kqv2w7bhxf4md";
+"de-macro.doc-1.4"="r5smyw0q3djlrxd8vf48cj1dzzy9cwxf";
+"detex.doc-54512"="31rk8b2n2f655y674w1ghp1gp0ba9r3g";
 "dtl.doc-0.6.1"="8jshhykhf7smf4s9ngv2jlhbih126xwz";
 "dtxgen-1.08"="n3cwjwkf92c5zgbs7hmc9fgrwjvwky9i";
 "dtxgen.doc-1.08"="87sb4lz077jgnzpya1y1qyzakwd5j00x";
 "dvi2tty.doc-6.0.0"="zrffg69y6ix300909k1zpjp2s9kl2d15";
-"dviasm-2019"="h75pj818zxcgsi92grzfzrd63wz0rg8y";
-"dviasm.doc-2019"="1f7bcls1cz8z6k22b8l3hh6v0dfn3b6v";
-"dvicopy.doc-1.5"="szvfihzbpfvz66w6v96nygkf7pnfa38v";
-"dvidvi.doc-2019"="hz3ynxfbxw3w8ravgb3hhw3yglb0gxzh";
+"dviasm-56373"="nn7cb25lgakifq0465af8rxcl6372l03";
+"dviasm.doc-56373"="k3dyqivnf16bmbdpqlcc9i4pwnark6h8";
+"dvicopy.doc-1.5"="c82zp83ds24xcwwh05z3jqfvq8aqhdgl";
+"dvidvi.doc-52851"="hz3ynxfbxw3w8ravgb3hhw3yglb0gxzh";
 "dviinfox-1.04"="zjbfw4kzwfqnvlwzvjibsgim855fc30c";
 "dviinfox.doc-1.04"="1n52la52nchv27j82lisrh8q7wygx6lp";
-"dviljk.doc-2019"="sj8yggxdk8a4y3k1ssr1szzb1m91050q";
-"dviout-util.doc-2019"="g20rq0qgf4va4icrg830k9r9h2by1cj9";
-"dvipng.doc-1.15"="8pjhad23qghwyvp5l8qcd6d07dx9zjj4";
-"dvipos.doc-2019"="6m8fym7ky0a7xy6pmn0aklh5jg0ppbzx";
-"dvisvgm.doc-2.8.1"="a97bmkml7sl4pvz4ma2ajbq5kfpbnb4i";
+"dviljk.doc-52851"="sj8yggxdk8a4y3k1ssr1szzb1m91050q";
+"dviout-util.doc-52851"="g20rq0qgf4va4icrg830k9r9h2by1cj9";
+"dvipng.doc-1.17"="ckaakzpg7r0djiiz8l7cjqr02f1glkqx";
+"dvipos.doc-52851"="6m8fym7ky0a7xy6pmn0aklh5jg0ppbzx";
+"dvisvgm.doc-2.10"="kapga5h6vvzkpwck68z7hpw0zr9pir5d";
 "findhyph-3.4"="4kc8qj2hs4hf7h25xb031fy5m9j8jygv";
 "findhyph.doc-3.4"="ivpfnjybcl80xzda2jlrplaglqhf9adc";
 "fragmaster-1.6"="r6wbba0qjxr5shfrf5ia8984dcrijpir";
 "fragmaster.doc-1.6"="vwmmc7jmhxfvblz3fpdj0saxjs75bgia";
+"git-latexdiff-1.6.0"="q4b590rk01xis5g2nk8skfp9ifigrgsh";
+"git-latexdiff.doc-1.6.0"="c62p00iqp80a9k24syw6dfynbm33an3g";
+"gsftopk-1.19.2"="s7f70s4jyd5rnif4gwrli43k0pmfhhw9";
+"gsftopk.doc-1.19.2"="k2s28hx5mq78ikd8383v0s8gvcbav9f5";
 "hook-pre-commit-pkg.doc-1.1.2"="0rf4zqwdix7npi9g6nlcpp95mdpxana5";
 "installfont-1.7"="ds2zbs2f6kasda98jn1k8i0ym5168ax8";
 "installfont.doc-1.7"="jmwwjkliwr7wl1gyx8fzpyslscsnlqlx";
 "ketcindy-20191225.0"="c4wr13x0p4gzbzdnjbq9l4jlalxayzn6";
 "ketcindy.doc-20191225.0"="q4sbjwwvkc9cdvwgsn1m5m6wil99z1md";
-"lacheck.doc-2019"="bnhws6g9ddrf6pf76i8p4r3razpiylp1";
+"lacheck.doc-54070"="6phk49bmf9n4s8m38dp0ryjd22bgdcjb";
 "latex-git-log-1.0.0"="qj0jib59wmz1l6gpk7q0zb5b29fpqk51";
-"latex-git-log.doc-1.0.0"="76p2fx8gzajsjbrv24dzy7znwv3ybahp";
+"latex-git-log.doc-1.0.0"="d4qhflvp1isk5z5yrknbjcps4ixabhcs";
 "latex-papersize-1.63"="qiqs3ayqsaivrqcm5mi68jrnbr0f9j8i";
 "latex-papersize.doc-1.63"="8w0cczb884w53zzv3dwra31zcvjh4jzf";
 "latex2man-1.29"="0c6w2zmys7mpnc5lvaix37bcksk19wq3";
 "latex2man.doc-1.29"="wclw51af38i0m17pclqpc46163wq3z6b";
-"latex2nemeth-1.0.1"="isj2xl6s5liv6q12knhl4dsyihc9j593";
-"latex2nemeth.doc-1.0.1"="qpvqm76bb09nn4s42yhi1i6lf7ji4bhv";
-"latexdiff-1.3.0"="mjj1i3wsrdhyji8ifgl01s8spm2zmf75";
-"latexdiff.doc-1.3.0"="wbi6pnbzlm15dmknl8z3xywig6khh2f0";
+"latex2nemeth-1.0.2"="98hr8kv95134psvibf43j4jgshixra16";
+"latex2nemeth.doc-1.0.2"="jzy9jr0bwxg90lm7w5cwi0p040wxn236";
+"latexdiff-1.3.1.1"="maq80g01dlrs186ag253issysy9jd24f";
+"latexdiff.doc-1.3.1.1"="0fks08hh9z03bcyax837dn7rlf3xliq6";
 "latexfileversion-0.3"="79yrcgv4lj33pavgn48ycvsd9a1x49s3";
 "latexfileversion.doc-0.3"="c6n7z8c3lzrhk2g1fn4v05l2y6299sr8";
-"latexindent-3.7.1"="q4ir39azl49h758n2nrnfnpwv4jyj41g";
-"latexindent.doc-3.7.1"="vzf97xlc626l1r171k8753m5xv5493cw";
-"latexmk-4.67"="afwh2sz4hxms5x88hii02n3xg2r6sz9x";
-"latexmk.doc-4.67"="iirnda6pw7hnz1zshb50f5lfkb78r0rg";
-"latexmk.source-4.67"="m32pbzkr0my5gv38jw54bancbk66r15c";
+"latexindent-3.8.2"="ac2b0aivhcivvd16sdapiizypyk68zwx";
+"latexindent.doc-3.8.2"="w93c03pmf2wzj1iy2ki153bd39f4p4ss";
+"latexmk-4.70b"="21lwd164g7z57rz6w2kjfgzm2km1hwff";
+"latexmk.doc-4.70b"="39gnyyhwbmpwnz82215icd78jms1na3q";
+"latexmk.source-4.70b"="a6zcqynkxjfrlldpg1js76ffbh2i6m3p";
 "latexpand-1.6"="did3i2gjfqllqckvnb09n9n8iy16yrmh";
 "latexpand.doc-1.6"="4mrnh6mqwv6f3is1cz5f6pp710amqnx7";
+"light-latex-make-0.2.0"="pazkrw4bvc1d8mvxx381rnwwqr4sgasm";
+"light-latex-make.doc-0.2.0"="wdkfy0imk1af0w1mml3d97liabbjv300";
 "listings-ext-67"="zbinp0czaglig761svs0s13np81qpsr6";
 "listings-ext.doc-67"="slcbwzsy505nhjriszn993pgqlmdlfib";
 "listings-ext.source-67"="95y2zv6bcfkvqmwf6cpa4piaydlkjwz5";
 "ltxfileinfo-2.04"="fqka5xkp7758sr7hyiyy18nns1dir95f";
 "ltxfileinfo.doc-2.04"="rbqwgb89q514rih3hf5bv613xqw1gbci";
-"ltximg-1.7"="8hijfmwbnd6cjgk2zi3ik7flixy0xp09";
-"ltximg.doc-1.7"="kgggjbx84f62niwjkydqxxs7szkakczf";
-"ltximg.source-1.7"="akx09az4qpcrfp4011bpi6k52x1177vd";
-"luajittex.doc-2019"="9qdg6g1m69rfylrs7h0x017kry5qx9y8";
-"make4ht-0.3d"="3l79g21iwl5abdqzd2vah2n5yzz1ywpm";
-"make4ht.doc-0.3d"="7gqgh0na3ilglahk2l5cmn4vybr2swl6";
+"ltximg-1.9"="d59qhp5h1lvqspxww741zzly005w1zai";
+"ltximg.doc-1.9"="aws5m80gwpdmml8kmmim4zlylz9x6gzb";
+"luajittex.doc-54498"="p1r9i2iimz4c8laikjwigphc2pm2y052";
+"make4ht-0.3f"="vinb0567hbznl3lqrbdv8c7bcj5pcpic";
+"make4ht.doc-0.3f"="hvhwz2jlgixm7icq4w05bry4a6by262g";
 "match_parens-1.43"="hahwx0ca506ykknc9plsnrfg6fsb5rs4";
 "match_parens.doc-1.43"="1h445p7nl5n70rskvq4d10b15kb8058k";
-"mflua-2019"="zicmiqdsbqz7ddgmbwjcay8q5q4jyzqj";
+"mflua-54074"="zicmiqdsbqz7ddgmbwjcay8q5q4jyzqj";
 "metafont-2.7182818"="51bwj1md9dckcakmb2icmb3f5pyxx3rq";
-"metafont.doc-2.7182818"="xsxkdw4d44gm0x20g7dfpvh64yr438cx";
+"metafont.doc-2.7182818"="37n5xdjdn1g6x9slsw30hhij1nrag1i1";
 "mkjobtexmf-0.8"="raq7ql17c3fdqqpaqbd53r0dg7kjrvh2";
 "mkjobtexmf.doc-0.8"="3cgxbgxpha9139jfz4v3478ny7yv3xm1";
 "mkjobtexmf.source-0.8"="dky5rv3xrbjqj7pg8spdjsllggpq61k9";
-"patgen.doc-2.3"="1p6bnifmajisixh6m0mar8lmzr3rd7s6";
+"patgen.doc-2.4"="2zgzsg5mb1q76yiq4pxzmizbdhij7fg4";
 "pdfbook2-1.4"="5d9ygxiff1hlzjb4lp55f6611x0939lq";
 "pdfbook2.doc-1.4"="ic3xl30b2qprsxyx892bd10smcz7nq7y";
-"pdfcrop-1.37"="mr2zg2ji7gqm14zq5xsf8wk081fbdwdn";
-"pdfcrop.doc-1.37"="28jgvjwk6v7dvldqgqd4ry32ccd8avgn";
+"pdfcrop-1.40"="ac5w5qdg0hfb5a75ziq9qi2rbzzm5z62";
+"pdfcrop.doc-1.40"="wxah72mp14rhziw8wmw1d1s41c6mjd19";
 "pdfjam-3.03"="8vh7hia6anrhmp5w2aibq12yd0p3y6fp";
 "pdfjam.doc-3.03"="5q7wazmr6rz1mnjln28ryakv7x0q40nb";
 "pdflatexpicscale-0.32"="sc7xcy0agdg458w49n72q6sd8sk8zqn4";
 "pdflatexpicscale.doc-0.32"="ria6cfi0nvviddn0gmylwcjw53v6ryqy";
 "pdftex-quiet-1.1.0"="3cx8zd0q9z19d1xhhc8rd640ifwsrjxc";
 "pdftex-quiet.doc-1.1.0"="84mb3zp9h3jnl179kc6svsd52pmx13pd";
-"pdftosrc.doc-2019"="36xyfv7hir7g1w680042p7cgdw1hg9jj";
-"pdfxup-1.51"="xjnx4dmxnaq1x174slm9ara0xpx75yqf";
-"pdfxup.doc-1.51"="zk3vwjjvvxazyfa9868hj3xamvqdahvh";
+"pdftosrc.doc-54074"="2f36i1iminb16zkpb796g2brrbs1s1ra";
+"pdfxup-1.60"="2p71pka7fhw4l887h7cyd8mizhjbp8m2";
+"pdfxup.doc-1.60"="h8iwrl07ax8xp8b7ns79aiddwdjhab8l";
 "pfarrei-r36"="n351xhnwd12vvy4b4zv2r9cqx1crd435";
 "pfarrei.doc-r36"="bi4wqwx32x2498kr0k1rmkmslyz134x0";
 "pfarrei.source-r36"="zrdbqakfqkm5kwbpwpy5d1pqp4w5sz42";
 "pkfix-1.7"="gmnyddib832v8lxj6j0w73z2xcars3kv";
 "pkfix.doc-1.7"="r2lyi06ra63icn8b63l3hzkfv8min1w8";
-"pkfix-helper-1.4"="3pqfismv6absn1ll9jqhllmz6hnjsn1f";
-"pkfix-helper.doc-1.4"="gljfwywrvwin5fl5szfnpa095cr2r0m5";
+"pkfix-helper-1.6"="vjir8pv43abgpf5djbfpf0vbwinrf3gb";
+"pkfix-helper.doc-1.6"="gkgpxfz7iypg1xiswn4p843pa2v8dkzl";
 "purifyeps-1.1"="qmwy8zk8h0kzpsknp0430gdxq0zqj4hf";
 "purifyeps.doc-1.1"="4fj0jj42mjldhg90pkvj7bsd1b682x0c";
 "pythontex-0.17"="1gza81rq8sz3172y81zkm5lvg8193spd";
 "pythontex.doc-0.17"="4z6bswby7179xqx47n89qfzcd7sxvxg9";
 "pythontex.source-0.17"="pnzqd2k0q1nng61d2ral344q8211vfma";
-"seetexk.doc-2019"="wcnxmbn8wqi39abb356wmhgwrpmxvidm";
+"seetexk.doc-52851"="wcnxmbn8wqi39abb356wmhgwrpmxvidm";
+"spix-1.1.0"="73qaq9y7hi67hsndah7qnxn5970s4jzg";
+"spix.doc-1.1.0"="08xbscwq5prsc085zfkj3fnpfaf3idwl";
 "srcredact-1.0"="dzxdwnn9l06gngyvaarf10h6ws8aa73y";
 "srcredact.doc-1.0"="m028dd5fqv2x9xcxq7vhdsaz2xcyxwl1";
 "sty2dtx-2.3"="irvwyxk3ggfbc8p4b8s70v5704lqmsib";
 "sty2dtx.doc-2.3"="s9qzsp01129wgi8qfh0ljxkaj9jvdr65";
-"synctex.doc-2019"="wk9fbvv3gdqzyh12gxa05zbd88l5zh65";
-"tex4ebook-0.3a"="cycqa4cwssq4nxy4k6nplfq4y2p38r0a";
-"tex4ebook.doc-0.3a"="ksyz5aca4fb6jikxy49kpcjq8ralwqrk";
+"synctex.doc-54074"="wk9fbvv3gdqzyh12gxa05zbd88l5zh65";
+"tex4ebook-0.3b"="yfzid2313phvxkp8f3b5mk7kkizczd7x";
+"tex4ebook.doc-0.3b"="r3i1bvrccrzazql9nxbmmrrzmgr0qqcx";
 "texcount-3.1.1"="spfdnfgbcy8y8c7191pd973wmdnrgp8j";
 "texcount.doc-3.1.1"="idd45zpjjy6cgibnndxygdmljw28gyq4";
-"texdef-1.8a"="iyiqbv4h91h6qchgcddj251sas6ayf93";
-"texdef.doc-1.8a"="1d01vr68i8zcbpr1113vq1zmfkhm9ylr";
-"texdef.source-1.8a"="5j1accwlb84bk99g7vm2p9xjfwvshny6";
+"texdef-1.9"="jc5hxmivzlsr1cklddvxmv3zxcyq5j6v";
+"texdef.doc-1.9"="gp2xj30b1whqvg24jjyvba456w48dq0i";
+"texdef.source-1.9"="028z9c2lxpkwx2dvdgxhp16qxrj0vjir";
 "texdiff-0.4"="83vghxcac89m0kji1rr4ry3fy55im9sa";
 "texdiff.doc-0.4"="r9wsmivjyiwdnav7qc35kydk9b8pbcz8";
 "texdirflatten-1.3"="135358h2mb608wg3ni93rrsvvqgxm4ya";
 "texdirflatten.doc-1.3"="n9jxdwjiylvwy6n55vgci9a32qi10xhl";
-"texdoc-3.2.1"="kwb7sxrxq7fn56flnsfama9y1ndd4g60";
-"texdoc.doc-3.2.1"="rw85cxx84pqccx87rpxcy9mj9am41agf";
-"texdoctk-0.6.0"="48ix4zaj1k1v3i997rvl1kg0mc8a9g5s";
+"texdoc-3.2.2"="sx5ns842bg22flbxzjr029y9ajrbraf6";
+"texdoc.doc-3.2.2"="blgw6b6rj67y3h1n47zs748j54y27mf6";
+"texdoctk-0.6.0"="p6c2lakbnbg1wdc7i4iavscn9k0xamw5";
 "texdoctk.doc-0.6.0"="xfl4g9m6d9nbn4f9hgxj58jg9g4laa7l";
-"texfot-1.38"="3qdqa7pywvk3f5rgdhn9806bfcfgr9dk";
-"texfot.doc-1.38"="06n4pipdm912xri2cpbv8vdlqja8fzk1";
-"texlive-scripts-extra-2019"="prm2z9007xv13q0ny18rcq11f73c8vxi";
-"texlive-scripts-extra.doc-2019"="3qjmdf6iw8b5jfn7rls97pf1mpbjz1kg";
-"texliveonfly-2019"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
-"texliveonfly.doc-2019"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
-"texloganalyser-0.9"="8dlsnkjvsic0xyaxjwixrgm4pf40snpz";
-"texloganalyser.doc-0.9"="yh3y429s0fbkjai3kmh3z1q4f1pja6g3";
+"texfot-1.40"="h5l0m8p439v0j8c4dpx9wql4my29bri8";
+"texfot.doc-1.40"="svihfvh53hc42dr5b613h52fvkpkixj2";
+"texlive-scripts-extra-54744"="prm2z9007xv13q0ny18rcq11f73c8vxi";
+"texlive-scripts-extra.doc-54744"="smy9j2bvwmz9dm9s9v8fsvlcc27279nm";
+"texliveonfly-55777"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
+"texliveonfly.doc-55777"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
+"texloganalyser-0.11"="xsbl0y7fkjhbpavx9g10bl3zhkk4zqcv";
+"texloganalyser.doc-0.11"="i6mk318pdkma4xmfa3rsl1xiyqhx8f9i";
 "texosquery-1.7"="bls961qcx9s6fwhhjqsx20wczk10qhbz";
 "texosquery.doc-1.7"="8dr8ayinwjayi9vynaw0m6q9rrk31nas";
 "texosquery.source-1.7"="bpv9sr00x6vv90zclfjsl838kd6zcb76";
-"texplate-1.0.2"="971i0gazlyzkhxmic7zxzcjsdf8qypds";
-"texplate.doc-1.0.2"="g40znzhxn766zchxk2mhy1xy7hrsbfh4";
-"texplate.source-1.0.2"="crzcqnd6sn914bzkqkjp4d4dgic4lg0d";
-"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"="s255ics89hxsf04fkcz1ahfz130q9y3x";
+"texplate-1.0.3"="qwc9286zs7yhw0y19zici7ij8nvsjijm";
+"texplate.doc-1.0.3"="9d0a9zxzjd5dhjy5i215b7fypqmbzv5l";
+"texplate.source-1.0.3"="aaslsxscr12j99xsjaq09rqhxq6jr8a0";
+"texware.doc-56291"="sp70d58xrzny0yryh7gzrmr1kq8a5v9s";
+"tie.doc-2.4"="lgqwislfdixzc9p0bf7dhcai5dknplr4";
+"tlcockpit-1.2"="0c2p37yr8qncfamfn96wd57bvm87nhs9";
+"tlcockpit.doc-1.2"="nxadh1w5c1g1n2vhrvqfgsx701znkc6x";
+"tlcockpit.source-1.2"="aqjlazcsv4yiz4zfrxb5zdw573wmhaba";
+"tpic2pdftex.doc-52851"="s255ics89hxsf04fkcz1ahfz130q9y3x";
 "typeoutfileinfo-0.31"="vjs333wmdxb9s1vd215af0vryplvb8hl";
 "typeoutfileinfo.doc-0.31"="qdrwm9hi7qk7hxzcz0grv7cfl4r9k4v6";
-"web.doc-4.5"="sdmcsfyc18z4ldyiajpv5fqhfbb1gzgq";
-"xindex-0.20"="3q02wc79c03aig5dic70s09c9hjvj3va";
-"xindex.doc-0.20"="b1czyhbjxmfz1lshjgqdmjs73f4nvv0m";
-"xindy-2.5.1"="rp60v85lrsbllzkwvhhz5sprxalf6kxp";
-"xindy.doc-2.5.1"="akx5bx8m387zsaxd7v6xh97nglbzd9k6";
+"web.doc-4.5"="nq26l4qa63qjfpa9xj55yxz3g8kxjv9c";
+"xindex-0.28"="5wmxpzvpz1dyn8im2fz4asybkbc13dzz";
+"xindex.doc-0.28"="l71h3aa6c8jgy4ar35lf7ciq8q59nc85";
+"xindy-2.5.1"="h2fphqpbm4cqqamzwdgplj1j5g531r4v";
+"xindy.doc-2.5.1"="c0vyg2jz54hi23m1ys081mmmymgh3ah4";
 "xpdfopen.doc-0.86"="p7h2jmrh1c2n964pv2gfqqi36paf7c1d";
-"context-2019"="1a004zz4xs83m9jgy16k6q552lpn9dr6";
-"context.doc-2019"="zc8knfsrllnfggxxsgyijjzx59vjdscm";
+"context-55265"="c5dq1ka2f1npsd8w2c483k2xsmppb83n";
+"context.doc-55265"="zvzymn5zc94cj1gwr8dmbr16jshym2a3";
 "lm-math-1.959"="j995x0y357lac8mn1kzn9v8p3v995bz7";
 "lm-math.doc-1.959"="bgfq2c4l1shm9453822cnmq7yq6hlknq";
-"manfnt-font-2019"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
-"metapost-2019"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
-"metapost.doc-2019"="3x54j33i3p3m3pf84805w011yr6v896j";
+"manfnt-font-45777"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
+"metapost-56291"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
+"metapost.doc-56291"="g4q6g496pzvdi5g285zyn76wvly60irs";
 "mflogo-font-1.002"="m5lb3rhr5yighsixjb0k6zp2hx8fxvr9";
 "mflogo-font.doc-1.002"="va6f9qjbh5ah4zvlmc4wi9m395x3bhpr";
-"stmaryrd-2019"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
-"stmaryrd.doc-2019"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
-"stmaryrd.source-2019"="ch2gj89jxrqysjsl24s40za3y5z03yan";
-"xetex-2019"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
-"xetex.doc-2019"="dv515mqnylhpsi5v7xsnv662041lmva8";
-"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";
+"stmaryrd-22027"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
+"stmaryrd.doc-22027"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
+"stmaryrd.source-22027"="ch2gj89jxrqysjsl24s40za3y5z03yan";
+"xetex-56548"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
+"xetex.doc-56548"="v3ijvh3ybf8yw7623x09nz6hi36k8bnj";
+"xetexconfig-45845"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
+"context-account-47085"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
+"context-account.doc-47085"="lms208c3s9clga2ymi1j2i5whyz2dffy";
+"context-algorithmic-47085"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
+"context-algorithmic.doc-47085"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
+"context-animation-47085"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
+"context-animation.doc-47085"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
+"context-annotation-47085"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
+"context-annotation.doc-47085"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
+"context-bnf-47085"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
+"context-bnf.doc-47085"="jyvr2yk2shkzj122v53khmxx4skbasn0";
+"context-chromato-47085"="721l06z298fqfaj6rcz9sh66jshq447s";
+"context-chromato.doc-47085"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
+"context-cmscbf-47085"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
+"context-cmscbf.doc-47085"="s09578i62xh352zmd1rssg0rd1qjpc7q";
+"context-cmttbf-47085"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
+"context-cmttbf.doc-47085"="fp7blzzh8p24bpab0vnlyc336kildj4b";
+"context-construction-plan-47085"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
+"context-construction-plan.doc-47085"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
+"context-cyrillicnumbers-47085"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
+"context-cyrillicnumbers.doc-47085"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
+"context-degrade-47085"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
+"context-degrade.doc-47085"="nkal1h165g0mnf0h677b22c7r5q89sbp";
+"context-fancybreak-47085"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
+"context-fancybreak.doc-47085"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
+"context-filter-55718"="2zc3825f0qs66xbmafhl2p826cx3l7h0";
+"context-filter.doc-55718"="bdw1fapc6dy9wm79c2r456nlvyxr30kx";
+"context-french-54215"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
+"context-french.doc-54215"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
+"context-fullpage-47085"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
+"context-fullpage.doc-47085"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
+"context-gantt-47085"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
+"context-gantt.doc-47085"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
 "hatching-0.11"="kngng0rbi2q99417zr3vv3jl0zzjwh6l";
 "hatching.doc-0.11"="5c0n8fhchwpa3vgby9v6dzcg9v834xgr";
-"context-gnuplot-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"="pj34rsrf7mpqp86w4ngfnrm02z6as5db";
-"context-letter.doc-2019"="04r700y20myaazp6pm52438lcdgxhir0";
-"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";
+"context-gnuplot-47085"="21gc0nq12aps3d3333yxll6xllnlw0x2";
+"context-gnuplot.doc-47085"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
+"context-handlecsv-51306"="zpdagxljjxskjqd1fpzkba1dn0vxilnm";
+"context-handlecsv.doc-51306"="bc0dzhw5dwjidgscqgwlnfs2xdnapdyz";
+"context-inifile-47085"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
+"context-inifile.doc-47085"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
+"context-layout-47085"="438mv86y37wbxdv9js2s3clnkl7866ff";
+"context-layout.doc-47085"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
+"context-letter-56073"="9yb59mbbs9sby1wbg3c1wxysd17hqymf";
+"context-letter.doc-56073"="s8i0hpk9qfkabfgrvziapw843v9l55pp";
+"context-lettrine-47085"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
+"context-lettrine.doc-47085"="xf4mr1w0z7ybcas306959nmgxih59082";
+"context-mathsets-47085"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
+"context-mathsets.doc-47085"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
+"context-notes-zh-cn.doc-23171"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
+"context-rst-47085"="5mwhydc35iywmkdz759sdpz53wkqa64x";
+"context-rst.doc-47085"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
+"context-ruby-47085"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
+"context-ruby.doc-47085"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
+"context-simplefonts-47085"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
+"context-simplefonts.doc-47085"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
+"context-simpleslides-47085"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
+"context-simpleslides.doc-47085"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
+"context-title-47085"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
+"context-title.doc-47085"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
+"context-transliterator-47085"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
+"context-transliterator.doc-47085"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
+"context-typearea-47085"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
+"context-typearea.doc-47085"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
+"context-typescripts-47085"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
+"context-typescripts.doc-47085"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
+"context-vim-56356"="ds3rgivaqvamfbn2izjc72avswb0mn2n";
+"context-vim.doc-56356"="8b8r3s5yfm3diblr4n9c2wbdp5qjaddk";
+"context-visualcounter-47085"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
+"context-visualcounter.doc-47085"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
+"context-visualcounter.source-47085"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
+"jmn-45751"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
 "npp-for-context.doc-0.98"="7pczkchxrk8snrl81lrv7wgn928lngq3";
 "Asana-Math-000.958"="ra3pfarx03afq6hzv16an1v2fb22pcpx";
 "Asana-Math.doc-000.958"="wy3f3p15aj22vm3i391dpf2ssphqln97";
-"academicons-1.8.6-2"="ibr3rgpdjalz09gcs8fg31gkasb48qvv";
-"academicons.doc-1.8.6-2"="607w87c6bbhfw1q8jibfkpczgf29f342";
-"accanthis-2019"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
-"accanthis.doc-2019"="zlxlfbawiicbkminjw2laximsn07zpi0";
+"academicons-1.9.0"="lmsffq22z1m2lkq1xr3595z4zc11p2c5";
+"academicons.doc-1.9.0"="whzkxl5xfcd404afasyrk0jzml6giqmk";
+"accanthis-32089"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
+"accanthis.doc-32089"="zlxlfbawiicbkminjw2laximsn07zpi0";
 "adforn-1.1b"="av77crahnvrjdla03d5511inpd0hikjv";
 "adforn.doc-1.1b"="0r9vmhq3m0m5agj8vhgh9rwi10p238yr";
 "adfsymbols-1.2b"="qsglgklwqna03lj0dyd37vdqlmh3fxwm";
 "adfsymbols.doc-1.2b"="q3840xankbi9xr7fdsfxd3gkgydrvmxr";
-"aecc-1.0"="0vpb9yz2qx0sc15kxzhgqadkcjyr27c5";
-"aecc.doc-1.0"="mn7j1f7j3z5d6pnss9mlhvbw4ahn94ka";
-"alegreya-2019"="g97xv22dfmdfhyn4yqz67rj42mkp35qj";
-"alegreya.doc-2019"="ds3p6fvf6bdrzf9clxksrcl9r3lbbknx";
-"algolrevived-1.041"="y8m0is3cmjrc0mnkpih70nf48mw4y2bd";
-"algolrevived.doc-1.041"="339ipcjms83912r3n1ix70106c1ndvwk";
+"alegreya-54512"="g97xv22dfmdfhyn4yqz67rj42mkp35qj";
+"alegreya.doc-54512"="ds3p6fvf6bdrzf9clxksrcl9r3lbbknx";
+"algolrevived-1.05"="zsvm25smf853hdl7rqw1irl7lvf6lryi";
+"algolrevived.doc-1.05"="5l6ql0n9j8xbsdxwkikw15265vqkh5w0";
 "allrunes-2.1.1"="yxijvmvgjl2q05v667fmqisbyd7xsjpr";
 "allrunes.doc-2.1.1"="b0sc4d9kla5sg792zvwqjzszz17w19iv";
 "allrunes.source-2.1.1"="n986ppx466mparm30mlv7cn5mmjh74sy";
-"almendra-2019"="bg7ciwcjc1dlqw9nxwlmqqvn9nkd228a";
-"almendra.doc-2019"="1c428ph2c2zjx1ks145ydd7vbaqgvsjq";
+"almendra-56035"="jwk6aqznr0b5qnc0g8f2wq9246080l7h";
+"almendra.doc-56035"="lp3pgbn9azv12hmr1q5fgdrsyam7k0qz";
 "almfixed-0.92"="kcaraz14gg5k8ws8zkrjfvvn22njv759";
 "almfixed.doc-0.92"="34f4a82gsr0vq47bp9wbdd4wkhhr984j";
 "anonymouspro-2.2"="kzf7kf4bc5cl8vw0k5m34hv7pj566w1n";
@@ -845,14 +876,14 @@
 "antiqua.doc-001.003"="36kkp06c9grcgz7py0k7fnr5a56cvsgk";
 "antt-2.08"="ln7vvpz0p5lz4sikwky7f7zmkg08zmcv";
 "antt.doc-2.08"="2449s2gpspkwfmyhvvl8g5h1dqn8bg72";
-"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";
+"archaic-38005"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
+"archaic.doc-38005"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
+"archaic.source-38005"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
+"arev-15878"="xc3i2264d5w0ijv10n6ka53311bgnib0";
+"arev.doc-15878"="s39jgnizjbpnh1czr3ck5yd32bxks476";
+"arev.source-15878"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
+"arimo-42880"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
+"arimo.doc-42880"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
 "asapsym-1.0"="gbn04lk9k66wj689vna4kgxq8gddhwca";
 "asapsym.doc-1.0"="qfbaary485cs3q5azl6d650z53kd9s73";
 "asapsym.source-1.0"="g9m2vwmd438fwfczm8xwhv4wdp2aj114";
@@ -863,8 +894,8 @@
 "aspectratio.doc-2.0"="xv7z3aa40dn6fzchrhqwg03356r2znjf";
 "astro-2.20"="isnx9q009wchs33xq4bphi4cp4cnb2m9";
 "astro.doc-2.20"="xa1szbc33k2yyahgwy294mgiiyi5yiy4";
-"augie-2019"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
-"augie.doc-2019"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
+"augie-18948"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
+"augie.doc-18948"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
 "auncial-new-2.0"="nnaar0yvi6r1fynyzxmqhw7mnify474d";
 "auncial-new.doc-2.0"="jvyica87kxg5gm3zb8kmka9ja87f28si";
 "auncial-new.source-2.0"="hfdl71c7lx3lpb9rkwfz5vpaq0s19bh6";
@@ -873,34 +904,34 @@
 "b1encoding-1.0"="cxsgg97c3bsw9dl2aj9c9rb8vlpyn4s4";
 "b1encoding.doc-1.0"="mcm5yr55av0rj342bxdljkdid5qxyv97";
 "b1encoding.source-1.0"="jdnzzki5929xpzvpfvx5a9z51dk40pvs";
-"barcodes-2019"="8j88bc82j5a0xhm46671mj0k439zm5da";
-"barcodes.doc-2019"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
-"barcodes.source-2019"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
+"barcodes-15878"="8j88bc82j5a0xhm46671mj0k439zm5da";
+"barcodes.doc-15878"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
+"barcodes.source-15878"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
 "baskervald-1.016"="igfnj3pwvb6443c531va9kzylizxm9vs";
 "baskervald.doc-1.016"="mq8ms68crhv6afh9ld6scyx2xn2ik6jk";
 "baskervald.source-1.016"="7y8d5vqbd1bp3gri0rhzk3cb12cwchr1";
-"baskervaldx-1.073"="gc777hl6iqpxp64ynh81bcwx0bg2c2i2";
-"baskervaldx.doc-1.073"="cjcy5fzwj9b6ry8w5ym1s67hxibghxzg";
-"baskervillef-1.050"="z4a0v222vfjwsp7saanxscc8dhi1xg4x";
-"baskervillef.doc-1.050"="hmkjfv0rz8anmwb86ccn5yr7fkgfvvhp";
+"baskervaldx-1.074"="iwr4zqy5l93la5mshgqm6bcwzj727i4s";
+"baskervaldx.doc-1.074"="aaqrs7brry15cggz118c27bdvh9z0arj";
+"baskervillef-1.051"="5mb4w2c9i85hi0vdn3nkakrhbzin59ma";
+"baskervillef.doc-1.051"="7000j6d5p3ar92imfm53ss57xm63r17k";
 "bbding-1.01"="8kh5c0chlw1f2pqzh9pc7zx8y2jcgh0g";
 "bbding.doc-1.01"="zjngi582jrb99j6w1amwbyvjmfvsk40d";
 "bbding.source-1.01"="axvp8f0zag6bkr9v3fg22j4h5gcbcgzx";
-"bbm-2019"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
-"bbm.doc-2019"="bzfab62k5j167p5qzs79gps14hbpq7nq";
-"bbm-macros-2019"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
-"bbm-macros.doc-2019"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
-"bbm-macros.source-2019"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
+"bbm-15878"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
+"bbm.doc-15878"="bzfab62k5j167p5qzs79gps14hbpq7nq";
+"bbm-macros-17224"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
+"bbm-macros.doc-17224"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
+"bbm-macros.source-17224"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
 "bbold-1.01"="s88rwky3f2jjcg6w00g7s5lkvviqkwpm";
 "bbold.doc-1.01"="sa83x4g1n5b2lafj9n61cggkyk7h1z5v";
 "bbold.source-1.01"="ki3gxl970iirhkckqblr490jlznl0kc7";
-"bbold-type1-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";
+"bbold-type1-33143"="00rizb6fky3rsyn1id4p1dik8963bhwr";
+"bbold-type1.doc-33143"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
+"belleek-18651"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
+"belleek.doc-18651"="8d258516ak2b5va5smkfc87ipyj329f9";
+"belleek.source-18651"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
+"bera-20031"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
+"bera.doc-20031"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
 "berenisadf-1.004"="2ci0vxfqyc18anpy68r6anbdz76nrf2b";
 "berenisadf.doc-1.004"="00vx76lkvv0vf68a7sck05ls3l5va5gj";
 "beuron-1.3"="c04r71cvsva6yr9gvj1jrmix7q8n1i94";
@@ -908,36 +939,36 @@
 "bguq-0.4"="cgq4fhairknzbp65cmhv0m19zn0cnkgp";
 "bguq.doc-0.4"="9rwhzxijcyl4zzrc88dg8730p11hkm4q";
 "bguq.source-0.4"="7856n14czw3z30maxv7m4xz6js47rkbj";
-"bitter-2019"="rjfk57bl3z3wwg6gxram55w7xzk9w5sz";
-"bitter.doc-2019"="mlkk2966kwfcldhn8n8rcpy93l88y7pg";
-"blacklettert1-2019"="hzd441k3wi58rrysk0h48yklnp5i776p";
-"blacklettert1.doc-2019"="8n61621w6273ik991i2asvsm4w8xlimx";
-"blacklettert1.source-2019"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
+"bitter-56026"="v844qmmw2336gglg1lvfzmzb799gjbq8";
+"bitter.doc-56026"="nl5n897n92mnwwswpb5p1p4jlpqf5740";
+"blacklettert1-15878"="hzd441k3wi58rrysk0h48yklnp5i776p";
+"blacklettert1.doc-15878"="8n61621w6273ik991i2asvsm4w8xlimx";
+"blacklettert1.source-15878"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
 "boisik-0.5"="xz0hk8fwnrwnydy9dglm93c4gzrqpz87";
 "boisik.doc-0.5"="wsssy9bh8wi35x67ifgnj9wrjx0vpmvy";
-"bookhands-2019"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
-"bookhands.doc-2019"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
-"bookhands.source-2019"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
+"bookhands-46480"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
+"bookhands.doc-46480"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
+"bookhands.source-46480"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
 "boondox-1.02d"="i1hwfxc7ji83724177ir5hdgfn6cbcqr";
 "boondox.doc-1.02d"="wwa8ar557myv3rfjkw9jlw1pxs26vwbh";
-"braille-2019"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
-"braille.doc-2019"="00dv14s64fm8g5jy8b30dx813a304nlh";
-"brushscr-2019"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
-"brushscr.doc-2019"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
-"cabin-2019"="vh9wbjwwqbw8rckikpr08ngglq96va6r";
-"cabin.doc-2019"="x3gjf38wb2g121iiz5f753vsfpnsnxgg";
-"caladea-2019"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
-"caladea.doc-2019"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
-"calligra-2019"="cisw7fvdys863szqvsxzm164vina8al3";
-"calligra.doc-2019"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
+"braille-20655"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
+"braille.doc-20655"="00dv14s64fm8g5jy8b30dx813a304nlh";
+"brushscr-28363"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
+"brushscr.doc-28363"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
+"cabin-55907"="w65bzixchj3mdz8z2l0dkmqa9kjzcy9p";
+"cabin.doc-55907"="p0gqqmr9g08mgc6xjzhzxh9wjdg8gbpx";
+"caladea-34991"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
+"caladea.doc-34991"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
+"calligra-15878"="cisw7fvdys863szqvsxzm164vina8al3";
+"calligra.doc-15878"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
 "calligra-type1-001.000"="2bl0g899jhyspyhyzh45xdkkis88ja46";
 "calligra-type1.doc-001.000"="3zza4sgsnvcg2asdv27gd7y6jmab5j4y";
 "cantarell-3.2"="kfhii4bxf2s204kidpr7d9cwa5kd1vwy";
 "cantarell.doc-3.2"="22q109ydjdvd11y6dhxbgsax3rnd43qi";
-"carlito-2019"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
-"carlito.doc-2019"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
-"carolmin-ps-2019"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
-"carolmin-ps.doc-2019"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
+"carlito-35002"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
+"carlito.doc-35002"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
+"carolmin-ps-15878"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
+"carolmin-ps.doc-15878"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
 "ccicons-1.6"="g89dzfgas16vgx8ydp43ihina82z8df8";
 "ccicons.doc-1.6"="sphr2i8d6yf8xz5rkr0ib5ji6x6w428l";
 "ccicons.source-1.6"="1rkyqlpvm3v01cswmjmycayxh0kbgin6";
@@ -946,85 +977,93 @@
 "cfr-lm-1.5"="7y9qg3jnq6xnlq0f1wqm6493qax92cc3";
 "cfr-lm.doc-1.5"="cfshavfcmpkig5p9kypglmrs55rl5lsb";
 "cfr-lm.source-1.5"="nglav2q22aybb23snhm6x17dxz3976sc";
-"cherokee-2019"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
-"cherokee.doc-2019"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
+"charissil-5.0"="cca3i6y7d4kbcdxw8nhpsifzdamhc7gs";
+"charissil.doc-5.0"="1kb1gm8vrjxa45q7pm7cvwysf32h7yni";
+"cherokee-21046"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
+"cherokee.doc-21046"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
 "chivo-2.1"="0xrf456zk0yvgw2v6rss6rzlzpb0qkmk";
 "chivo.doc-2.1"="w9p59bx5wdz963lcdqvwc7v50pm1a8da";
 "chivo.source-2.1"="mqwg3ryb1lfam2ii20dn6m6j7pahqqxr";
-"cinzel-2019"="g6w1yxjm4bb49qdhgwrrmnj535za01kp";
-"cinzel.doc-2019"="4kj5zj40jq8dm7br7xb9vr2nwwqjl530";
-"clara-2019"="z7c5lggc4dy39dczhiql9sl48n6v5wjq";
-"clara.doc-2019"="r7x0a5q7l021a6i6skr34f1s5000ggz3";
-"clearsans-2019"="zp2572jdcnzq8b32pxzsmlyqxvsmj0mn";
-"clearsans.doc-2019"="6f9lri3fq95h9hgbady7fbgfk9msy7s5";
+"cinzel-54512"="g6w1yxjm4bb49qdhgwrrmnj535za01kp";
+"cinzel.doc-54512"="4kj5zj40jq8dm7br7xb9vr2nwwqjl530";
+"clara-54512"="z7c5lggc4dy39dczhiql9sl48n6v5wjq";
+"clara.doc-54512"="r7x0a5q7l021a6i6skr34f1s5000ggz3";
+"clearsans-54512"="zp2572jdcnzq8b32pxzsmlyqxvsmj0mn";
+"clearsans.doc-54512"="6f9lri3fq95h9hgbady7fbgfk9msy7s5";
 "cm-lgc-0.5"="wnmmrhnlldps15r2v360bdvlfyjd1fpn";
 "cm-lgc.doc-0.5"="wb18g3w86wfb7fv2iaaxm0j2amrws9yf";
-"cm-mf-extra-bold-2019"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
+"cm-mf-extra-bold-54512"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
 "cm-unicode-0.7.0"="wmmgwafdisxnkgdh571y2mlcybjlnvf6";
 "cm-unicode.doc-0.7.0"="6nykmggl860gvrzr1v9xahvl6gpy7phg";
+"cmathbb-1.0"="xsxjimwahlhbhzk9fq5zrh6v8axcmhhz";
+"cmathbb.doc-1.0"="a7fvfpvia4ybway7apcbc9hs6mkaydqf";
 "cmbright-8.1"="rjlqiwya67ispglypa4gmix8hyk6f2h3";
 "cmbright.doc-8.1"="wsjakpl6b7zyv3j9yx50v9hjm3sgx317";
 "cmbright.source-8.1"="vwgnzs47an6mjgw898scvdp8dc3m1w0w";
-"cmexb-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";
+"cmexb-54074"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
+"cmexb.doc-54074"="92888gd06jfx2q4xd01n45c1yyhnp03l";
+"cmll-17964"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
+"cmll.doc-17964"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
+"cmll.source-17964"="lbaw2209cz5ymklza36486jzfpq1cqc5";
+"cmpica-15878"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
+"cmpica.doc-15878"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
+"cmsrb-4.0"="sbnwa4gqj1y9pah89qlnivsnn5g4b2ih";
+"cmsrb.doc-4.0"="mn4vnkf8sczwx73219r664vkrz0iwyb0";
 "cmtiup-2.1"="k6sk5isdzms460hm17lkx5b6p6p9wz1g";
 "cmtiup.doc-2.1"="ycj4il7cxfnigs8sxxwga045g9v8rv8h";
-"cmupint-1.0"="xd29mvn7b5zjhc0c4gcxd4jyly8z26k8";
-"cmupint.doc-1.0"="10c0xi5bx5bgphjnnmrn98msgkpsn90v";
-"cochineal-1.060"="751kycpxzxwiymcfriw76saip30bvrzi";
-"cochineal.doc-1.060"="fcsv271lx4fz17ls2axs716lz0b30rdw";
-"coelacanth-0.005"="hxkgs2wa2r2vvdh2gh93j5qzjwqvr2yf";
-"coelacanth.doc-0.005"="wkqrbq8j6ibzvw8fjig7s7v8bhhblpp1";
+"cmupint-1.1"="y3vd4gx3bm5432xbhp6kd6fgvgxb24id";
+"cmupint.doc-1.1"="jh5gh9ca5gwvjc0zpbb8wzlbi7kzfmf6";
+"cochineal-1.064"="8bj8vs4nj13axzijxfawx6cf4f9fdpb1";
+"cochineal.doc-1.064"="l3nfnvzjarq3dl3vd7139fmdrciqlghz";
+"coelacanth-0.005"="qbhn9dh24pnw2bzsjgv2inr1fyh26qka";
+"coelacanth.doc-0.005"="dbx6zwlbflq60b3zgkff1aj284bl77i3";
 "comfortaa-3.2"="r9sis4ra19lgzsl56h3xp8s56awhlbrq";
 "comfortaa.doc-3.2"="jqsyn47waavk5a34d7cin4fc2z4pc9z6";
-"comicneue-1.1"="zsv445k74adkzqnas2g8p3i6c49bccqf";
-"comicneue.doc-1.1"="9il2nyy63bx62n603j1kwaagvplwndps";
-"concmath-fonts-2019"="875viaxzrrljcarkg11cb830fmq5321f";
-"concmath-fonts.doc-2019"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
+"comicneue-1.2"="cfr1kqc912hb1lm6n6ks4jh7xqbwwhk3";
+"comicneue.doc-1.2"="h793ar1xgvf5l95z029vxysls2ypl884";
+"concmath-fonts-17218"="875viaxzrrljcarkg11cb830fmq5321f";
+"concmath-fonts.doc-17218"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
 "cookingsymbols-1.1"="qhjzkivpxbk3rk6pricxsxpdk7c40rxc";
 "cookingsymbols.doc-1.1"="8l7yii9vvmaxfnf0h2snis7476k18mlc";
 "cookingsymbols.source-1.1"="z7r8n2lhgaqzgpx0jz8xq4sd4zzigbs9";
-"cormorantgaramond-3.601"="vbg959xc9v03xkb6yymi6vkr0qq8lkai";
-"cormorantgaramond.doc-3.601"="jvvyll846n42py13zb3c832brfcbq9nm";
+"cormorantgaramond-3.601"="xqgifhi42dx6dbcbx72kdchyzk07f4d7";
+"cormorantgaramond.doc-3.601"="amjjqgdd9ng92mhiph56pflx2l7ggx3w";
 "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"="hw8fac0b3762dbrc71xnzwys5429ih5x";
-"crimsonpro.doc-2019"="1vxxf4zr3rmknnxjq51myq954s2w8mab";
-"cryst-2019"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
-"cryst.doc-2019"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
-"cuprum-2019"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
-"cuprum.doc-2019"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
+"courier-scaled-24940"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
+"courier-scaled.doc-24940"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
+"courierten-55436"="zc995z33ykbgfhmsry87a3fsn8xlb9zz";
+"courierten.doc-55436"="n3qgxqvpavn06yif3czxjk3075glzd1b";
+"crimson-54512"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
+"crimson.doc-54512"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
+"crimsonpro-54512"="hw8fac0b3762dbrc71xnzwys5429ih5x";
+"crimsonpro.doc-54512"="1vxxf4zr3rmknnxjq51myq954s2w8mab";
+"cryst-15878"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
+"cryst.doc-15878"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
+"cuprum-49909"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
+"cuprum.doc-49909"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
 "cyklop-0.915"="5ksv3v36mc6557jckr5gk22pbqr30wnr";
 "cyklop.doc-0.915"="d85643zgnh0r0j53gfpi84qsx4694xpv";
-"dancers-2019"="qlpshkppzr84rr3smqpwch5j11klm3a7";
+"dancers-13293"="qlpshkppzr84rr3smqpwch5j11klm3a7";
 "dantelogo-0.03"="iiqbbimigxpj8kg628sj694xha98q0fw";
 "dantelogo.doc-0.03"="d42k8bqdvp20af1wzilbcjfd1b7ywim5";
 "dejavu-2.34"="90lkxdpj8ihrs68355fal0h0a1dp3v67";
 "dejavu.doc-2.34"="2v6nhxrkny5haczrpvqjzcal7bixngas";
 "dejavu-otf-0.04"="ssbkk7plshbikfmxsm8fhs860c921ri8";
 "dejavu-otf.doc-0.04"="h5xkf02syyclkizh6xhxha96ay14f3kb";
-"dice-2019"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
-"dice.doc-2019"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
-"dictsym-2019"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
-"dictsym.doc-2019"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
+"dice-28501"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
+"dice.doc-28501"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
+"dictsym-20031"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
+"dictsym.doc-20031"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
 "dingbat-1.0"="9yc0zy6qlxi9zmpyi3wd5irgq89shanr";
 "dingbat.doc-1.0"="z4km9f9xrw1n44ylh16872lzq8r4zvy4";
 "dingbat.source-1.0"="rq7v2cny05d4f8bkxbs2z6kj36q5bwfd";
-"domitian-1.0c"="5x9pl6afi69x5qwxx6ydbgxcz04d2ady";
-"domitian.doc-1.0c"="17nr4x6h43zbkja2cdbs43di23hmrylf";
+"domitian-1.0.1"="h6nmi8210w114mrgbzbjq57s2ii8dmcp";
+"domitian.doc-1.0.1"="qcnjkq47z176kgl8980098zidn3r6ida";
 "doublestroke-1.111"="z58ah73655dsas48b432ahkkags5n8wv";
 "doublestroke.doc-1.111"="403diym6rx34bwmrh63zaka3xdhzs2dp";
+"doulossil-0.1"="xd9sgg9nj1977hc9svbd5qp0vxc9sx03";
+"doulossil.doc-0.1"="1aysxh73wks623xr7x6dj14n1r0f0xp2";
 "dozenal-7.2"="6d1mbaf4l9yk7admwg05a6ix98cq5h97";
 "dozenal.doc-7.2"="5qfx3qa1dnadw5qc1fxq156xhh9wrjws";
 "dozenal.source-7.2"="w7i42zvkj2ln8z9m4r8p5371jbjn56kp";
@@ -1036,104 +1075,106 @@
 "dsserif-1.01"="n3yxb7dh1amaxgyxlhlyyvg23hjdns2n";
 "dsserif.doc-1.01"="84pcbmflmwkfzclm3ygbdrm817l4dbdp";
 "dsserif.source-1.01"="yawadjy2742rvvkp232zadkjsij8ja3m";
-"duerer-2019"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
-"duerer.doc-2019"="75dd80vmi5wx804zkrq48z12y3alihqc";
+"duerer-20741"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
+"duerer.doc-20741"="75dd80vmi5wx804zkrq48z12y3alihqc";
 "duerer-latex-1.1"="nwigxc3gb4phmv584bma819dcrrafsmx";
 "duerer-latex.doc-1.1"="9nkvhaa662x9la2spm3iwmni9bj86kll";
 "dutchcal-1.0"="6gpi804yy8xyiznzwyy2nqg7qvq6q2rd";
 "dutchcal.doc-1.0"="s0m4n06xg8h0jmlj31w27la569vkl1im";
-"ean-2019"="m0gkapni85n6zw1armbn1y770n8aj0rm";
-"ean.doc-2019"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
-"ebgaramond-2019"="xdx1sm7ckl1rlq2cmbz26c1zh0rsjjy7";
-"ebgaramond.doc-2019"="c31jlfc5qvkxv4acz5cx7is5db7kgknf";
+"ean-20851"="m0gkapni85n6zw1armbn1y770n8aj0rm";
+"ean.doc-20851"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
+"ebgaramond-54721"="fxf69dhligq556cggd9gz5vsjf5cbchv";
+"ebgaramond.doc-54721"="nkhb81wpx51kkfqg2g2mw9vy4dhnzj7h";
 "ebgaramond-maths-1.2"="7xa6g5hnnl2ry0v3gf0s33p6l3qqn3ds";
 "ebgaramond-maths.doc-1.2"="2l73rdm7kwy43k9z4fwnxlvd7prca25a";
-"ecc-2019"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
-"ecc.doc-2019"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
+"ecc-15878"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
+"ecc.doc-15878"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
 "eco-1.3"="7ycccps2kab77rr3cpwsbpi2cpl40kl7";
 "eco.doc-1.3"="1r1jxijx9wk6q2124xjwrmsjps7446fp";
 "eco.source-1.3"="4kcml0rm4pkg827qpfvhywnzrrx5p7dz";
-"eiad-2019"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
-"eiad.doc-2019"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
+"eiad-15878"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
+"eiad.doc-15878"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
 "eiad-ltx-1.0"="0zq83567n75h8zxlag2qas2q8li6vyqn";
 "eiad-ltx.doc-1.0"="7kymr597yg8j8291gy7jz16a89aqmqny";
 "eiad-ltx.source-1.0"="illi6i1hp4lmx7ylxazrmmzi89ymh9cs";
+"ektype-tanka-0.2"="rqd2g9ibqc83vxsi040pxn97bxxv8qvr";
+"ektype-tanka.doc-0.2"="0q47s8q2bpdxc1dd11pf46iicyvy3lx9";
 "electrum-1.005-b"="6hdyjv1dakcj5zxn6p8rrksdvc7jl0sb";
 "electrum.doc-1.005-b"="c11jl0zjq8nva5nl96p9qyq3nrvgx0zn";
 "electrum.source-1.005-b"="67i1gwyiwwarncpbnj47fmws4dc42bii";
-"elvish-2019"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
-"elvish.doc-2019"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
+"elvish-15878"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
+"elvish.doc-15878"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
 "epigrafica-1.01"="mc08k5ajn2lr4k30lzhsn2si922frq9c";
 "epigrafica.doc-1.01"="vv1fqij6w2fir3myffcafyyrdckvvi4q";
 "epsdice-2.1"="xbz7jkdzzsqrskdi4vhb0ra7m62hk9q1";
 "epsdice.doc-2.1"="7lc7wwfxwxnjfgf13br3wa6n8j25ml6w";
 "epsdice.source-2.1"="6px6gazxv7pr9cagfrg7mzx1w3z2nxn3";
-"erewhon-1.102"="kzzq304wj0n0sb75g9hfvsx5bs4bfivl";
-"erewhon.doc-1.102"="l2kxka3aavzs0kfr0r9v2vcz9fwwg43l";
-"erewhon-math-0.41"="vmm8kk4pi2j79vfszgvmg38bnsp5b0pd";
-"erewhon-math.doc-0.41"="58m32lqczivydwphh9v8yc8k16h02cw2";
-"esrelation-2019"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
-"esrelation.doc-2019"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
-"esrelation.source-2019"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
+"erewhon-1.111"="dsvp55hhwrgbyrbqiiikb4inv17snffg";
+"erewhon.doc-1.111"="sczyvlpvzlg9xh7qjrj5vidl803ynd6a";
+"erewhon-math-0.44"="4gk0154d8gjvrfs70kbp6rpz8573990s";
+"erewhon-math.doc-0.44"="49bp5w0xcqxmv7nrkb4qrzvwnjs76x5a";
+"esrelation-37236"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
+"esrelation.doc-37236"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
+"esrelation.source-37236"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
 "esstix-1.0"="0ddmfrgh39pwcd2n8rggma4pqwgamp7s";
 "esstix.doc-1.0"="5pf3r0xhssrgkp779n06a63yjb5cdg6a";
 "esvect-1.3"="dd9wb3zgs99s93z0jig2z5pwccxh3vvk";
 "esvect.doc-1.3"="c9x8najv8ihx22n1kfd9hbqba40ilz3x";
 "esvect.source-1.3"="170376cm3v7mzlh5909qyzw6y18m5rjm";
-"etbb-1.001"="11jkhz4x2y4f26ccv5x8vs4612q7axrp";
-"etbb.doc-1.001"="jpijr3bpib9bh4fyq8fw89fgfvbqqfdj";
+"etbb-1.051"="dy8w22hbxmmfz7krnj85qsh6i6l5cx8w";
+"etbb.doc-1.051"="sz630vnzl7rlyvrs5l14436mmyzzqgia";
 "eulervm-4.0"="ica20j8a3ljzxrmp03k60y6f4kpcbiy2";
 "eulervm.doc-4.0"="g5fxzw7dvnff2w9ys2gpgnvr2x8dabx6";
 "eulervm.source-4.0"="ifvn5n0dvcr4qpcv1yp4xvnx9lj26krg";
-"euxm-2019"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
-"fbb-1.14"="ai9024x530swbm9r2lnfps5qijy0rvsq";
-"fbb.doc-1.14"="34dvrfj52ylz45x9kj80p1i61iyyffvc";
+"euxm-54074"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
+"fbb-1.16"="fj9qhal40mhidcypy6gkiw5yxlzarkcb";
+"fbb.doc-1.16"="wlawnph3igcrbhkrfjhd3ghg3mlclshb";
 "fdsymbol-0.8"="hx8wp66hsznj0sj8jkz0vdah0bp9vvyb";
 "fdsymbol.doc-0.8"="n457nji3718qh1nrjr9wbj9zqj21nkw0";
 "fdsymbol.source-0.8"="3n6d2j9wh5cxakdmxg087mznnrdkjw27";
-"fetamont-2019"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
-"fetamont.doc-2019"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
-"fetamont.source-2019"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
+"fetamont-43812"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
+"fetamont.doc-43812"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
+"fetamont.source-43812"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
 "feyn-0.4.1"="mb9rzhjkx06m1yv6knnfx59if98wda3n";
 "feyn.doc-0.4.1"="hz41vacil1r726v0f6k2fjpn7zky7xrz";
 "feyn.source-0.4.1"="lqz2b6w4z325ba7mq42aj0brw2hpx01z";
 "fge-1.25"="59jqqyl11vinxa29f6gmalv30q6zfbzi";
 "fge.doc-1.25"="49bgdsclk4zlpdfj9pimffpr4qkd2z7q";
 "fge.source-1.25"="ak2gj4nk82ya7dfbi2vwp60lvnqlvnzl";
-"fira-4.3"="szqwp685dh828hs8w032cq48p8inaar6";
-"fira.doc-4.3"="6yfabm4jjy7fyvzm8gkw61crj0b5h7vq";
+"fira-4.3"="7djxip2p87v4bjjnlqigzyia0cdwp1yl";
+"fira.doc-4.3"="llsvxv1afxxlkxxwyk9mrq32bnz4hjml";
 "firamath-0.3.3"="fl4cbr4kka8yvq31dl7iiqylp5s8kqvm";
 "firamath.doc-0.3.3"="9higy6zhahbmfaa9w6js7958kqf6v085";
 "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";
+"foekfont-15878"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
+"foekfont.doc-15878"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
+"fonetika-21326"="firgrcsksy4jdk632aqfwlaki3xxgmak";
+"fonetika.doc-21326"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
 "fontawesome-4.6.3.2"="0n13dha58d0w511pzzckcq51fal6zxgl";
 "fontawesome.doc-4.6.3.2"="x7hzlyxv5k2zjz5lk8hy15pnvbhhhijj";
-"fontawesome5-5.12.0.1"="0pkgqsb8ygiyiiqnjbv5zykzrxl162ly";
-"fontawesome5.doc-5.12.0.1"="9d4c1rzxmxqhs084r3kqrx1r19gavpsc";
-"fontmfizz-2019"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
-"fontmfizz.doc-2019"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
-"fonts-churchslavonic-1.1"="3d67nxsgrrv480997rlbrzz5siyb2gvj";
-"fonts-churchslavonic.doc-1.1"="arcilr5n1w0rg97zkxy162kx21ygns31";
-"forum-2019"="px3s2xc2djz1r9vlpb9w6yvs1lzbjvmi";
-"forum.doc-2019"="g6n07nh8q33w9l3ljb1gklabd35fbl28";
-"fourier-2.1"="b736sz2f40q7f1nnj55d62wkgzg229hl";
-"fourier.doc-2.1"="jm2f857hz9q4n80a6w6a3lygnlxdi99y";
-"fouriernc-2019"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
-"fouriernc.doc-2019"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
-"frcursive-2019"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
-"frcursive.doc-2019"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
+"fontawesome5-5.13.0"="1aif8izj40a35ajy3kk7jh1y81r8vv32";
+"fontawesome5.doc-5.13.0"="ag4vgqas7ji3q4ahz05jxpfvvzxijc96";
+"fontmfizz-43546"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
+"fontmfizz.doc-43546"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
+"fonts-churchslavonic-2.2"="dv81dap48xibffaaqz9lv3vn9k4lqp99";
+"fonts-churchslavonic.doc-2.2"="av2wni5sdkp83fd61c3hdzddscz11i8r";
+"forum-56025"="mgaad8q8g47k4x60vvfrwn7asni9hrf4";
+"forum.doc-56025"="w0qr0r8hr149nn075f8d0rjp4nfn01p8";
+"fourier-2.2"="ghdri86l3nlrnqm057sif3w4yjsqzhbz";
+"fourier.doc-2.2"="p9qmlb4xkdc321gv3iwypqabrkw8mnh7";
+"fouriernc-29646"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
+"fouriernc.doc-29646"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
+"frcursive-24559"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
+"frcursive.doc-24559"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
 "frederika2016-1.000_2016_initial_release"="bl8g27dfv6xsqfwlr2i6w9yar7916qnn";
 "frederika2016.doc-1.000_2016_initial_release"="ncd2plzgwdwcv1many94alkvbjh7xjf6";
-"garamond-libre-1.1"="rcbndbzsxxs01mibalvyclkrgvp8saqh";
-"garamond-libre.doc-1.1"="hacrmaazg60scpg4wx7387xr3bi1gam8";
-"garamond-math-2019"="mr7aafbkhy8z5iy5qc0l7pmpqbvnzq4n";
-"garamond-math.doc-2019"="agb1azq7b7c5gpvz4nwxb29lg7pzqg9y";
-"genealogy-2019"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
-"genealogy.doc-2019"="7115cwa2l6nsnyijcdik7kw513q3a41h";
+"garamond-libre-1.4"="sjc7j87aq5vi8zgxiigg9hslvgq43fwv";
+"garamond-libre.doc-1.4"="k0m63fxp3f8fhyjachi19la5kz7wgz3d";
+"garamond-math-52820"="mr7aafbkhy8z5iy5qc0l7pmpqbvnzq4n";
+"garamond-math.doc-52820"="agb1azq7b7c5gpvz4nwxb29lg7pzqg9y";
+"genealogy-25112"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
+"genealogy.doc-25112"="7115cwa2l6nsnyijcdik7kw513q3a41h";
 "gentium-tug-1.1.1"="gdd212mv253371hvn1bxlr2q863qzy3m";
 "gentium-tug.doc-1.1.1"="02avjmn2f3hlr18688rn12y1f5qc68ff";
 "gentium-tug.source-1.1.1"="k50zhzwymzygzqf7xywv4bzz47vw5hxs";
@@ -1143,67 +1184,73 @@
 "gfsbodoni.doc-1.01"="cbw698q7jmg09k301zwbnnqig853c14i";
 "gfscomplutum-1.0"="bic1cr1c3dii9nlfmhlgsm6rpj3g0im7";
 "gfscomplutum.doc-1.0"="ddz279xl7glgi201dizr2gdkcgiy77qz";
-"gfsdidot-2019"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
-"gfsdidot.doc-2019"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
+"gfsdidot-54080"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
+"gfsdidot.doc-54080"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
 "gfsdidotclassic-001.001"="mv8li5kjf7gd779h7ap57qm6wz7m69mf";
 "gfsdidotclassic.doc-001.001"="1z68ixilpnx61pjs5spbmay6861sqc8z";
-"gfsneohellenic-2019"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
-"gfsneohellenic.doc-2019"="04y313wjm59sgg4xlnili0kfw3dwljp9";
+"gfsneohellenic-54080"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
+"gfsneohellenic.doc-54080"="04y313wjm59sgg4xlnili0kfw3dwljp9";
 "gfsneohellenicmath-1.0.1"="w946ahij7k25dk2dhvwpcrlcxpdndsl2";
 "gfsneohellenicmath.doc-1.0.1"="djwb6m03rymqc84dcgv531lq4wx8qx5n";
 "gfssolomos-1.0"="wq24prphxxnn94n0nd4xmrf23f5yqchp";
 "gfssolomos.doc-1.0"="rq87k1bymgyb837k103ps50w9krmxca8";
 "gillcm-1.1"="42vc5sx8shjzqkc10qv7gyq9689bzlgq";
 "gillcm.doc-1.1"="4rmm7nn5z0bw3qgn8gfkl86bblkvkh6g";
-"gillius-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";
+"gillius-32068"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
+"gillius.doc-32068"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
+"gnu-freefont-29349"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
+"gnu-freefont.doc-29349"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
+"gnu-freefont.source-29349"="716drmmfwyq7pabpgagk0zwkj77lrhda";
+"gofonts-54512"="gd9n6q1il2jfwz6hjp5hag2gkpr2mhl5";
+"gofonts.doc-54512"="4r2jm1373lkk3j89i9clb528dj04lmly";
+"gothic-49869"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
+"gothic.doc-49869"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
+"gothic.source-49869"="6gh7hma17066gk20ri4qjvml8d424c1h";
+"greenpoint-15878"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
+"greenpoint.doc-15878"="xf889ii8gmck30vlpwkfp7d9242ivffr";
+"grotesq-35859"="rqv47whzwig31vfd8581ncd87ja7pb82";
+"grotesq.doc-35859"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
 "hacm-0.1"="jvhbypj31pcc0imgwlmzpv8nmb1n9dxk";
 "hacm.doc-0.1"="0dys4q83mfgxlwrz16fsm2cx2vgcn5ly";
-"hands-2019"="570kl4m7mximvq87lfqa6fim30hmjjqz";
+"hands-13293"="570kl4m7mximvq87lfqa6fim30hmjjqz";
 "heuristica-1.092"="9y69nm9nw275afi7qzdlm6rr207rq1xd";
 "heuristica.doc-1.092"="kyhkr5x04gs4k2pqgnhysgdg9wk96s1h";
-"hfbright-2019"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
-"hfbright.doc-2019"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
+"hfbright-29349"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
+"hfbright.doc-29349"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
 "hfoldsty-1.15"="79zmah1m2xg56m7cvfybzw68kbfcf5c5";
 "hfoldsty.doc-1.15"="16gmfqd9kwg0isf4wp1nlndfwn5132ph";
 "hfoldsty.source-1.15"="vyly65j4d7wl49gmm8wgpxrnv1s2ygq2";
-"ifsym-2019"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
-"ifsym.doc-2019"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
-"imfellenglish-2019"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
-"imfellenglish.doc-2019"="g7r6rv584d412gqassqba30jfg3i1490";
+"ibarra-55820"="zm9m981v0x0mppmcr64fhnk22qr0dn40";
+"ibarra.doc-55820"="h9cndsg3q17n275ah59cf93m1is22ad8";
+"ifsym-24868"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
+"ifsym.doc-24868"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
+"imfellenglish-38547"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
+"imfellenglish.doc-38547"="g7r6rv584d412gqassqba30jfg3i1490";
 "inconsolata-1.121"="wk0j1458yhq5r1zl03qlb3gbzm0dwfb3";
 "inconsolata.doc-1.121"="iyjsfc6sgi4g6k3vljlmdjr6arvm09bn";
-"initials-2019"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
-"initials.doc-2019"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
+"initials-54080"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
+"initials.doc-54080"="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-2019"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
-"jablantile.doc-2019"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
+"jablantile-16364"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
+"jablantile.doc-16364"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
 "jamtimes-1.12"="mdyyd5fy4hhi74rpc5hb7bmrxwdsk9k9";
 "jamtimes.doc-1.12"="c9849k8v23lrfrchf00yvrvq5q7g1gq0";
+"josefin-56311"="iyrjxsy05x1jbnzryj8s68qg9rxl770f";
+"josefin.doc-56311"="kzqdhzl0r1k8yk06qz1didbhp43pmmd5";
 "junicode-1.0.2"="2vg9bfcpawwij52yxai93fb276v351wy";
 "junicode.doc-1.0.2"="49dyn91fjdhs7yzc6j7y9ihnxkc9wpml";
-"kixfont-2019"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
-"kixfont.doc-2019"="xp8ai67z856fmkzcssavksidg7n7j2yj";
+"kixfont-18488"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
+"kixfont.doc-18488"="xp8ai67z856fmkzcssavksidg7n7j2yj";
 "kpfonts-3.33"="rsl5v8zsm8pblyjryw3f14svxjzhnchm";
 "kpfonts.doc-3.33"="rr7q8ww1nkpzqy29xmxhsyizszf59mqx";
 "kpfonts.source-3.33"="448xjy1djbz9l9wbhmq7r6fpgvsn9dyy";
+"kpfonts-otf-0.31"="k648qikyjc7izhc8h19b65cp4gzmxb8l";
+"kpfonts-otf.doc-0.31"="gmhwph5kh1ndri1yj3i45hq2dxzg2a18";
 "kurier-0.995b"="dadp8vkzvblj60424k75bchravcr0338";
 "kurier.doc-0.995b"="a4hw3w7qg492qnf4kivjsdfxqyrq669b";
 "lato-3.3"="5cl837pwnp1zd7h8w5j7cwqpvf6pmik6";
@@ -1212,59 +1259,59 @@
 "lexend.doc-1.0.2"="pynssyl75a7i5ri8qfqrp8y9j962bvvp";
 "lfb-1.0"="kqspj6w9i4bzbxcngqdfk8rnw33j0yyd";
 "lfb.doc-1.0"="ikbhi6ahzxlplvizphmpimf9ah2ninqg";
-"libertine-5.3.0"="m2qrzjjvix37zk9fzmr9drjk9y9rcz15";
-"libertine.doc-5.3.0"="6wajsgwacz6j2hf134gpd31dnplbqngk";
-"fontaxes-1.0d"="aaqzfxbcd9fdggw8lmj6syc1ff00m43p";
-"fontaxes.doc-1.0d"="q1qsz0gigyg3x462k337crqng7njvakk";
-"fontaxes.source-1.0d"="6xacssljffql809gpbhl8qdrs944v6cs";
-"mweights-2019"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
-"mweights.doc-2019"="zkki0s268s1a23zm962ymbxl3gi7mzix";
+"libertine-5.3.0"="xs46n4q5hv8n321ai81358spg2r3y6n6";
+"libertine.doc-5.3.0"="jlnf3pmkj1yxhgfppdxhrv5qn9lsivg9";
+"fontaxes-1.0e"="27hpaxcvnnw00g8g74snij3pzssk1xa2";
+"fontaxes.doc-1.0e"="39pckgyrm5w4nj3z5l4vl7ypizxbn7k9";
+"fontaxes.source-1.0e"="4cgxjx83a87dpmandkb36j4pjvmypvg7";
+"mweights-53520"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
+"mweights.doc-53520"="zkki0s268s1a23zm962ymbxl3gi7mzix";
 "xkeyval-2.7a"="nznhb9srbfg7ifdi2mlkqbdcsq6329a4";
 "xkeyval.doc-2.7a"="k84lpc1h5d71qcb2k5rm5fnn04pv8czc";
 "xkeyval.source-2.7a"="9g5vvb4y71qryhdbjwjyxhh2w86cch0f";
 "libertinegc-1.01"="jmz5hjyld04g175sgg322lrlazcbmbz7";
 "libertinegc.doc-1.01"="qf8q9c30ljq44kqh8l855xdkq9i4w857";
-"libertinus-0.01"="q8ddwlppxzzmwfb6lzdcsix9kb4i61vr";
-"libertinus.doc-0.01"="y5didmz6809s0cfa8lnhhqfmbdshy9v6";
-"libertinus-fonts-6.9"="mgg77ljqyvp9sx78pfjfyr875qz52h48";
-"libertinus-fonts.doc-6.9"="msqi6clqw8rxg5jzzysbs1nr9ivsqar3";
-"libertinus-otf-0.24"="7damv0p9n249i4xsrvkm0p6zpsrbha5f";
-"libertinus-otf.doc-0.24"="d8v43mn6h7xq0x1c8y7gr7r2m7mbqfl3";
-"libertinus-type1-2019"="ikagqjrlcp82q9ym2hvknz8l0rm13jpx";
-"libertinus-type1.doc-2019"="zvg1ciy3pyjwknyi1s6j2c9zgsf1d5aj";
-"libertinust1math-1.1.9"="afqrfb41ndii7pm2ry6ydhhxbakr6k86";
-"libertinust1math.doc-1.1.9"="w485wvhpf2v60racrip2wysr21rgdaqy";
-"librebaskerville-2019"="2dc8cilcgmmp0wrla8ayyyh4khhh7lfl";
-"librebaskerville.doc-2019"="5yargvzlnq9sckyy629jzsmi17gb8h7n";
-"librebodoni-2019"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
-"librebodoni.doc-2019"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
-"librecaslon-2019"="3xd6aiixdpfjq96q9yf0jrdamyhng7is";
-"librecaslon.doc-2019"="88agnbh5q6f3l4pl78hk2l56w84gqqqp";
-"librefranklin-2019"="rb1fxs903zc5nnvhkza1dy8wn3j5j9ik";
-"librefranklin.doc-2019"="25nnnvx6gqjkbfl8bp0fiqdkr74dqb61";
+"libertinus-0.02"="hvyjkdpyb4i742jrp38jvihki874ynzy";
+"libertinus.doc-0.02"="00qv91migs6yq98sq8yzvgxyn2nfmnf2";
+"libertinus-fonts-7.000"="64k5a77sih39af4yig0n0zs646iigk0q";
+"libertinus-fonts.doc-7.000"="3fparhj044gym12c8b7h46ax6iypjs1a";
+"libertinus-otf-0.26"="vk7skfrymfjcq2bz26n0qwn2vkz84094";
+"libertinus-otf.doc-0.26"="aji4hnx7rzbvvlaahyh17ngng77ywf22";
+"libertinus-type1-56160"="n1j5n41lcl27hz8gz6qzwwjsqi49dxg5";
+"libertinus-type1.doc-56160"="5vl9xnfj5vnysw95rr5qyziwrwn3l3kn";
+"libertinust1math-1.2.1"="pi1jmb8wx2n7zpb80jvyk71z5969h7vi";
+"libertinust1math.doc-1.2.1"="7cs3igry5pvr00alrv92w9a0ybgh370f";
+"librebaskerville-56018"="n7ld6vxki5zh7svbpgzl239y3gb9h2xn";
+"librebaskerville.doc-56018"="31pv0p1g3za88z7br5zx2jfhvpaij6m7";
+"librebodoni-39375"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
+"librebodoni.doc-39375"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
+"librecaslon-56003"="nd68dagix0k3fnssygsn1ghb6nf15qfn";
+"librecaslon.doc-56003"="sv1i8sfnqd073n6vrlajw509azn32yhf";
+"librefranklin-54512"="rb1fxs903zc5nnvhkza1dy8wn3j5j9ik";
+"librefranklin.doc-54512"="25nnnvx6gqjkbfl8bp0fiqdkr74dqb61";
 "libris-1.007"="fi5cn5ag6zgprgc0iqgk4iln6kb8knv8";
 "libris.doc-1.007"="82p29lh7cbavrshdx4s0pvqpgbvb21d4";
 "libris.source-1.007"="gd4aiv3pxy5as8cwfy9m1f4a8jp7v6d1";
-"linearA-2019"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
-"linearA.doc-2019"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
-"linearA.source-2019"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
-"linguisticspro-2019"="034xndbaadw3kssnpam8sxmh3cx38c7z";
-"linguisticspro.doc-2019"="pc4glvhi0xsy43qx70c91byyc7f3m1n4";
-"lobster2-2019"="lx95j46k68gz8jbcxam8a3xy4jgxy9jk";
-"lobster2.doc-2019"="psr2bid2fjynzfvwb4s86biamv1r6q9l";
-"logix-1.02"="gkv9as6m4zddjpb56kf4v2kzd6966lrs";
-"logix.doc-1.02"="f89pvvnz7zxk8j9yl0b1hx5qkix0fc56";
+"linearA-15878"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
+"linearA.doc-15878"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
+"linearA.source-15878"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
+"linguisticspro-54512"="034xndbaadw3kssnpam8sxmh3cx38c7z";
+"linguisticspro.doc-54512"="pc4glvhi0xsy43qx70c91byyc7f3m1n4";
+"lobster2-56019"="zn660hm4k3qcf6qixrian248zngnl70j";
+"lobster2.doc-56019"="q66bcdlbc5zb7pgq1wmpmrbc49ld5y5x";
+"logix-1.07"="4kwwmkwazzcjbfmbfmmcfr1ixrhkwq8k";
+"logix.doc-1.07"="f8ja938sqwk92i91k9g6cif41wvays29";
 "lxfonts-2.0b"="3s303f06r7561x3x38sy3c9nr80x8gdq";
 "lxfonts.doc-2.0b"="swgvazf325j99kjrcb94r8611fs6jmqv";
 "lxfonts.source-2.0b"="sxn1hl96bsg6ai8fafskxj8palg8vpk7";
-"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";
+"ly1-47848"="ry7x1505pv1szprb9fi2x21s97m23ln2";
+"ly1.doc-47848"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
+"marcellus-56016"="qp4g991zc71fcii4mj70rw8ywkjmg14b";
+"marcellus.doc-56016"="8v3dhdlkq24vykk6lq67nfn7ppmxrkvk";
+"mathabx-15878"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
+"mathabx.doc-15878"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
+"mathabx-type1-21129"="z96jirmwabbav354qlyphhjvxnsgjqxl";
+"mathabx-type1.doc-21129"="yq8n84cpw8kqvqivham4pqxq1740z36w";
 "mathdesign-2.31"="30x7w3a7v1654a9n5mcj5kdak8i2qxw2";
 "mathdesign.doc-2.31"="sgp7bi4m5480jvsdj9n2pq933cfjkiqr";
 "mdputu-1.2"="6wr48jgiyfprwwrla53qshm2817zrmm2";
@@ -1272,13 +1319,13 @@
 "mdsymbol-0.5"="hjaz8ph3zrnl7x0545k3937yl5a0ghqh";
 "mdsymbol.doc-0.5"="g8m1964gq8gnn3cc3ij1iqhc4akwmc3q";
 "mdsymbol.source-0.5"="7hy2zpaw41c46i7kd4m65lhzgbpkn5xv";
-"merriweather-2019"="d816wypw36p0wmyqkk4z7kyqqs586klb";
-"merriweather.doc-2019"="jzgrh95z11msb6m0yhbcjfxlnil40pwh";
+"merriweather-56365"="112s3drbic1y4b29why5dqk8y1nsby6d";
+"merriweather.doc-56365"="16sp2c11hyllpc2fn55yim0rdp9p7kyr";
 "miama-1.1"="w96rjiv6fhqv14lfl1w4rvlcy2z7x6dc";
 "miama.doc-1.1"="hs6gq60jbv0mvvfznhfrzz0g6s2l3rrp";
 "miama.source-1.1"="4khxj1rk9xzil5nlp19v7a9rxf9npq99";
-"mintspirit-2019"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
-"mintspirit.doc-2019"="w1ld9009591p4inkky5jfppjaiy0ja8s";
+"mintspirit-32069"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
+"mintspirit.doc-32069"="w1ld9009591p4inkky5jfppjaiy0ja8s";
 "missaali-1.004"="yv5k1an5kf5fygdjphwyg34k7yxzhvfm";
 "missaali.doc-1.004"="dwrqnc25398agbnc9nqmmiviray9fgw3";
 "mnsymbol-1.4"="gmjs2ra3yb01bxw90gjdri3p6n7kbc6l";
@@ -1286,102 +1333,104 @@
 "mnsymbol.source-1.4"="7bf82bljx9w783jg3kibc5rn2l9j0ym2";
 "montserrat-1.03"="0jfqmisw57gkaz06kv0iq8ncfn9cj5hw";
 "montserrat.doc-1.03"="0hb2s3xrsawiza8qn21hwkji1sxxi4xz";
-"mpfonts-2019"="ar90vvz924ppxyfbqa3g7j7q9l4ddah2";
-"mpfonts.doc-2019"="kyij6dba277ysdwyd74bfybqi2bgm436";
-"newcomputermodern-1.001"="f9dpjcd93y7wmjs04w3n59a6aqirc6x0";
-"newcomputermodern.doc-1.001"="i1sg20z95l87fkxh5338lpdvzacl15nv";
-"newpx-1.410"="c6i4d9bdcv9j67pzsmwanv6jyc5vlgyv";
-"newpx.doc-1.410"="y8k4lqn8v37l9xfkbcflgkq9wqgfjrab";
-"newtx-1.624"="lm25bm9qazk8kxs1hsgl891pc0dfr1w6";
-"newtx.doc-1.624"="pq7ffhhw4ya9mqakrxrscjv79l0pi445";
-"kastrup-2019"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
-"kastrup.doc-2019"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
-"kastrup.source-2019"="13vj32k48f0ahs5694zrsvk953kxjrwc";
-"newtxsf-1.051"="k228m8b49w8pxij91bgw6xb8ikwa5q6b";
-"newtxsf.doc-1.051"="4mn23hq7waqwd7n1b6p67pjgbck0vlaa";
+"mpfonts-54512"="ar90vvz924ppxyfbqa3g7j7q9l4ddah2";
+"mpfonts.doc-54512"="kyij6dba277ysdwyd74bfybqi2bgm436";
+"newcomputermodern-2.31"="g9nj0x2h3k845fb26xngpmsc4vnvw9gm";
+"newcomputermodern.doc-2.31"="prz0lnvzv52ypw4q8s15ix0l58sn9c3n";
+"newpx-1.413"="bp58v6iaiyl2ivznf1h44ny4g5snnvw5";
+"newpx.doc-1.413"="f5kk1mc9f6bp453drmmzawvina0md0qg";
+"newtx-1.630"="dqk5sv3ivpash74a9ddbgv0qjrqck1rc";
+"newtx.doc-1.630"="vm5wbybsqdz6k4qlrpzkprprhqsqyyzf";
+"kastrup-15878"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
+"kastrup.doc-15878"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
+"kastrup.source-15878"="13vj32k48f0ahs5694zrsvk953kxjrwc";
+"newtxsf-1.053"="hzxr78pc8bvqx1lmz5qqazaxnscw4zwz";
+"newtxsf.doc-1.053"="4yq9cdx50c88gi84l1cxilihs2xw88sw";
 "newtxtt-1.056"="chh34kv4xssw395m003j4pdnmw62b63v";
 "newtxtt.doc-1.056"="k4bq1vqqb394n6yx35qapgx846cp54lg";
-"niceframe-type1-2019"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
-"niceframe-type1.doc-2019"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
+"niceframe-type1-44671"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
+"niceframe-type1.doc-44671"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
 "nimbus15-1.013"="9k2ck6b5lj3n5fjlpmwxs589mf9ph02y";
 "nimbus15.doc-1.013"="pb7vyh76yjs5ywb1hcwpxid9gzdq082q";
-"fontools-2019"="pfxfsgr6xjhxn0pbbssrsizibxmc8n23";
-"fontools.doc-2019"="6mbjf48hhn84gsdrg2wns8z45h60kk47";
+"fontools-55997"="f7m47yp3gxpy1xffa1mvlz4rsy120ypl";
+"fontools.doc-55997"="5zay561ij6sp1wcvdjyfa8p0ppagbjyh";
 "nkarta-0.2"="g55hn51ys8zd7in6c6z46mwva577s6qd";
 "nkarta.doc-0.2"="59na8icxp6l11jk6nsp53c1y5gqyjsff";
 "nkarta.source-0.2"="jqh4ghyi8ry5w9x909w3kscg9p6m1279";
-"noto-2019"="sx5x2lf2y4c0rxhzrqc6l8hdk29agykq";
-"noto.doc-2019"="ws089havhd1gi0rs7mvdh6nb0f1npbxl";
+"noto-54512"="sx5x2lf2y4c0rxhzrqc6l8hdk29agykq";
+"noto.doc-54512"="ws089havhd1gi0rs7mvdh6nb0f1npbxl";
 "noto-emoji-2019-11-19-unicode12"="4hgmkcwhy0air6pw59331ydfxbjj0fxv";
 "noto-emoji.doc-2019-11-19-unicode12"="viyj6daza3fqvdsj101l75v32v9xkv8x";
+"notomath-1.00"="xyh8sd811brsf7gz7qsn4mbjrxas4ms8";
+"notomath.doc-1.00"="y9b5jwprlwx8drir8c6q8agfx9if22jf";
 "obnov-0.11"="49j5a74f298hw84np3ih4xd0hnh6r1wh";
 "obnov.doc-0.11"="m9c4z3ckj08ai2cdb3hhiv040y6n1bfl";
-"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";
+"ocherokee-25689"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
+"ocherokee.doc-25689"="p9lx15xl112908b004y0y6nlfxzgam24";
+"ocr-b-20852"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
+"ocr-b.doc-20852"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
+"ocr-b-outline-20969"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
+"ocr-b-outline.doc-20969"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
+"ocr-b-outline.source-20969"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
+"ogham-24876"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
+"ogham.doc-24876"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
+"oinuit-28668"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
+"oinuit.doc-28668"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
+"oinuit.source-28668"="caij5pbyylnhlhx149kl2h5sj4qda57z";
 "old-arrows-2.0"="7s0s5g2vif8hkzj768a0zgg46xjh57y6";
 "old-arrows.doc-2.0"="n9ly98pmz304gymkiafs3fncs9qq29mb";
 "oldlatin-1.00"="dw53za52apri5agrh2jpxrw0qvnk1mbd";
 "oldlatin.doc-1.00"="ngf614psg11qa2gmda30c6an4f371lda";
 "oldstandard-2.5"="mlwzzs29s5bf8hym5748wsldj2w092rd";
-"oldstandard.doc-2.5"="27gcl81jba7gyi9m28jcyxnphk8ivjdl";
+"oldstandard.doc-2.5"="qrz3lybazynjlp770l9sknzrcr2mcjdn";
 "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";
+"orkhun-15878"="fmazxvhmc0r0m96ms6a234wj139g00iy";
+"orkhun.doc-15878"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
+"overlock-56079"="ml25rmi7bi6q1yag7sj91zjmq49rmznd";
+"overlock.doc-56079"="vcm3nk33hlydpv1yaz2gw9038mk6gbcz";
+"pacioli-24947"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
+"pacioli.doc-24947"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
+"pacioli.source-24947"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
+"paratype-32859"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
+"paratype.doc-32859"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
 "phaistos-1.0"="5vv58ibkgjmpih67p2qgm9vdiqh4ag6m";
 "phaistos.doc-1.0"="z69jyiz7nm44yg9qy5vfhrzwby903g3s";
 "phaistos.source-1.0"="clhmyfpd5l1zx29352smmnyhal3lpa5q";
-"phonetic-2019"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
-"phonetic.doc-2019"="xa7kxz7lh1sqmb6x9n4sh7bjpr9mvzqp";
+"phonetic-56468"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
+"phonetic.doc-56468"="zyqpk97ipcmi1898h6dxc7vhynblwzqs";
 "pigpen-0.2"="d6rr06gpzr27134dqh8rv6h6g4i9hg4x";
 "pigpen.doc-0.2"="gqnp68lkhnnyh1ib0sa34cxjg52jj0rs";
-"playfair-2019"="70y4jv653pcwv0s6rnmjz271saz179vn";
-"playfair.doc-2019"="v7jcyickh5fflqx8h2b7s307sx9zcg2l";
-"plex-2019"="clbqiqsl3i6y337mlkrda8nk0wf15nsq";
-"plex.doc-2019"="yf6z2wd095cln6lcg885b8qx6grnkr1z";
+"playfair-56005"="k691vzvmarxn1d8fz2d5hkn177yr89df";
+"playfair.doc-56005"="931mlzpd1mp93dmwdlzfzf7na4cxaiyx";
+"plex-54512"="clbqiqsl3i6y337mlkrda8nk0wf15nsq";
+"plex.doc-54512"="yf6z2wd095cln6lcg885b8qx6grnkr1z";
 "plex-otf-0.07a"="2k3j1snsf3d414k4pjq56d9b1vn2vh1x";
 "plex-otf.doc-0.07a"="z6clw20q3nfwzn087f3c3ifc4g2yr4kp";
-"poiretone-2019"="isnd3cmsm0ps7dh40sjqiwa9vrpc1d19";
-"poiretone.doc-2019"="k2g9vk6snvf66n1g6x2d4hd2d1z6cghm";
+"poiretone-56070"="isnd3cmsm0ps7dh40sjqiwa9vrpc1d19";
+"poiretone.doc-56070"="k2g9vk6snvf66n1g6x2d4hd2d1z6cghm";
 "poltawski-1.101"="ipqjw12syp38hj1pw4b9g03kx07l40vn";
 "poltawski.doc-1.101"="g3shi2lp499x96az1f77y5bf8mhrgzl2";
-"prodint-2019"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
-"prodint.doc-2019"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
-"punk-2019"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
-"punk.doc-2019"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
+"prodint-21893"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
+"prodint.doc-21893"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
+"punk-27388"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
+"punk.doc-27388"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
 "punk-latex-1.1"="i1gqgbivxd8yl1rwjbssf2g0ib9nvb57";
 "punk-latex.doc-1.1"="8nzibnm4247rapxb9kfkyv5i49w19ipk";
 "punknova-1.003"="0q3dx65cyb1kh2iwbs9if8p6943m3gw8";
 "punknova.doc-1.003"="hjlldk6yr4hjh4chwcxmzq761h1ygwnq";
 "pxtxalfa-1"="rapvsla1cgyinabn1w9cshpm3y5af13r";
 "pxtxalfa.doc-1"="fg8arijrsm7gc3liyf3036pj014w0243";
-"qualitype-2019"="g25g7rmvwsrn41da05wmx9r1qbzh2xaj";
-"qualitype.doc-2019"="nm2vc0k5x3h5vks67zqak7p1i0qd6bqi";
-"quattrocento-2019"="isv4srm4yxgrn89hsx8if1224x6mbmai";
-"quattrocento.doc-2019"="qcz3715r89gpj53jcy69rzimbcqlzw2z";
+"qualitype-54512"="g25g7rmvwsrn41da05wmx9r1qbzh2xaj";
+"qualitype.doc-54512"="nm2vc0k5x3h5vks67zqak7p1i0qd6bqi";
+"quattrocento-56020"="9avifkc1mi6q3ia38624gwkrazgpmsl7";
+"quattrocento.doc-56020"="cpq31smkrbm84d5cgchbrihjilvskc30";
 "raleway-1.4"="qyqkxw2r0kjdc5ccq6ixlsjgv75gcmhv";
 "raleway.doc-1.4"="kw13y1533fwj7lgjc986ydb97plij1vh";
-"recycle-2019"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
-"recycle.doc-2019"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
-"roboto-2019"="whybwc6p6bzqhwdafwnjkvn8grf2yrq4";
-"roboto.doc-2019"="85mmkpnfgwann7dxrzphg39hswnlpnqn";
+"recycle-15878"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
+"recycle.doc-15878"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
+"roboto-54512"="whybwc6p6bzqhwdafwnjkvn8grf2yrq4";
+"roboto.doc-54512"="85mmkpnfgwann7dxrzphg39hswnlpnqn";
 "romande-1.008-v7-sc"="v5sf9cqkvd7wmbrrb48dffi59m048kal";
 "romande.doc-1.008-v7-sc"="bf5a3jzcqr74l7qp2im80r9x73rk3asy";
 "romande.source-1.008-v7-sc"="g2p0didwlqqf9gsdzrhmh0f9543wdwwz";
@@ -1390,35 +1439,37 @@
 "rosario.source-2.1"="pyzgnc976vz8grb6dx3cwzkgxv2i11i8";
 "rsfso-1.02"="3n75qwpji7z995wb2r3dqwrszkw6m61m";
 "rsfso.doc-1.02"="vga3jyv3s730mgx97mqw92igvvypbyb4";
-"sansmathaccent-2019"="s26h8qfkc1qkh8afc3wj5wg8rxqzbc1w";
-"sansmathaccent.doc-2019"="4rvf51yh5fg1sfkr1arxqbdyf81i9ln7";
-"sansmathfonts-2019"="90f8gdxlqiqx6aw1nx0hfbmkrs6aw331";
-"sansmathfonts.doc-2019"="wcnhx85h99brrisdz8yb0m34mv5qsvd9";
+"sansmathaccent-53628"="s26h8qfkc1qkh8afc3wj5wg8rxqzbc1w";
+"sansmathaccent.doc-53628"="4rvf51yh5fg1sfkr1arxqbdyf81i9ln7";
+"sansmathfonts-51356"="90f8gdxlqiqx6aw1nx0hfbmkrs6aw331";
+"sansmathfonts.doc-51356"="wcnhx85h99brrisdz8yb0m34mv5qsvd9";
 "sauter-2.4"="flw49y2l5355jpvq7f3q3vannwcfni3f";
-"sauterfonts-2019"="kciqmij0w173na214ix5yhngc18likch";
-"sauterfonts.doc-2019"="x2lc53r2wnwrjfainmngafdsg39zyf48";
-"sauterfonts.source-2019"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
-"scholax-1.021"="3y176kc0bywnpmfkm8m90r04bj845cl3";
-"scholax.doc-1.021"="48xfsicb5fmwn4bj6nfwp0ldpzfqqgyx";
+"sauterfonts-15878"="kciqmij0w173na214ix5yhngc18likch";
+"sauterfonts.doc-15878"="x2lc53r2wnwrjfainmngafdsg39zyf48";
+"sauterfonts.source-15878"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
+"scholax-1.026"="ydajpfgivxbqvvrgx1y3816ghydi4kas";
+"scholax.doc-1.026"="lqf9lmig6dl0iddhn5q21njmyfkcqqva";
 "schulschriften-4"="3g5c3l5mnpp3a6472ayj0iykriini807";
 "schulschriften.doc-4"="ad6v7vnksqfglwb18via23p45xm2hr81";
-"semaphor-2019"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
-"semaphor.doc-2019"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
+"semaphor-18651"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
+"semaphor.doc-18651"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
 "shobhika-1.05"="rcrfsl2fd8mq929xv6zjlk91hmwvw85c";
 "shobhika.doc-1.05"="cb72lp8n0xrj4gvfhzy6mvr4jz44m27g";
 "skull-0.1"="4nkkh74v0mlyyriyhqwgk4la8l3mjxhj";
 "skull.source-0.1"="szzd5b98j04aj4f4aq5av7fs7316156m";
 "sourcecodepro-2.7"="yx2x3lbn1mc24xx25b4vpq03rbazdby5";
 "sourcecodepro.doc-2.7"="vqwr6xly6p3yds1la5cdn3c0hi95q2xk";
-"sourcesanspro-2.6"="z54yjkharb2lcq260in8q07d2d1s5w8n";
-"sourcesanspro.doc-2.6"="cwyk6i4sdl4iag4ggdxm0c3l8ndz7cd7";
+"sourcesanspro-2.8"="axl11355zgfdm0xgscjnks9i18smp49q";
+"sourcesanspro.doc-2.8"="iyk2jh81qg0bq9j0zi8g35mypd0zcll7";
 "sourceserifpro-1.4"="zxfp95p1ah6yv6n7p0bdsvnmrpm42kjl";
 "sourceserifpro.doc-1.4"="qg32lg4s8ba732ac5z3gzc6i7iy0mdls";
+"spectral-56153"="wpy09gk4zc3amy45b8pnk7dx4yi0qx6r";
+"spectral.doc-56153"="ws7xnmisdi6ppagbsmqicn4384hz9fm1";
 "starfont-1.2"="phdad9yy6nvcxi7ym1chdvz0vvb309ag";
 "starfont.doc-1.2"="96h183mv5rmxmnkgy6766519cz5nff6g";
-"staves-2019"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
-"staves.doc-2019"="rn25a0syl0d0n89jp09906y30679mr7v";
-"staves.source-2019"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
+"staves-15878"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
+"staves.doc-15878"="rn25a0syl0d0n89jp09906y30679mr7v";
+"staves.source-15878"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
 "step-2.0.3"="v0amk44nny3vi305zpbwl0w16sfcafr6";
 "step.doc-2.0.3"="ahh0r2mdrkavizsw1wqb2npfy6vfjrf3";
 "stickstoo-1.033"="k0kj2930hby7wkrxlal4wr7ajagm9lnd";
@@ -1446,22 +1497,22 @@
 "tfrupee-1.02"="2srhr23mwajngahy1hcihhivix7x6af3";
 "tfrupee.doc-1.02"="pvmd0anqdv38a904hhafsr9mq5hy7f5d";
 "tfrupee.source-1.02"="sz4z2j5kzk9431pvdhj2l11b8qsw3mlv";
-"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";
+"theanodidot-54512"="wq3wrhkk66z3q327fq4mdv0lw8wghm4d";
+"theanodidot.doc-54512"="6c7za0972a3x9cqa4gmj9c42bz9k7hqp";
+"theanomodern-54512"="2mv2fh328c75bffssj0l8dgdkaq519lv";
+"theanomodern.doc-54512"="qs48kz3hqbh0wv36m5ph30za13wmss3x";
+"theanooldstyle-54512"="ww6kab8p4jm1wsvlsn7hydl2fa1s3nnf";
+"theanooldstyle.doc-54512"="pn7xnn9dq4i2b1wdrn2qqzx7dx9cqrcz";
+"tinos-42882"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
+"tinos.doc-42882"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
 "tpslifonts-0.6"="6d6zngl99bgbzqidn4249bv3p3ykz5pb";
 "tpslifonts.doc-0.6"="64fr89dkcr0zzxcmshmhpczvbc4byp22";
 "tpslifonts.source-0.6"="0267nah6ffiwph29ay6cpfl9zqm4vgbh";
 "trajan-1.1"="j8dsrxip2s58sgw90hl98v2w9r106cz6";
 "trajan.doc-1.1"="kwiwf13cr6c6v10vd1irq5srl82kvl58";
 "trajan.source-1.1"="nm5fpl91wscxri9bgcvfhmyfqrryvdil";
-"twemoji-colr-0.5.0"="addwkmmr7gywrzsrk5xclaiqz9215ml0";
-"twemoji-colr.doc-0.5.0"="k2374m9pp0xsc1vb2jrdym961ch9g6ns";
+"twemoji-colr-0.5.1"="2vzfrpljxnijw6ds3z2a0ak3jgsccri8";
+"twemoji-colr.doc-0.5.1"="k6mjhjkxlrm0s7zjf49w36gk5cam45pq";
 "txfontsb-1.1.1"="f8012p25mf8n4zj4nkmgpvgf54jb9i52";
 "txfontsb.doc-1.1.1"="r3xzad7mqh97g9firmqvb57bn44xa8cf";
 "txfontsb.source-1.1.1"="4zypgg4dchni1zh8sx4wh4sb5fdh8x98";
@@ -1473,8 +1524,8 @@
 "universa-2.1"="1hdi5bjzg9w8ipll8d3hdjxr23adcg16";
 "universa.doc-2.1"="pxdcwsm75lji29nggdy53wv4y96ixqjh";
 "universa.source-2.1"="adayns5x3p33i2apy5q7582ahl9kr5wq";
-"universalis-2019"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
-"universalis.doc-2019"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
+"universalis-33860"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
+"universalis.doc-33860"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
 "uppunctlm-0.1"="snyyw4gj0736fqykkf94fhkp9d31ml9q";
 "uppunctlm.doc-0.1"="h6cblhxd6xb6nnp3szb0fwv1r7pdwg99";
 "urwchancal-1"="kk9r6rk48qqq9s8l4k42fgj6c84912bw";
@@ -1482,12 +1533,12 @@
 "venturisadf-1.005"="nnn3pq2sx0rayjhhsh2pyavkf7c4i7jw";
 "venturisadf.doc-1.005"="gjzclw11zah2cpmgjdpknflrfsaahq9h";
 "venturisadf.source-1.005"="6yz4vcq9mzzm52ca19kcvgj8fg7js28g";
-"wsuipa-2019"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
-"wsuipa.doc-2019"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
-"xcharter-1.205"="aafczy0cy4hzlm2vp6a4z13n81c3xdpy";
-"xcharter.doc-1.205"="f47pl0h1yqqibd5fqkyripdhp5fd2d5x";
-"xits-1.301"="p6p15xy3v136llbzrxhiyiqqjxjx9gzz";
-"xits.doc-1.301"="3qdj5y0g77l89xp1nijqr8kckm0257lg";
+"wsuipa-25469"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
+"wsuipa.doc-25469"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
+"xcharter-1.209"="j907j2f8vvmvh70qfp5zxpyyrh2mj4c8";
+"xcharter.doc-1.209"="xbqd9g70wmzxv23i9nsg6fc3prfz5xmb";
+"xits-1.302"="p0s2ycdklzp3nwp8ix7zfq30hp2wfgwj";
+"xits.doc-1.302"="avh0lr47xhdnfqpcxbjxlcp9q7q1mi59";
 "yfonts-1.4"="i2aacxlhsnkbgfb9i8p0sdwb57qv6gb6";
 "yfonts.doc-1.4"="lw30qiavn4l0ikg3hckps3swjch3wd6s";
 "yfonts.source-1.4"="rcvacgid92pk4m2mqy158gr20jax4835";
@@ -1497,14 +1548,14 @@
 "yinit-otf.doc-1.0"="7rhfxzlfdwl3g0bdlxwsyzzf83f24xx2";
 "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";
+"avantgar-31835"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
+"bookman-31835"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
+"charter-15878"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
+"charter.doc-15878"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
+"cm-super-15878"="wqamwks565frzn4nf6pq9skasdx5jbmy";
+"cm-super.doc-15878"="246p6vn62gq68n7bnxh1iz258gn3wi85";
+"cmextra-42428"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
+"courier-35058"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
 "euro-1.1"="mpzw5yyqlyb864cqx4wczdnbln4sv4b2";
 "euro.doc-1.1"="82srlwf5vlsmfpwn0l7c7j4wd9fmvbqa";
 "euro.source-1.1"="v5w06s1hfni20mg1flnwgpkr5m49vqvf";
@@ -1515,32 +1566,32 @@
 "fpl-1.003"="m1b15fm8wc0lm0x9mbryz69x2dkczkmp";
 "fpl.doc-1.003"="bjc01f8vs5f3qj07my033203rn1na269";
 "fpl.source-1.003"="6rv41z6xg652nkli0flj3102na8k7k0d";
-"helvetic-2019"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
+"helvetic-31835"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
 "marvosym-2.2a"="pn8zahcj87ab0rgiz9inp97randgz890";
 "marvosym.doc-2.2a"="wqd4660d0s4kxgasi3gv09fbjnbqmwsq";
 "marvosym.source-2.2a"="zygnnzkxxsfxvhnkvkq4v6gis1k7lc6h";
 "mathpazo-1.003"="d950j9d7ywwx0air9b1awwxr0a7486qz";
 "mathpazo.doc-1.003"="zna30q1bzd255h9yjnf35ldaiql0b142";
 "mathpazo.source-1.003"="0ly3fqq1s2sf0zva0jx3llbwkqjm0jv4";
-"palatino-2019"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
-"ncntrsbk-2019"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
-"pxfonts-2019"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
-"pxfonts.doc-2019"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
-"rsfs-2019"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
-"rsfs.doc-2019"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
+"palatino-31835"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
+"ncntrsbk-31835"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
+"pxfonts-15878"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
+"pxfonts.doc-15878"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
+"rsfs-15878"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
+"rsfs.doc-15878"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
 "tex-gyre-2.501"="bh1inc34f90vb7wh0r9drdjalhwa71cw";
 "tex-gyre.doc-2.501"="8mvblk061marhxqwf21jssgpn9mgvqs2";
 "tex-gyre.source-2.501"="lqv1gkn02k8yr5n4c3h80sq30f9iggxf";
-"tex-gyre-math-2019"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
-"tex-gyre-math.doc-2019"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
-"tex-gyre-math.source-2019"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
-"times-2019"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
+"tex-gyre-math-41264"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
+"tex-gyre-math.doc-41264"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
+"tex-gyre-math.source-41264"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
+"times-35058"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
 "tipa-1.3"="h92fnvz5cv34vdyrpq52pn79z9lq6s0l";
 "tipa.doc-1.3"="s923q6n8h73f74y77cf171xj9w3mrd69";
-"txfonts-2019"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
-"txfonts.doc-2019"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
-"utopia-2019"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
-"utopia.doc-2019"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
+"txfonts-15878"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
+"txfonts.doc-15878"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
+"utopia-15878"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
+"utopia.doc-15878"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
 "wasy-2.5"="04vral6cxg9d9yqvm6b1hypgybrasbpc";
 "wasy.doc-2.5"="04z8v3n1qqsig0yg0qnisbrly6zkf2gw";
 "wasy-type1-001.002"="9nrxjm30l4lw800p9vq7kzw7fiviybsv";
@@ -1548,11 +1599,11 @@
 "wasysym-2.4"="s0vrrk3zl383akayli6rnqma3r3xbqih";
 "wasysym.doc-2.4"="pvkpxwgdwjhqilk6lnvkzwhf8srbnyhl";
 "wasysym.source-2.4"="y43dlzdnavkbazaq47hcm1dympkwqiya";
-"zapfchan-2019"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
+"zapfchan-31835"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
 "accfonts-0.25"="vnff63f9g4z5bsgrila75lr6lhdl3jhn";
 "accfonts.doc-0.25"="5v97adjwkwxpy4dgw6qiankxfrlz67ab";
-"afm2pl-2019"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
-"afm2pl.doc-2019"="4kms0bi8801giwdiyk5d0l7q0rdsvqi0";
+"afm2pl-54074"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
+"afm2pl.doc-54074"="4kms0bi8801giwdiyk5d0l7q0rdsvqi0";
 "dosepsbin-1.2"="f00pl9rcgapb03h76g4578za2p0awqh9";
 "dosepsbin.doc-1.2"="41pqpdppqi9658cacc0zhg72cp1pa00x";
 "dosepsbin.source-1.2"="0g1nbmyry93ikcgqhcyg48agnabnzpsk";
@@ -1562,53 +1613,53 @@
 "fontinst-1.933"="4ybgkvxvi1xy6jyw9cc8w3c51kmsmbd6";
 "fontinst.doc-1.933"="az11s0n9q3s68v02y4h2hx00fx8r5hxd";
 "fontinst.source-1.933"="cvbp2ml5kiq35qjnyzbpi8p7h1n5m2l6";
-"fontware.doc-2019"="2lq4pwncc80f0lh0x7s2a2c9kz9wjprn";
-"lcdftypetools.doc-2019"="c6agyhm6yaqg7gfnahfy124cdkln32cl";
+"fontware.doc-56291"="d76vkfmsnnxyn5pzp37k35mkril4f26f";
+"lcdftypetools.doc-52851"="c6agyhm6yaqg7gfnahfy124cdkln32cl";
 "metatype1.source-0.56"="infq9kahz9ljr5kk338xbww0g4ifg8cq";
 "mf2pt1-2.5a"="d57jv2y04fsln3q3znw2qi16j7dfq3ap";
 "mf2pt1.doc-2.5a"="gc2i9fp30877ycz5l3wgphwlg9kpfqp7";
 "ps2eps-1.68"="ja294cdv9aagllqxjbckv50b13swxlvj";
 "ps2eps.doc-1.68"="00q5228fgcsw6rbadprynz6zdjc6y2j6";
-"ps2pk.doc-2019"="k23d42q6071yrh1jnzxdw7yx19nbk5ac";
+"ps2pk.doc-52851"="k23d42q6071yrh1jnzxdw7yx19nbk5ac";
 "psutils-p17"="g8ci3q98i9cvpw1s7l3mqsv39wqx3gac";
 "psutils.doc-p17"="6zkafw71fx43y9y5ywycmclwldd3skiw";
-"t1utils.doc-2019"="7qnzwx98z6pjw9k3zrjk5pmix9amlhs7";
-"ttfutils-2019"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
-"ttfutils.doc-2019"="nwcnj5ss2fnxspr2q7jka8himc2v5rzi";
-"aleph.doc-2019"="p1zcyzl5na5ladrrh54m8q3926kwdw6l";
+"t1utils.doc-52851"="7qnzwx98z6pjw9k3zrjk5pmix9amlhs7";
+"ttfutils-54074"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
+"ttfutils.doc-54074"="5ax98pwda7lfnli0d7lbyshrzqb05n9n";
+"aleph.doc-56521"="11b3406xfk290vnd0a5xmz3ckhh3il46";
+"lambda-45756"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
 "antomega-0.8"="jxriw18jifvf24fz8nqql5izp67p8z5a";
 "antomega.doc-0.8"="q9jb5ks7gfxg5gjhkpng5bl0wwbwp2ph";
 "antomega.source-0.8"="l2gs7sapppwxiy712i8vkwfmmc96ch1s";
-"omega-2019"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
-"omega.doc-2019"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
-"lambda-2019"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
+"omega-33046"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
+"omega.doc-33046"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
 "edmac-3.17"="29h8y4lna3sv0k7wqmbgrb0mvdxwz330";
 "edmac.doc-3.17"="il4k6vswcqp00005n0084nf99bwxp809";
 "edmac.source-3.17"="90wdkd3rhm8ymi2w9hb64acsy2bzqgg6";
-"eplain-3.9"="r1jby527acphlk6g8l43jj6dprzhdan3";
-"eplain.doc-3.9"="c75qf1sh35qdxpkqm2gb2y7dxjjm09qy";
-"eplain.source-3.9"="grk0m4hjb0i8hb85fc0b37wrxszg6y1q";
+"eplain-3.11"="qn75j5ylrpq7n758wgspr9bgisd8bnlz";
+"eplain.doc-3.11"="81yx3sj0nzw7l8q0xxf2cyqkvipfcg9m";
+"eplain.source-3.11"="fn1f737csi8474xf9dis8azwbh3478sq";
 "jadetex-3.13"="79dd0y9m791m62b48pnkyw4352271a6d";
 "jadetex.doc-3.13"="ix7992xnb7xb1789n6d48dv98imfc4m2";
 "jadetex.source-3.13"="3716mhagkrr60rjj9whznfh3v5qwvyv9";
-"cyrillic-2019"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
-"cyrillic.doc-2019"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
-"cyrillic.source-2019"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
-"cyrillic-bin-2019"="5mgqkf2kgqwx6fpdcvc8v99y6lc2cc2x";
-"cyrillic-bin.doc-2019"="hc8x4l1yd2cjqzvjdhsg3jbz8xnmq1gc";
-"passivetex-2019"="arr43134jllipw1jl9cbrgnnk1gav4d9";
-"ulem-2019"="d8shv0p8kmjd0rii3qljds7bd4jia6c1";
-"ulem.doc-2019"="3sdwrmm0gj0h8qq3ynarqf6vmk46v623";
+"cyrillic-47350"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
+"cyrillic.doc-47350"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
+"cyrillic.source-47350"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
+"cyrillic-bin-53559"="5mgqkf2kgqwx6fpdcvc8v99y6lc2cc2x";
+"cyrillic-bin.doc-53559"="hc8x4l1yd2cjqzvjdhsg3jbz8xnmq1gc";
+"passivetex-15878"="arr43134jllipw1jl9cbrgnnk1gav4d9";
+"ulem-53365"="d8shv0p8kmjd0rii3qljds7bd4jia6c1";
+"ulem.doc-53365"="3sdwrmm0gj0h8qq3ynarqf6vmk46v623";
 "lollipop-1.07"="c71n12rvjhafkq26bca7q7hxjy5b9xdv";
 "lollipop.doc-1.07"="18wdsl5kq7xwsqhr6v6ldwz66b8xk60z";
 "mltex-2.2"="kkc5ssb6rd3f4kig16sc30npjayw4ab2";
 "mltex.doc-2.2"="qqr7ia4wp66zgasb8sm0bd0qclw6zn7l";
 "mxedruli-3.3c"="f866q8w776cr7k7mxll72va7zb0avsl3";
 "mxedruli.doc-3.3c"="vhcvl3k5lzb1f0g0ghz1rf3cnsy0cp58";
-"omegaware.doc-2019"="y9lv0rasy872n5vbaqlq5adcjfnalcfz";
-"otibet-2019"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
-"otibet.doc-2019"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
-"otibet.source-2019"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
+"omegaware.doc-54276"="ll1ciai8l05g1hd1z3099j2m3di0hm2g";
+"otibet-45777"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
+"otibet.doc-45777"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
+"otibet.source-45777"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
 "psizzl-0.35"="qx0mhll90g0l0aqzfsjqbn43gxfincyp";
 "psizzl.doc-0.35"="pd8v22iq76j5gkkv9k286yz9i71j8xcn";
 "psizzl.source-0.35"="9i1m36bp80bif8k74q7572j311xxbjlq";
@@ -1619,9 +1670,9 @@
 "texsis.doc-2.18"="wawynbj4gxlxbcg8wddrwdlicnlhia14";
 "xmltex-0.8"="0i9h1jakwdh439bi4wq5i4mzfcgmyd8p";
 "xmltex.doc-0.8"="7xl5q081558wnfdyb2r225kckb0wd32x";
-"xmltexconfig-2019"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
-"bartel-chess-fonts-2019"="2mdy450109a2lz95qv50y6wxhhif4nr5";
-"bartel-chess-fonts.doc-2019"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
+"xmltexconfig-45845"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
+"bartel-chess-fonts-20619"="2mdy450109a2lz95qv50y6wxhhif4nr5";
+"bartel-chess-fonts.doc-20619"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
 "chess-1.2"="j9hxdp5kz4dv6wwgy6azrw6yjhdq7384";
 "chess.doc-1.2"="n9xxs3zgzz1vhl7y1d8qxk4cj8fglhpx";
 "chess-problem-diagrams-1.15"="yiqgdwhfqypmf5i21s0r48614jzl16gi";
@@ -1633,9 +1684,9 @@
 "chessfss-1.2a"="is60vi3pamq0qzj8pw0jvj4prvgbzxp2";
 "chessfss.doc-1.2a"="1ia29r7y1ja9d5hx7z17bk0qw7lgz2mf";
 "chessfss.source-1.2a"="r4dzyg9nx44ajf01kbj0qyfg2r4dawc5";
-"crossword-1.9"="k1x6xa5g095ik7rsziladzypsislz1ai";
-"crossword.doc-1.9"="sfqks9j5lypqs02dryhcpjf8hdvkwr6c";
-"crossword.source-1.9"="204s0nxrj1ggqxshkks9inaraskr4mbn";
+"crossword-1.10"="468f516bid782g4626jqaiz2f4mjbrba";
+"crossword.doc-1.10"="p13jlddsa4j9mv6vw93hdaf1qswly7l5";
+"crossword.source-1.10"="ya7v7fhf9fykzh3lvl4v0cl1zrjrjyfa";
 "crosswrd-3.0"="66h0iyrwlpkjnasfa6yrc9wsia5cabj6";
 "crosswrd.doc-3.0"="2zik63fs6fqan2z5nxhwz081zpxg04y8";
 "crosswrd.source-3.0"="mi1kqgw3qcy4bj60pz8wl6ym6rf1i8z9";
@@ -1644,20 +1695,20 @@
 "gamebook-1.0"="wnylf38d512bq82hi5jwsf9gxdlb9gai";
 "gamebook.doc-1.0"="f7p5nzs88ps42vwnhcph7vd36s5xfrxg";
 "gamebook.source-1.0"="hgbz9v0wg5kni2lc43yb179b8xqh8mmr";
-"go-2019"="an0cdspxjbbirkz0isbyvknics2pmkmg";
-"go.doc-2019"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
-"go.source-2019"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
+"go-28628"="an0cdspxjbbirkz0isbyvknics2pmkmg";
+"go.doc-28628"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
+"go.source-28628"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
 "hanoi-20120101"="ini1mf0dqm44vabqlqqiw52wpcx3qimh";
-"havannah-2019"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
-"havannah.doc-2019"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
-"havannah.source-2019"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
+"havannah-36348"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
+"havannah.doc-36348"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
+"havannah.source-36348"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
 "hexgame-1.0"="w9isbb0mqra4kkg0cflryikhm172b7yb";
 "hexgame.doc-1.0"="5xr1vlivrwzhk0zrb2ri8lfc5n1i3zcq";
 "hmtrump-1.2a"="k259b7jj37dzjaavs8f89x26h73sjcgz";
 "hmtrump.doc-1.2a"="5h45jrv7friz8k0nw4s29gmqifnc4q4k";
-"horoscop-0.92"="xw7yniakff9y6f8vsp3rjh9dpx4lidym";
-"horoscop.doc-0.92"="1kzjnm3b51kh9li5p6pmg3a49y47brkh";
-"horoscop.source-0.92"="2ypc7g86drcywds2mj9d9lj1p6zpfnzw";
+"horoscop-1.01"="bmr14l8aq6wrxs3lf5ic3rfxr72krhsn";
+"horoscop.doc-1.01"="s4rhpszv9k8ayg2p734s5xhqi8kj7l9n";
+"horoscop.source-1.01"="1lxpnardb0sagmna2g9yxmkzr51whr5s";
 "jigsaw-0.1a"="vgmyhbyk2w98cw1ib5kfipsvnppmzdfk";
 "jigsaw.doc-0.1a"="wkl0n9cdf2bqamgwk8kw0b7cggfkjkmz";
 "labyrinth-1.0"="yafwn22imcs3827ilqkwh5kggfsvsk0s";
@@ -1666,18 +1717,21 @@
 "logicpuzzle.doc-2.5"="snzhcidhpnkjwbrb25lb9g18bc13bl5w";
 "musikui-1"="888sbpw1xvg39606w7xl7qy1f32n9vpc";
 "musikui.doc-1"="v9fa4l7bl6d4dcvcqz6nbpmz3js0jbvm";
+"nimsticks-1.1"="7vlx62bxfwrjva5gw3ghli91hk34lfn8";
+"nimsticks.doc-1.1"="ajzb6jb0whvhbdr9xcgd4mzs6x724da1";
+"nimsticks.source-1.1"="yw4h4jrh1flb6bgxv9287ckd01pc60cp";
 "onedown-1.4"="v4434vhkwq56himsgwymcjjm3812cn94";
 "onedown.doc-1.4"="sbz59m5fjy7gbgk8fgp3j2f8pj5dkq4j";
 "onedown.source-1.4"="a57mbsn5qc5qx4swvysy5m82qvnzcdyh";
-"othello-2019"="fp9s19jk73qrplyhjnicv8q066a98jli";
-"othello.doc-2019"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
+"othello-15878"="fp9s19jk73qrplyhjnicv8q066a98jli";
+"othello.doc-15878"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
 "othelloboard-1.2"="ymadc4vpkzc0lkl2ws340jf5vzjiq1i9";
 "othelloboard.doc-1.2"="1vi1lc9c75r9qqrhmjp2j7d7p94asbv6";
 "pas-crosswords-1.03"="90v61cxl5ab12bvgnj4k9dc5q6v3zg72";
 "pas-crosswords.doc-1.03"="pm76nswngl127k5c2vwm9nwscci1dcng";
 "psgo-0.17"="487m1ggdz7a554viflmp4cg2kgdw9ghv";
 "psgo.doc-0.17"="cw2v9zzpbmqqw8k8hdq0la2dhdggip3d";
-"reverxii.doc-2019"="2w8l7rs761h556il3d875k0sc86xll98";
+"reverxii.doc-24976"="2w8l7rs761h556il3d875k0sc86xll98";
 "rubik-5.0"="9wi8kxm1rfbqdmgd08bkfmmcrxh6qglv";
 "rubik.doc-5.0"="byp3r482d99yvd7wj0gw7sy8azki6srs";
 "rubik.source-5.0"="p25x3gpqgyq4hsvgksdspy16w6h593kr";
@@ -1688,8 +1742,8 @@
 "sgame.doc-2.15"="pm7psgqwg5prx0qfj6wh234raqw849wa";
 "skak-1.5.3"="0wa6kcvgwqz6cnjrf64x03hlbd7yppax";
 "skak.doc-1.5.3"="p8p72b9f2jll6hym1fzrymj7c122z42w";
-"skaknew-2019"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
-"skaknew.doc-2019"="0p383qca6f0f56skhgvjcwprpb04gldj";
+"skaknew-20031"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
+"skaknew.doc-20031"="0p383qca6f0f56skhgvjcwprpb04gldj";
 "soup-1.0.2"="6h4bpg774dpkaxg69k7cyr7pwffk490m";
 "soup.doc-1.0.2"="w67szbnb93rzkm2mznmid3cy5rxzghbs";
 "soup.source-1.0.2"="zna9fyn7n1p5rh2a9fqyvbvsj5pdc3vc";
@@ -1706,9 +1760,9 @@
 "xskak.source-1.5"="5z0q23fhwbxrz4jkfpc9ishdjnxn9k4m";
 "adtrees-1.1"="252iwghr89frhrnm3njrz1l0i1qsjq3q";
 "adtrees.doc-1.1"="4x26n2q1pwdxmwd1v15jp6mbrwwl9l7z";
-"bibleref-1.24"="nrzlxpr6dhr68yv7cxjpwidj0qmq8inr";
-"bibleref.doc-1.24"="30vxl5hvjx1bryz1y6wqpswngpwl89x7";
-"bibleref.source-1.24"="chcdsv415crk4h65vkycifd76n6d5srk";
+"bibleref-1.25"="yxh497yp2dqfy79xwsdbra3ajzf3lc16";
+"bibleref.doc-1.25"="dxbjr449ppxpacbj19dmm8jaklz2drdb";
+"bibleref.source-1.25"="0sflmvg5vbhkcc1cipviv1p1w1vy2wjc";
 "bibleref-lds-1.0"="adlzl3qk74vn1z0zdqn9cm6xqbwd8j6x";
 "bibleref-lds.doc-1.0"="cxvgzvgkicpnam43l53vfw9za8gigszv";
 "bibleref-lds.source-1.0"="8ndhf2vnjjii0xywr848janqh7xzdhn3";
@@ -1745,16 +1799,16 @@
 "eledmac.source-1.24.12"="kiqy5wz8qyzxxszhf6k37ricjh13asca";
 "expex-5.1b"="xl0jyizia4cwch1z399dl0r5xz4anxgy";
 "expex.doc-5.1b"="a903i8yj7kqr49jf3f40rrf74j4bn1cb";
-"gb4e-2019"="bzbpagrikdh6z5pbs416l090s559v7i5";
-"gb4e.doc-2019"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
+"gb4e-19216"="bzbpagrikdh6z5pbs416l090s559v7i5";
+"gb4e.doc-19216"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
 "gmverse-0.73"="9cx4zlykh23lwblr7q2hbd8d5dffvw8q";
 "gmverse.doc-0.73"="zbq9drljrrh0ms8k5z7ndldilzgd2l0w";
 "jura-4.3"="bparkzmzy3lj0ddqiaw3696msam3v0b4";
 "jura.doc-4.3"="hzgy1v1yl2yrnvi91j2hbs8jhd1x3djh";
 "jura.source-4.3"="0z6qb08mpblnl0jhjx8cmhk0vrciz0f8";
-"juraabbrev-2019"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
-"juraabbrev.doc-2019"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
-"juraabbrev.source-2019"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
+"juraabbrev-15878"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
+"juraabbrev.doc-15878"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
+"juraabbrev.source-15878"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
 "juramisc-0.91"="w2nzviyg6498v4x8vqqp8kc9p2cr2fyb";
 "juramisc.doc-0.91"="0yczb9jcva6i9wvkdpwfd0l9c522krnc";
 "jurarsp-0.52"="bwldii418vmf3b37gnm56f65bzyjrfhj";
@@ -1767,8 +1821,8 @@
 "lexikon.doc-1.0c"="52hidkd52nx6dz7ga1lipv6r9l3kcnnh";
 "lexref-1.1a"="4av5iad393sb2vqplzfra63wl1g3pwpd";
 "lexref.doc-1.1a"="3nzknrs8c80yxhw9hf0qpzgx3lpj4hsg";
-"ling-macros-2019"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
-"ling-macros.doc-2019"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
+"ling-macros-42268"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
+"ling-macros.doc-42268"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
 "linguex-4.3"="srm8cr4dr0s29ydpvwf2mhm5gplgv18q";
 "linguex.doc-4.3"="w7jgr0hkj6m368p6x2l3b37m9px04b4f";
 "liturg-1.0"="73vvqhnk6ll3ibzl2gk7znkfm57k0286";
@@ -1777,48 +1831,51 @@
 "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";
+"nnext-0.0"="iaw7jnqig0pl9kzz2l1hrb1xgyzh1ng5";
+"nnext.doc-0.0"="2jdmhvjl1gl5jv8r4nyf40fjd8y9ha41";
+"nnext.source-0.0"="z5nx3gszv8s8zn1jf37ndb95bw564bmj";
+"parallel-15878"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
+"parallel.doc-15878"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
+"parallel.source-15878"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
+"parrun-15878"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
+"parrun.doc-15878"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
+"parrun.source-15878"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
 "phonrule-1.3.2"="7gxkh4k5g2znwdrrdy394iw08khwnkvd";
 "phonrule.doc-1.3.2"="h353x4isnarn0bja89cb7104n4wda95l";
-"plari-2019"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
-"plari.doc-2019"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
-"plari.source-2019"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
-"play-2019"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
-"play.doc-2019"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
-"play.source-2019"="jk04llsraw9d9gl5grvr019rjnkha1h3";
-"poemscol-3.141"="c8c6v3qgn0c4j1nr01xjljwnv8zaabxi";
-"poemscol.doc-3.141"="xxm7iqr2w99whqkai71da46m4avhbm03";
-"poemscol.source-3.141"="2p6xg20ig5z9w6g9ccvzybhn6z00ni8z";
+"plari-15878"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
+"plari.doc-15878"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
+"plari.source-15878"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
+"play-15878"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
+"play.doc-15878"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
+"play.source-15878"="jk04llsraw9d9gl5grvr019rjnkha1h3";
+"poemscol-3.1415926"="rbzrrl2hp6z6cdh8q1846bpcxpfii7hb";
+"poemscol.doc-3.1415926"="fxgqcxh3pm74jx5fcpn7nd5ng3s7wj2q";
+"poemscol.source-3.1415926"="2821zah2libsq6sm7dca6rqnzv8f9z1n";
 "poetry-2.2"="2wypw6n5s3x2ml6dkk9khlp2672ipn21";
 "poetry.doc-2.2"="fslir5ibkqqdqlk4qsy094w3gz8dgj9j";
 "poetry.source-2.2"="jwly1fzi8kzgkvlnfc23yyy5bajd4rcz";
 "poetrytex-3.0.1"="a7a68naj2vngygl078qcy6qpyvgjqp87";
 "poetrytex.doc-3.0.1"="d7vp6y5vm8sw1vq3j723ksvivdk3v2a2";
 "poetrytex.source-3.0.1"="v4ynl1n0sgg2n5g0ya2ncm7k1fibfmgg";
-"qobitree-2019"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
-"qobitree.doc-2019"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
+"qobitree-15878"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
+"qobitree.doc-15878"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
 "qtree-3.1b"="d2wip0zniiihfnm77v0rzd95f4zvf9dp";
 "qtree.doc-3.1b"="pzpwi4bdw8sxhmyyx16g59nmi0zj8ijg";
-"reledmac-2.32.4"="5z5b3fqgyqhzf5gnv04ix9bn5y0b95l0";
-"reledmac.doc-2.32.4"="91g8qsqb3z1qslb6mp19ra1fz4pgj63s";
-"reledmac.source-2.32.4"="ybawm599f3j9plsyqrpk09y7qpx2gffd";
+"reledmac-2.34.5"="n2883406m95bb5dlyxzmqwiz2hdngkh8";
+"reledmac.doc-2.34.5"="jlnsmw14cyn89s2vslvcnqvs1qj05hnj";
+"reledmac.source-2.34.5"="55wa89r0dz9n9k992ffjv9010xslwmvl";
 "rrgtrees-1.1"="gijgmkpg84730ywfcangcf301kff14n5";
 "rrgtrees.doc-1.1"="l557gafpfn0vm4ajcaynvqf14axn1rrq";
 "rrgtrees.source-1.1"="al765qzv8rz1gd9dw672j29q1i27gf2y";
-"rtklage-2019"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
-"rtklage.doc-2019"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
+"rtklage-15878"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
+"rtklage.doc-15878"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
 "screenplay-1.6"="c4jv8c3zrqqjp25nxv1wwp47jy26vdd0";
 "screenplay.doc-1.6"="7vlv28kmw3pag35r1p9q1mhvz005gwv8";
 "screenplay.source-1.6"="88zp5a7raa7ic4474yghk67jj31k3377";
 "screenplay-pkg-1.1"="567syh6jgvm16ch9hhlirgxav4k424ns";
 "screenplay-pkg.doc-1.1"="gvd3ma5bmmcpiq1jpi8081lcvk6zpfgi";
-"sides-2019"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
-"sides.doc-2019"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
+"sides-15878"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
+"sides.doc-15878"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
 "stage-1.01"="jl9zysnd3ji20yn23nifnqp8db9dcpvk";
 "stage.doc-1.01"="ffsgwdyyz5p24vd5lpb7sz2l8xzn98mk";
 "stage.source-1.01"="qf4hhfzpws1friwg89vq0sg25xp3jfwh";
@@ -1840,28 +1897,28 @@
 "alkalami.doc-1.000"="kg4kz16hp3sylfwrprr4ilc2y4rzrji6";
 "alpha-persian-1.3"="4ga35s96bmxabf62li3kr625nplk8v4k";
 "alpha-persian.doc-1.3"="jk5d6pb4hk1qbl9pzmqm3b45r6ifdmjf";
-"amiri-0.112"="yrfb6z1scjzsm3ih88dfjb5ra9pcyzcf";
-"amiri.doc-0.112"="srqmyfcwdjivj3yzmj9bxbidqlblkvsz";
+"amiri-0.113"="adni51ibb0ncr4mq0iyw8n7l3i26xc96";
+"amiri.doc-0.113"="ns0vc8azw67pbp4ji5fhnb9cykyv1hkw";
 "arabi-1.1"="rr1si2q0lih2l2qpascr4kyzy313zyba";
 "arabi.doc-1.1"="cpsn1fgrlivbwqb4n9qrpq3q69kdy3nj";
 "arabi-add-1.0"="djln5r1i53rqvih7wp016j8ga2wqc7dn";
 "arabi-add.doc-1.0"="vwbgh52x3yh6yxhfx6p7m0ljmsrmr4qz";
-"arabluatex-1.17"="a706pfa13hlkdb77bn6j7bzx7g3lf07p";
-"arabluatex.doc-1.17"="py41ksm1nyrv0sc5bx6c5hpal49ph1h9";
-"arabluatex.source-1.17"="0yzrckqik3jydhay3ab79gvmgj9chg53";
+"arabluatex-1.20"="d4sy69qxbzzvf8bw06sbza3w10kc6j41";
+"arabluatex.doc-1.20"="g79wb4gdmam96xwy99p13zvy85lrclqp";
+"arabluatex.source-1.20"="ccjykbnix38qi79my24y6af95vp90p1d";
 "arabtex-3.17"="fr7avfkwpdbx619kq7h1y31bx4nmkp5v";
 "arabtex.doc-3.17"="b5ng3w5g40m9c3x87nih862msx5nw292";
-"bidi-35.11"="i591q2r2gn7f5bxac3jnv1zpdv3igdwb";
-"bidi.doc-35.11"="g7iqspvwb11j1vdr4grv522lqhnz65yr";
-"bidi.source-35.11"="fj13w1zcvygq3zrwkd89y7la1nvw5b10";
+"bidi-36.3"="y2ak5p1n7zr5bwf73l27flhmk88z4z6f";
+"bidi.doc-36.3"="rfmpd089lv9ncssl7jz7z7zbc66wakmc";
+"bidi.source-36.3"="zr7wr35cs4byxqad31ayp4jw9pygmj7z";
 "bidihl-0.1c"="kwa5li9yi8wb452g12y2h0ar6lpqdmmr";
 "bidihl.doc-0.1c"="558l7z4b7giwqqzj5496r7nkzv1wrnqq";
 "dad-1.2"="ivwjd7fhzgk4kl0iwzs49jvhqsb44ysr";
 "dad.doc-1.2"="6sy939pdqxsz24lpfqvb5wx1914nc38h";
 "ghab-0.5"="xlrv9p05w3vm0vyzay9q16rzh1x8lk4a";
 "ghab.doc-0.5"="vhpydw0spag5nlqyr36iy2v70db2hmpx";
-"hyphen-arabic-2019"="lsdwn3707i0hxkj77bmm6l22r9yqrq3a";
-"hyphen-farsi-2019"="54ahl0hlvfpfjnjg9ddg1gxvb1a38yn3";
+"hvarabic-0.01"="66c7491ff4zaq9wg8n6m4k9dmi1lwvn9";
+"hvarabic.doc-0.01"="pqb9h9w5nw001cjpwxmd4pysg5f5z2xd";
 "imsproc-0.1"="ylf3kd1bc5rafzfyil4y7wxp6vd9nsm3";
 "imsproc.doc-0.1"="3kv8qk7pnfg2w7xm3lqcimi8vhx8jwf8";
 "kurdishlipsum-1.1"="8frakqhm5sfw4f9j514zh63la69nwnnr";
@@ -1873,118 +1930,185 @@
 "na-box.doc-1.0"="7s4wcsg6khlv2lgakqgph9livd38fil9";
 "persian-bib-0.9"="sakc18mdqnzymfvgkwsxvrjd9b5a7dqm";
 "persian-bib.doc-0.9"="q8vjf93qjdkm6qz099464mwdl4w4gjqi";
+"quran-1.7a"="p0vapx04q4a6lfpc8bw0hzblm21z66jf";
+"quran.doc-1.7a"="c376j0bvpwzx9ww14vjhyk8jcaq4sp2j";
 "sexam-1"="jlh6d5mzxqbnkn6yy963fnhc6rmggigl";
 "sexam.doc-1"="532l18ix2czx5r80ar4g7mqgdij4r5xx";
 "simurgh-0.01b"="n8bv87n12x5xv3h41487vyqpbigv3qkc";
 "simurgh.doc-0.01b"="z3qq4jx25qyxqmnfbpsdsayi59fkaff6";
+"texnegar-0.1b"="7ssmmpcq1yn42fgxp028hgm68l2i1h3r";
+"texnegar.doc-0.1b"="wcvzw9gqgn5cq03rf1cgm3p8nwa0rf9m";
+"texnegar.source-0.1b"="2s8q4lqxv7pmvs2305qm07bkxw2j0p2j";
 "tram-0.2"="7wcas9syxfvm8pc7wnp817zd9y4q941l";
 "tram.doc-0.2"="ppbq1g4k1swjv7y9qkqhcr0m25knssk5";
-"xepersian-22.8"="yszbfqn23qc4fhfxaryil11hq9hqkm1k";
-"xepersian.doc-22.8"="nrbarrbknnwjhij7p1g4qd3qv955241f";
-"xepersian.source-22.8"="n0mh6d4lxkfs1y8ln205jfpp9kwkcsak";
-"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";
+"xepersian-23.1"="mh90ip22b6gvwlgzvqjwm627ry1w5qyw";
+"xepersian.doc-23.1"="3h3gpv46vrjbxa8z22dqbs9bj6kqqb1h";
+"xepersian.source-23.1"="rdbcm72pjmdc7jwzy71pbbwj4qyz62i1";
+"xepersian-hm-1.1a"="rk613k655f9qqd6wz45b9ri269m9wqhj";
+"xepersian-hm.doc-1.1a"="r6mjv96j87z6m4hz24lyxgmfdh2ji9gm";
+"xepersian-hm.source-1.1a"="h1jshzla05j2zxpqp9c477vjy6y56cy7";
+"arphic-15878"="zfax00567h7mdlfkpxihy379cwqmy8ng";
+"arphic.doc-15878"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
+"arphic-ttf-42675"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
+"arphic-ttf.doc-42675"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
+"asymptote-by-example-zh-cn.doc-15878"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
+"asymptote-faq-zh-cn.doc-15878"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
+"asymptote-manual-zh-cn.doc-15878"="86bz3am5w7xx9si2a09s432xh882ix9a";
 "cns-4.2.0"="3m0fbs91x53iiqvzl0hs68cks7y3m3q7";
 "cns.doc-4.2.0"="1ddyimvshda2zf3mcs6rk1n4py2aglfq";
-"adobemapping-2019"="xcyk94x5n58vxnbw1j1wrkdizmwi6i74";
-"c90-2019"="jfyd605szid7j3a757fihxhlvaqvprdd";
-"c90.doc-2019"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
-"c90.source-2019"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
+"adobemapping-51787"="xcyk94x5n58vxnbw1j1wrkdizmwi6i74";
+"c90-54074"="jfyd605szid7j3a757fihxhlvaqvprdd";
+"c90.doc-54074"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
+"c90.source-54074"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
 "cjk-4.8.4"="zdw3lfngj5zg5d118xjndaj5gg7r0wy2";
 "cjk.doc-4.8.4"="rlwcxn7lnyxc28v9gjscp3p7p9mgzwhs";
 "cjk.source-4.8.4"="i9g2nbr71gnvx71a55aj07qrgw67vhs8";
-"garuda-c90-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-2019"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
-"norasi-c90.source-2019"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
-"uhc-2019"="viphfgiqfb1w9kb8103znmzy09n6i45n";
-"uhc.doc-2019"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
-"wadalab-2019"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
-"wadalab.doc-2019"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
-"cjk-gs-integrate-20200115.0"="baj3qgypvxrqvv1jba83h9rk91k3m0pg";
-"cjk-gs-integrate.doc-20200115.0"="n0sp50qg0p14df2qi4brl2cjv07lnggj";
-"cjk-gs-integrate.source-20200115.0"="scgfp18nqkcghsvw99khhw5x11zv693p";
+"garuda-c90-37677"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
+"garuda-c90.source-37677"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
+"fonts-tlwg-0.7.2"="62z2gg973bjm1b8byn4y6dr4s1jx8nf9";
+"fonts-tlwg.doc-0.7.2"="xc4wi0yfws579n2z42wssk8cg7m0ildc";
+"fonts-tlwg.source-0.7.2"="q2cjjk7ayzd38z130qnwqq6kz42n0x0i";
+"norasi-c90-37675"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
+"norasi-c90.source-37675"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
+"uhc-16791"="viphfgiqfb1w9kb8103znmzy09n6i45n";
+"uhc.doc-16791"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
+"wadalab-42428"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
+"wadalab.doc-42428"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
+"cjk-gs-integrate-20200307.0"="2svsh7dq007rsgn7phbj6mcn4r72x99h";
+"cjk-gs-integrate.doc-20200307.0"="pm40f0bk29kasbz433m9w524yfww38k9";
+"cjk-gs-integrate.source-20200307.0"="scgfp18nqkcghsvw99khhw5x11zv693p";
 "cjkpunct-4.8.4"="8hwj54qw1xrvs5bn8bncdynich00d0ss";
 "cjkpunct.doc-4.8.4"="c8wmkh6h45an46jqph2s9ljbgfyw1mf9";
 "cjkpunct.source-4.8.4"="0qfm89f4l8jfmgimhrh8vvskca0d866k";
 "cjkutils-4.8.4"="8w069zvnnpkr2qcmsqxh6p64db57b82g";
 "cjkutils.doc-4.8.4"="grwdzh1216qgniky55qv2r62r0rd65jg";
-"dnp-2019"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
+"dnp-54074"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
 "fixjfm-0.8"="r24s5c53wvxaacm4fmnmp10nl8096nlf";
 "fixjfm.doc-0.8"="inhixa1d1hr6s2473qp0hfchvcn84y45";
-"jfmutil-1.2.3"="grbbd61lx3b8nicqs2yxf3p131abr6bz";
-"jfmutil.doc-1.2.3"="4p1fz7gk04dnzjxvcmzc2gn3h3d7dv80";
+"jfmutil-1.3.1"="jwkdkj88h71dlwrh3rkvai7izbd6vhay";
+"jfmutil.doc-1.3.1"="iyfjshb9mpkvbcl6idb1ig1v1svxiwrk";
 "pxtatescale-0.4"="psd9rlxh4i4rqxgii61r2s43sqy3kibx";
 "pxtatescale.doc-0.4"="bfd49446kr82v3h06mq5hsm1ji2jwzck";
-"xcjk2uni-0.8"="sy7lqifnwc11sf0rzfj208rmlzmv9v2x";
-"xcjk2uni.doc-0.8"="03y9sam560xbp0px56glih05gagz050m";
-"xcjk2uni.source-0.8"="f9g23l42ry05xb3b73hf0vnbi6yg9wyr";
+"xcjk2uni-1.0"="d0p3wv968s8fmphawm91mph641nnb42j";
+"xcjk2uni.doc-1.0"="r25dksqp0cbmvj8912p0b1ydvywn4sz9";
+"xcjk2uni.source-1.0"="r4rlcadgrylpzdds14c0nf5y94yclhm8";
 "zxjafont-1.2"="jpj2xg53gz5k86p1aqc0czgbi2pp8yab";
 "zxjafont.doc-1.2"="8z7k507pgb7g4998rw2l53a1kydmp3xk";
-"ctex-2.4.16"="6g9cw6bbdrzpi6mq8is84qn3pwqc6dsn";
-"ctex.doc-2.4.16"="s7dcd31263b08w2yj86k24k68hbnv1lk";
-"ctex.source-2.4.16"="9cnkch1830v3n2fi6p5n8rjzi390yblc";
-"ms-2019"="1pl0q5d2rmp29raq2icpn03lfa7hynv9";
-"ms.doc-2019"="xwl23v3xbp7kahsh1d5lgjazbbbn91hm";
-"ms.source-2019"="9bmd1famkcmas9g2bb9mi0z6yjrlrqh7";
-"zhnumber-2.7"="p4mgbi2yl3p41xz7hxx2hdp1h4bvqym3";
-"zhnumber.doc-2.7"="7d4ff3ir4qp94ym2636463a369h29b0p";
-"zhnumber.source-2.7"="x2w9f8g02id3g450vhpqwp5nlphnsypj";
-"ctex-faq.doc-2019"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
+"ctex-2.5.4"="q7k71rliafarfsqysqcrilrby1cb3cfh";
+"ctex.doc-2.5.4"="8g06xsy7c8plsisp6lq1047xvgbwfz0v";
+"ctex.source-2.5.4"="z4hp28044xxybzdwag1jd0cv72scniy6";
+"beamer-3.59"="lz6nmign8qqwnlz7408bxvrm3l257l2v";
+"beamer.doc-3.59"="lx1k8s5ci3y0jzil3mrakpm06w4jqv5f";
+"pgf-3.1.6a"="nn2layzf2wyaj757rjcsbmz8y0f93ixy";
+"pgf.doc-3.1.6a"="id9zxi14x9mncld4yjb4pk0vspx0lmkz";
+"pgf.source-3.1.6a"="axqhmadpaw4srzqcj65lg69dxjr0m45y";
+"fp-2.1d"="lxyxf8jkbgrkk43qbnr2s3ns19ihgmw5";
+"fp.doc-2.1d"="ih2kq6xp1nd5gs9bc9vhd34qa7jcj093";
+"xcolor-2.12"="d4hv07lqr1p36mkph8s45w93ykk2i0jg";
+"xcolor.doc-2.12"="50k9wrkrb7gaf8dhpq4gbsbyfpbm6dz6";
+"xcolor.source-2.12"="zgpsq8x4n6m23a9d1m5m06davpxv76id";
+"translator-1.12c"="ssck8ka8cgzvvgzy85ss6nlh51vp0pwc";
+"translator.doc-1.12c"="2zr5cvx3xagazcbgs04246cqaznqk6p9";
+"everyhook-1.2"="ndig4g0nsbqla2i2p1n6skjjxsr3qjhv";
+"everyhook.doc-1.2"="690qpw68wri4cr4ahv1xfqibm3flc5mr";
+"everyhook.source-1.2"="rvh60i8j1gbyal0pjpdgld9l5g20zilf";
 "fandol-0.3"="lxnjp8m4fcj3pv2hnhib6gjdh90q1ncz";
 "fandol.doc-0.3"="fm0ac37apm0dh1073lp1frja9xbsrv4l";
-"fduthesis-0.7d"="mdxv7dg6a9643h0fxzbalwbr8b76z9fr";
-"fduthesis.doc-0.7d"="cyc56p8fsv2x36y80f3gyl5dhh64am7g";
-"fduthesis.source-0.7d"="vzy2bhl826ldn0ncl440qsgb5rfs6h4y";
-"hyphen-chinese-2019"="yizvna5758n44n2an6wk9bcssa4r9gxz";
-"impatient-cn.doc-2019"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
+"fontspec-2.7i"="vhqnyrgqlsg46f6wjpx5q1i4iisfgfnp";
+"fontspec.doc-2.7i"="9wl29gf9zhxp2bq6wvjl7sx4v5vdvfqy";
+"fontspec.source-2.7i"="yrl2big2r8zvflzawy8myggn8ahavz57";
+"euenc-0.1h"="fxp7k516ws4khaccirjxi8xszlif27y0";
+"euenc.doc-0.1h"="28lmb3y1m8dhl0n2r1gprmkrpxfmq134";
+"euenc.source-0.1h"="amsw2lpbcm2grnfch6cag6hyn957acv6";
+"xunicode-0.981"="ybvkdgz4sdl4nixzgz2rbmqfz7hwajv4";
+"xunicode.doc-0.981"="lydvg50dcpp0lk3m9niwdyf1vra61mgf";
+"luatexja-20201005.0"="9cl7mm9sbrk1xnaa2a03l9r8ygvf1549";
+"luatexja.doc-20201005.0"="wiprs1hdgzj3579r8p7aq4si961cn173";
+"luatexja.source-20201005.0"="0vyyl2rlhkdagrqjck43r289p5xa79ch";
+"luatexbase-1.3"="hjzprkfxz8i905ffdzfad0myg2ym4vg4";
+"luatexbase.doc-1.3"="3rnbzrql8m9ss0pk1yydy4v9acrk3qq0";
+"luatexbase.source-1.3"="v5x5csbgplvah43m8lbjky2nmfk2s3fp";
+"ctablestack-1.0"="cavlzn944q3fhha3i4kf8bgvm2y5zpdh";
+"ctablestack.doc-1.0"="g2d4fq9nl422i3i0skmlrydx6d3ks8cq";
+"ctablestack.source-1.0"="bqrksg21vxxki14v7sadnh35070f2vdy";
+"platex-tools-56451"="aiqfyvkvgz2186fsj25ljymbmsm8l927";
+"platex-tools.doc-56451"="ixzwk3gvdxalgnxagpy72sgqcgv1fj6a";
+"svn-prov-3.1862"="d5py1m0kjdzdx371fpvi66l80p92xp4i";
+"svn-prov.doc-3.1862"="kz3zma1cmbi2kxvn560vzl71n0pj5bvj";
+"svn-prov.source-3.1862"="xz3g6ljh9fk8vfla8c3asbzraqymnca4";
+"uplatex-56548"="xmk1pk5ck677acr534phb917ndhfxrwm";
+"uplatex.doc-56548"="b792jqspgq9p44n7ng8dprawfsp45k6f";
+"uplatex.source-56548"="jafq9dy7s19lhnzlbf13qrkdqdvcbjxs";
+"latex-base-dev-2020-10-01_pre-release_9"="n52sw89jrawgrqxxjbnz6sgc63b7cjmx";
+"latex-base-dev.doc-2020-10-01_pre-release_9"="yw2iwkhk0dmvbc1h2sa6hr29wq159vgf";
+"latex-base-dev.source-2020-10-01_pre-release_9"="indvnllsmg4l4j39dw5dv2qgvzv7p34l";
+"platex-56582"="3k5p6bl7x1p919w2iw4pvc8vhnfdnpd5";
+"platex.doc-56582"="4lmb5dsxwnhsg4dzqbsng0ka6da25dyx";
+"platex.source-56582"="iy5qsmlpfc0gyiyrrgbv3jvrd3sq98rx";
+"ptex.doc-55920"="8bbl9cw3gzqnv1a1h6al43qkj4c7hkp5";
+"ptex-base-56487"="25h63rcankqnc0phq3sr0dkxd57ws9vk";
+"ptex-base.doc-56487"="y0mqw72x8di4z9k0z9mnznw3sqyr34rs";
+"ptex-fonts-46940"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
+"ptex-fonts.doc-46940"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
+"uptex.doc-56291"="x7582i32ib2gr2fnkl1dwmaljyqj51b6";
+"uptex-base-56489"="ailz7gb71drgy7glh81731lnydbpkmwc";
+"uptex-base.doc-56489"="ma00d4qzm6i4lln9zlpq4ik9wvvby34v";
+"uptex-fonts-54045"="dlh3qw9bz67kldx14fqd7f9fb9gcgcah";
+"uptex-fonts.doc-54045"="fx7gncl6m75n5pi7y00qprwmvgp978n4";
+"xecjk-3.8.5"="9sy0bgygmm3m3zwn1510hbbkr7ywmji3";
+"xecjk.doc-3.8.5"="925s4lmksm59mnkrr49i6dvyqr8pzlwx";
+"xecjk.source-3.8.5"="jqx668zfxbryiv8vli98gq4bvvb3q8hl";
+"xpinyin-2.8"="jx2f7l8zlwbpbaa8zzwpnj2ka5ipfbfa";
+"xpinyin.doc-2.8"="9r26g7z5dyfcm0jfds6yb5hrrrr324vr";
+"xpinyin.source-2.8"="7gbn6jslq8xgqrzpjrhsjna8my10vwah";
+"zhmetrics-r206"="2li2anrf74242blfd59cxfyn13iwmfxs";
+"zhmetrics.doc-r206"="njh801caaxkfyw5nsfv3q36gkcql14pj";
+"zhmetrics.source-r206"="ls3gazkf44sdal0f0k8n46ml2fgigfsm";
+"zhmetrics-uptex-1.0"="d3r2n6ndjd8zsmlq4hgm1x3gvyvrfnc1";
+"zhmetrics-uptex.doc-1.0"="qqzvr4mf5fg5r8bg6j87yk94nznhrscl";
+"zhnumber-2.8"="s59rjf8x0clsdb8zc8a689bd9fdz199f";
+"zhnumber.doc-2.8"="n51wjppbhl8njhyh28b456gd14507mwl";
+"zhnumber.source-2.8"="fi0gjxssiyvdqib93gyya54jdj3dm3m1";
+"ctex-faq.doc-15878"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
+"fduthesis-0.7e"="2fnpghx8zi0g62hkh8rsf1p3yr49rkg8";
+"fduthesis.doc-0.7e"="h0595l673dhl5wxpsnc6yd0ga9cgj4mm";
+"fduthesis.source-0.7e"="40fiw5f3xjz72rmls35aqwyvy58v5q1m";
+"hyphen-chinese-54568"="pz0lws81lfznlprq5rc77whxx61qcw20";
+"impatient-cn.doc-2020"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
+"install-latex-guide-zh-cn.doc-2020.10.1"="wcbgjk72iw9i043kr9xj9mb3adhc9ark";
 "latex-notes-zh-cn.doc-1.20"="qx777fwi8k06qvknnll3crc1j0yvraxs";
-"lshort-chinese.doc-6.01"="8x6ywzqcixiznmqd4d86gib8iii9mfv7";
-"nanicolle-2.01"="9rpch3hn0y8gbxa4wpiyj4gady989ip9";
-"nanicolle.doc-2.01"="30rgdanih3dpmylr5byma5r7yymwb332";
+"lshort-chinese.doc-6.02"="67pcgs0daq1ns0kpk1bml43d5zsgwbl1";
+"nanicolle-2.03y"="5rvjbz93d55qcywbg7dkh231bsc82xzq";
+"nanicolle.doc-2.03y"="mqmmdchqbviyvf9yrldi832wxxwvv8mi";
 "njurepo-1.1.2"="pry1ksmskbm6y5ic43v0hdjkz5mix78h";
 "njurepo.doc-1.1.2"="91clrmlgyja8i7cvi1cbb204dnp76rj2";
 "njurepo.source-1.1.2"="3axj6ar0n3d3lb92z7f33nlxd6qjaa98";
-"pgfornament-han-2019"="906lp285f9mscdc9p40j40zl26ifvbh7";
-"pgfornament-han.doc-2019"="77f050rip24vfjcbylda57chh16n4vfy";
-"texlive-zh-cn.doc-2019"="j99mp1i4j3kp28xyx2sppsrlwp4iz1rx";
+"pgfornament-han-54191"="906lp285f9mscdc9p40j40zl26ifvbh7";
+"pgfornament-han.doc-54191"="77f050rip24vfjcbylda57chh16n4vfy";
+"qyxf-book-3.1.0"="lik9idqmk4knwcxxcjq7ikk5mlmx04r1";
+"qyxf-book.doc-3.1.0"="hk95p2hadjid72c01l3j22c2ql1zc0pk";
+"texlive-zh-cn.doc-54490"="n9ggsbqa36114fyiwwwxc0g3gjj7hlm0";
 "texproposal.doc-1.4"="8fnrxmyg4wd11kmdh4jw8l1313h0sgqr";
 "upzhkinsoku-0.5"="0yhh0ab2sq4fszra362z9m2md8ycydvk";
 "upzhkinsoku.doc-0.5"="1ijm19cqsdsm9q6a7rknl0zsfa13g28g";
-"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.0e"="k8myar8fv79b0rkjbwimzm24gag072aa";
 "zhlineskip.doc-1.0e"="whb613dc11kyrhgc26nbyzmd74wi8klc";
-"zhlipsum-1.1.1"="4vf2kp4yb045j1rawnz4n52a8v82p37i";
-"zhlipsum.doc-1.1.1"="miraw6ch0naabp8kmj58mxcjqdvn2lcx";
-"zhlipsum.source-1.1.1"="wmir9nxkjijs5d2mnm49ryd7q0rb23l9";
-"zhmetrics-r206"="2li2anrf74242blfd59cxfyn13iwmfxs";
-"zhmetrics.doc-r206"="njh801caaxkfyw5nsfv3q36gkcql14pj";
-"zhmetrics.source-r206"="ls3gazkf44sdal0f0k8n46ml2fgigfsm";
-"zhmetrics-uptex-1.0"="d3r2n6ndjd8zsmlq4hgm1x3gvyvrfnc1";
-"zhmetrics-uptex.doc-1.0"="qqzvr4mf5fg5r8bg6j87yk94nznhrscl";
-"zhspacing-2019"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
-"zhspacing.doc-2019"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
+"zhlipsum-1.2.0"="6k0zvvxyd7cl8w9w41sf5fyaw499fk5a";
+"zhlipsum.doc-1.2.0"="w902mfaj6jd9llypk8mpldrqliwp8lb1";
+"zhlipsum.source-1.2.0"="lwr47ka88vcnixpj0s8yi2jcvbcsfhp5";
+"zhspacing-41145"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
+"zhspacing.doc-41145"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
 "babel-belarusian-1.5"="dky0w9qw4j6mbsmx6kbcgqn8p9grbbmj";
 "babel-belarusian.doc-1.5"="3mzf3fmiraiac3w6cd45fy3phm5714qf";
 "babel-belarusian.source-1.5"="bisqg51jp7d4f8mjzirzw2v0f6m78yfk";
 "babel-bulgarian-1.2g"="4c5cdn8lijfw1qhkfz69pvlvl2hcg5hz";
 "babel-bulgarian.doc-1.2g"="pyikwcg47yj8nh416g6wdzwk7a7f460p";
 "babel-bulgarian.source-1.2g"="km3vz4iykb1pckz9bgllgd6xxc77k2c9";
-"babel-russian-1.3j"="chw7lj98rp10jkin4l03d1gx12a8ki5h";
-"babel-russian.doc-1.3j"="i56cj5h3h40ml8an2sbbj8dzyazacwd9";
-"babel-russian.source-1.3j"="cnwygpq3mb5y2araady6kr86wl2bbgdn";
+"babel-russian-1.3k"="2rlfypayd115mvqmim0bh36njf5ihdfj";
+"babel-russian.doc-1.3k"="1i3m4iiwwkzzpdiwqn6s6n7l7cfrlwwa";
+"babel-russian.source-1.3k"="2sz18i1sfqaczkcy10b3hygrpfc8s8ky";
 "babel-serbian-2.0a"="qz0klmzp380x2sn97v6ca1hjpir9fxmk";
 "babel-serbian.doc-2.0a"="5s29smlmhqrx68ra2k6mqvw5lffclbb7";
 "babel-serbian.source-2.0a"="6gp84lpbncbd2775nfac1zg86034a7i9";
@@ -1996,74 +2120,71 @@
 "babel-ukrainian.source-1.4c"="yh5qaricqrn5lmvrz9vdycbr5y2lpmr2";
 "churchslavonic-0.2.1"="5pgxy858w0nr769mn4g6832fc0687vfp";
 "churchslavonic.doc-0.2.1"="pz4wqhar8vfzyy8aw4szas78hqs018lw";
-"hyphen-churchslavonic-2019"="ya6jp4d0krjnwh0qf9lspcnsqrrrwy9f";
-"xcolor-2.12"="d4hv07lqr1p36mkph8s45w93ykk2i0jg";
-"xcolor.doc-2.12"="50k9wrkrb7gaf8dhpq4gbsbyfpbm6dz6";
-"xcolor.source-2.12"="zgpsq8x4n6m23a9d1m5m06davpxv76id";
-"cmcyr-2019"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
-"cmcyr.doc-2019"="1j63xbl85z8izha2jl2klagny3hk5wf3";
-"cyrplain-2019"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
+"hyphen-churchslavonic-54568"="b4sqbmrs146m82i36hnlcpls09zl62hj";
+"cmcyr-39273"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
+"cmcyr.doc-39273"="1j63xbl85z8izha2jl2klagny3hk5wf3";
+"cyrplain-45692"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
 "disser-1.5.0"="m0gldqzdx2idh4ivy43jd13fgmgcsr94";
 "disser.doc-1.5.0"="6s5g533qr53rg2ha6a7p7xr4phcn11iy";
 "disser.source-1.5.0"="h4f1z0azxfnbv1cba1f8z5wfy25hfvg0";
-"eskd-2019"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
-"eskd.doc-2019"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
-"eskd.source-2019"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
+"eskd-15878"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
+"eskd.doc-15878"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
+"eskd.source-15878"="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-2019"="r1j6c9gypfsnp6c41wy79f48xs4s0l7y";
-"hyphen-bulgarian-2019"="pxzvl20al54knx6qykzad7jzis6bjj4m";
-"hyphen-mongolian-2019"="1p4y823w4j6585glzcin13py9jr86xm7";
-"hyphen-russian-2019"="b77ipcv96am0vyl7c2pps2g0bjfb3q39";
+"hyphen-belarusian-54568"="58rbwvqvgbds46sg908xk8hriiw9ifzw";
+"hyphen-bulgarian-54568"="nc2iqf07jr477nryla9xn5sgxdb21rd5";
+"hyphen-mongolian-54568"="rl6ypg7gdsrlj4j4i3qb05mjfmljykxn";
+"hyphen-russian-54568"="p1n51n0vg5p76lkhc47yd3zwvd0i2nk7";
 "ruhyphen-1.6"="3d6lyf95cgi2yc8lsy9dz6z5vmvcx1l9";
 "ruhyphen.source-1.6"="i6x3fiidyvl2zkly1p4s7qzgzzza1in7";
-"hyphen-serbian-1.0a"="f498a866scqcgq5z4l03dingqabbvd7i";
-"hyphen-ukrainian-2019"="y8yaggp6qs827vx3kqbdimpvlh6rmhsx";
-"ukrhyph-2019"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
-"ukrhyph.doc-2019"="4mycq4cykkinm5h946xmrng59jghvbp4";
+"hyphen-serbian-1.0a"="djw9s49l2c4gn5zrlivspmlmcvsdvqn5";
+"hyphen-ukrainian-54568"="hd1fsiwmy801kfi9pix4cp6ykfd67kr7";
+"ukrhyph-21081"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
+"ukrhyph.doc-21081"="4mycq4cykkinm5h946xmrng59jghvbp4";
 "lcyw-1.1"="0bxzb7w4z0w04b9c1cvak8i2cp3f4h74";
 "lcyw.doc-1.1"="5kk74h4902f2zjlid26h1rg3fvw0sq9z";
 "lcyw.source-1.1"="3jq3gmm85lr494mm8j61z7shr3c11jg5";
 "lh-3.5g"="h0kq2pb7iay15i1b3sjx3q2yk63pycp7";
 "lh.doc-3.5g"="xzbkgxqjzbr2cx6q5xqqzgynk25jvkvh";
 "lh.source-3.5g"="mh8zzabsf553ml0al618ycym6igh9qyg";
-"lhcyr-2019"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
-"lhcyr.source-2019"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
-"lshort-bulgarian.doc-2019"="r2yc6zzq44wddndp762a3hg78ihv013l";
+"lhcyr-31795"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
+"lhcyr.source-31795"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
+"lshort-bulgarian.doc-15878"="r2yc6zzq44wddndp762a3hg78ihv013l";
 "lshort-mongol.doc-4.26"="5pj0i8wxlyd35sd3z7npwypicklc0nl3";
-"lshort-russian.doc-2019"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
+"lshort-russian.doc-55643"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
 "lshort-ukr.doc-4.00"="4g85cmgwa4y64rbc51zdw42m2f3m55ps";
 "mongolian-babel-1.2"="2bjw94a6r5wyn2i5gsclrn5fadh60jfg";
 "mongolian-babel.doc-1.2"="darkanaxxhcx7r7nd4mph37m3r29y7gl";
 "mongolian-babel.source-1.2"="cfdxndayfrj10xn000ckxhiaa1qdvypd";
 "montex-IVu.04.092"="ig3y6y6vksci0567g91hkgf8pkn5x56v";
 "montex.doc-IVu.04.092"="phm1049anhqvppklp4cwczfadjmakda3";
-"cbfonts-2019"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
-"cbfonts.doc-2019"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
+"cbfonts-54080"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
+"cbfonts.doc-54080"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
 "cbfonts-fd-1.2"="mybny72ksiflq3lq2y23059lzxidwz70";
 "cbfonts-fd.doc-1.2"="rsxf6gy62snszkcpdzry9gy44falx6ml";
 "cbfonts-fd.source-1.2"="73f27d7a4c2frvvhp1r2z4ia84qrh1cw";
 "mpman-ru.doc-1.004"="6l3vqm4sxcvb5nxy582g2nbr9mwvz1dz";
-"numnameru-2019"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
-"numnameru.doc-2019"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
+"numnameru-44895"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
+"numnameru.doc-44895"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
 "pst-eucl-translation-bg.doc-1.3.2"="cqxppyh4546ybhnlk1z4fjkdyw9ij5x7";
-"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"="ma7sgiv7vs6hn079dja88y9mxlqvqz3l";
-"serbian-lig.doc-2019"="5g0vzcvnixv1l624fkwny623ylcd1lx5";
-"t2-2019"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
-"t2.doc-2019"="gsqrf898i59wsxcm8b06qfrasfw335r4";
-"texlive-ru.doc-2019"="rqajnqrdlq0n42kkkgp49c8si4bsfgd4";
-"texlive-sr.doc-2019"="2igvdhhhfksk0360cl4vmx1z27xbn8fh";
+"russ-25209"="981kkq2xmx0r6k095308270hjvmdsm3h";
+"russ.doc-25209"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
+"serbian-apostrophe-23799"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
+"serbian-apostrophe.doc-23799"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
+"serbian-date-lat-23446"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
+"serbian-date-lat.doc-23446"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
+"serbian-def-cyr-23734"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
+"serbian-def-cyr.doc-23734"="zl8x855zmhry6n754l5x9fz8hjn27bls";
+"serbian-lig-53127"="ma7sgiv7vs6hn079dja88y9mxlqvqz3l";
+"serbian-lig.doc-53127"="5g0vzcvnixv1l624fkwny623ylcd1lx5";
+"t2-47870"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
+"t2.doc-47870"="gsqrf898i59wsxcm8b06qfrasfw335r4";
+"texlive-ru.doc-54537"="hhiwhwdfpz5ra5cqc2il6k633scc6mic";
+"texlive-sr.doc-54594"="jrw83yqirmpvyn2mycav8dv82qsp58yj";
 "xecyrmongolian-1.0"="4rvsdnk1gbf9vrchlibyj93dzpdv1idn";
 "xecyrmongolian.doc-1.0"="c7pwfb8v7gv115m3igbsr233ms6cyvp3";
 "xecyrmongolian.source-1.0"="f3wj75g0zwivr3xld918hmpcyl6vs6j8";
@@ -2073,56 +2194,56 @@
 "babel-slovak-3.1a"="cl43hp1pnxc1gp4ndrqwv1cv3fh0h47c";
 "babel-slovak.doc-3.1a"="igrg8syk1kd3mq4sm4jrdgsmsr1y9jb1";
 "babel-slovak.source-3.1a"="gvlkvq0zmhdf57a6vpfxlvmvz7ma48af";
-"cnbwp-2019"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
-"cnbwp.doc-2019"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
-"cs-2019"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
-"csbulletin-1.2"="4ivi3qgba2mbbhs0wy53hg4q5794g54r";
-"csbulletin.doc-1.2"="4s9iz7qzmwk5az3a5nwy6vw4nl6rk6na";
-"cslatex-2019"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
-"cslatex.doc-2019"="7wlgcn2v488xfjnz27rmxb85zlhnb9by";
-"cslatex.source-2019"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
-"csplain-2019"="jmvm7398s7cspfy1xhv4p4dwy9igb5g9";
+"cnbwp-32550"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
+"cnbwp.doc-32550"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
+"cs-41553"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
+"csbulletin-54433"="yc0z0nyy6mmlwrn711j3gkpm5afa6ljx";
+"csbulletin.doc-54433"="andx6r2719a1pfg044bclvha66vrcc1z";
+"cslatex-56548"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
+"cslatex.doc-56548"="sjrbpvzpncq8xk13nz9n31wqz8fir6xw";
+"cslatex.source-56548"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
+"csplain-54699"="zcqw5855kibhsivq0vvhpyl0qjrq9yh5";
 "luatex85-1.4"="ka3px4aiyi8gq487i085s31y9l95jzp1";
 "luatex85.doc-1.4"="ac2agmy9dkavln2vnd63fmavv7xnkdrw";
 "luatex85.source-1.4"="wpm4dw7j6fikz3dqa4zk3r5avg4isxr8";
-"cstex.doc-2019"="j79hy3j4ycqdplybfzyvn96g94gds3mw";
-"hyphen-czech-2019"="qkh3d1nadwn280p26vx73lw1mm04hyag";
-"hyphen-slovak-2019"="hd7bxmv96ilfpaccvm8fn9rhllriv1h0";
+"cstex.doc-53767"="j79hy3j4ycqdplybfzyvn96g94gds3mw";
+"hyphen-czech-54568"="zdjpgxmxzdf0hqlrw8gihxqqr0mxzb1k";
+"hyphen-slovak-54568"="nynhriiwjqhgzr3gq57rxnhs794khwvw";
 "lshort-czech.doc-4.27"="2z8dygvm9ilvahsx005zb7z5ss8hxbsf";
-"lshort-slovak.doc-2019"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
-"texlive-cz.doc-2019"="4pfpprl68pd6cdfb3lzmxjn8d74lpgz2";
-"vlna.doc-2019"="f3wz8jy4vbrb3bhk9ly7fdkipwfqixbc";
+"lshort-slovak.doc-15878"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
+"texlive-cz.doc-54496"="cpk8nbi6hb193lwb1bfmg98qp75khp2d";
+"vlna.doc-54074"="f3wz8jy4vbrb3bhk9ly7fdkipwfqixbc";
 "MemoirChapStyles.doc-1.7e"="r54d4g3nh30k5x99nfphvzg7k1jxrijn";
 "Type1fonts.doc-2.14"="jgjs1127jqdrrgnkv3r8p1wirc8lb2gl";
-"amscls-doc.doc-2019"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
+"amscls-doc.doc-46110"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
 "amslatex-primer.doc-2.3"="9d9pxr0jbjm6zwqd51f7m2bzysdq5gv7";
-"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-2019"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
-"docsurvey.doc-2019"="0lml7hvr42zsfk14da493xsl24z3i8vx";
+"around-the-bend.doc-15878"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
+"ascii-chart.doc-20536"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
+"biblatex-cheatsheet.doc-44685"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
+"components-of-TeX.doc-15878"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
+"comprehensive.doc-13.0"="c4y3bgj3r97vy17qbdakmdcmcvm7xbqw";
+"dickimaw.doc-32925"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
+"docsurvey.doc-48931"="0lml7hvr42zsfk14da493xsl24z3i8vx";
 "dtxtut.doc-2.1"="108k3lyvja5wmg8gxyvqskbz8wwh0cyw";
-"first-latex-doc.doc-2019"="8vcday36pq5hlr075kjk6hb82ypazjd9";
-"forest-quickstart.doc-2019"="gyacc77yw1l6kksi62y5plxsvkqbf6yv";
-"gentle.doc-2019"="mpxhsl7g4za410b65awmbb5zlc58h24n";
-"guide-to-latex.doc-2019"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
+"first-latex-doc.doc-15878"="8vcday36pq5hlr075kjk6hb82ypazjd9";
+"forest-quickstart.doc-55688"="g08gcf8sk0kkn6jifvx355slh3lvbr6l";
+"gentle.doc-15878"="mpxhsl7g4za410b65awmbb5zlc58h24n";
+"guide-to-latex.doc-45712"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
 "happy4th.doc-20120102"="svmy37c032cvip73n4b98c8kh4hvnh9g";
-"hyphen-english-2019"="9hjwbxk2jphca1g8b561gpfhqm9g95s4";
-"impatient.doc-2019"="k5gz1ihjchagbwmr4g3l0rbdm470nn42";
+"hyphen-english-54568"="0nw4wcy2dnrdmbbr1ba6vrm4rfxf1qd2";
+"impatient.doc-2020"="k5gz1ihjchagbwmr4g3l0rbdm470nn42";
 "intro-scientific.doc-5th_edition"="qx170vpq4ahipljnmhkvbrxv1xdbbii6";
-"knuth.doc-2019"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
-"knuth.source-2019"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
+"knuth.doc-32899"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
+"knuth.source-32899"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
 "l2tabu-english.doc-1.8.5.7"="j7m684bvmpv1jaa6s856dj9aknrwlqiq";
-"latex-brochure.doc-2019"="azp69yf9xkksqan9n096wabgxlk9hgsn";
+"latex-brochure.doc-40612"="azp69yf9xkksqan9n096wabgxlk9hgsn";
 "latex-course.doc-2"="km59hhadaad0hlpa07rqmx91036h123r";
-"latex-doc-ptr.doc-2019"="1dsc8ym34nlj315aln3npfibx37n9c3z";
-"latex-graphics-companion.doc-2019"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
+"latex-doc-ptr.doc-15878"="1dsc8ym34nlj315aln3npfibx37n9c3z";
+"latex-graphics-companion.doc-29235"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
 "latex-refsheet.doc-1.2"="9gvmiiqg78xn8348cymz3wfzi45mf8xz";
-"latex-veryshortguide.doc-2019"="mil8qpv4ka19wym6cqz3r5np3n7nzw5r";
-"latex-web-companion.doc-2019"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
-"latex2e-help-texinfo.doc-2019"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
+"latex-veryshortguide.doc-0.7"="dv3ikj9drgivpsapvl9jpkbww3h839ya";
+"latex-web-companion.doc-29349"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
+"latex2e-help-texinfo.doc-56291"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
 "latex4wp.doc-1.0.10"="bxffry3cy7vkcjhdm5yzn4hipma74jdp";
 "latexcheat.doc-1.13"="iav6gzdcadndwli0jar6d7i1711ssq41";
 "latexcourse-rug.doc-1.1"="fxz46xn5hazqy707qrf2mkgk121m6ywv";
@@ -2132,33 +2253,32 @@
 "lshort-english.doc-6.2"="v03zj1nwy584c6idp2d42n9mm7prnqz2";
 "macros2e-0.4a"="5kjjl3wkq04kshrlrrz4qqb4m61mz4lf";
 "macros2e.doc-0.4a"="9rgjs3scm8wavsbgljxy7rpgdwy3nsl7";
-"math-e.doc-2019"="jl3c0l594dii8wjylbc9nmaw6bqkmxvy";
-"math-into-latex-4.doc-2019"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
+"math-into-latex-4.doc-44131"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
 "maths-symbols.doc-3.4"="xi1pjz6rhyw79b10fpdfaa8vc5sf1wlf";
-"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";
+"memdesign.doc-48664"="92v86h91snhrnssghhllvr0h05cacpm4";
+"metafont-beginners.doc-29803"="7ql41977dp698l2fjlq2xyf221y6xn2f";
+"metapost-examples.doc-15878"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
+"patgen2-tutorial.doc-16490"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
+"pictexsum.doc-24965"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
+"plain-doc.doc-28424"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
 "short-math-guide.doc-2.0"="34mdd47c63946iz86c2r0g2jx11q4mhc";
-"simplified-latex.doc-2019"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
-"svg-inkscape.doc-2019"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
-"tabulars-e.doc-1.0"="3vrlw3x3h5k0awnns1q06bwzl3ff6mpw";
+"simplified-latex.doc-20620"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
+"svg-inkscape.doc-32199"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
 "tamethebeast.doc-1.4"="14cs89g2l3bn3xhfrhrw9pfdf65c2xcy";
 "tds.doc-1.1"="fmmdgblpf26x9ajn16g024sn5sbwwy0s";
 "tex-font-errors-cheatsheet.doc-0.1"="4a38bjpzdbj91msw8kaxmk3c6qahq1r5";
+"tex-nutshell.doc-0.5"="5kl09wbbsdz25xs67fvpsy32zlad5476";
 "tex-overview.doc-0.2"="bj9pak1z31fwblcv5bj2imd4p33bi79s";
 "tex-refs.doc-0.4.8"="ad80b3r5rgj7n4m2hc5r6ccjczikff3v";
-"texbytopic.doc-2019"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
+"texbytopic.doc-15878"="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"="4ljbfwhzmwq71nfgqfkijqa27hsd3y2i";
+"titlepages.doc-19457"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
+"tlc2.doc-26096"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
+"tlmgrbasics.doc-56221"="cp4cwr8k9sjq58mm67qf23swal2jqaah";
+"undergradmath.doc-42926"="kp1xxp209mbvyhpmh62yp53c6q8ppnwk";
+"visualfaq.doc-38647"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
+"webguide.doc-25813"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
+"xetexref.doc-56291"="4ljbfwhzmwq71nfgqfkijqa27hsd3y2i";
 "armtex-3.0-beta3"="vg6qlgg6nzci26mnphkbcpc8vak9jwbq";
 "armtex.doc-3.0-beta3"="fam9bkmfjn2v54v3f2xjxjarbrf3adhz";
 "babel-albanian-1.0c"="1dasgklnjx05y74bk0pcwn1ivghswmvs";
@@ -2182,9 +2302,9 @@
 "babel-estonian-1.1a"="pn52pj8gprmsqf7f7i97vllrkjjm2bbh";
 "babel-estonian.doc-1.1a"="nchqv4ahbhjrh6g49fj8xpjv1ghlqzn9";
 "babel-estonian.source-1.1a"="8d3nvwgv9bvhhxsgdicdlf3gsrscaxsi";
-"babel-finnish-1.3q"="j5w0s8qa0jnwgrw5z208bh3afalx7vzy";
-"babel-finnish.doc-1.3q"="3fajpl6c9jaxnm2bf7ccls1nqdhva2jg";
-"babel-finnish.source-1.3q"="gyss1ciz8xazmhfg67yz6z2s9g63p190";
+"babel-finnish-1.3r"="qn2zic8phhnwm28l5jx4zbc76sscaa8j";
+"babel-finnish.doc-1.3r"="zkj9i5zdra7cijq7rn4mvzpw25niy0x9";
+"babel-finnish.source-1.3r"="pd0mbbwl78jzkqi0zgnjjw7igxgaqzwm";
 "babel-friulan-1.3"="xjbsgl2xyfqfrdyv83c6g5h2qnjzw7vf";
 "babel-friulan.doc-1.3"="m4n4fysx9qxf13c39jm4xq624y6jkagd";
 "babel-friulan.source-1.3"="yf6xqza856qdbxdysw08v707h0pcj7sq";
@@ -2205,9 +2325,9 @@
 "babel-latvian-2.0b"="7m0a5mr8mwxn3hm88ky0nrv88vzqrfsd";
 "babel-latvian.doc-2.0b"="b5zrhmss194cr40s38rmdh58l7y7zp9k";
 "babel-latvian.source-2.0b"="4k79lcf0rafnkk0qzz4qj15wg3hh46j1";
-"babel-macedonian-2019"="y443c0n5dygb6pf923kwj4fv8y991gg7";
-"babel-macedonian.doc-2019"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
-"babel-macedonian.source-2019"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
+"babel-macedonian-39587"="y443c0n5dygb6pf923kwj4fv8y991gg7";
+"babel-macedonian.doc-39587"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
+"babel-macedonian.source-39587"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
 "babel-norsk-2.0i"="3a2xqwwyj2pv7ndgaxk11wvb7qanc9qk";
 "babel-norsk.doc-2.0i"="dhi39fgchh0ll1hl2si5qgygi2qsg8bj";
 "babel-norsk.source-2.0i"="qyx1rcxw0zghnc8wrh94yr9i5jkh142k";
@@ -2220,9 +2340,9 @@
 "babel-romanian-1.2l"="76cg7sfsq7lg72c4lqfinv3gjpbwpvri";
 "babel-romanian.doc-1.2l"="5i46fii2472x7ka1xxng45s7n0rgl2s9";
 "babel-romanian.source-1.2l"="pm44w7529qaa4s9n7jyc33qwsfj6vwsb";
-"babel-romansh-2019"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
-"babel-romansh.doc-2019"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
-"babel-romansh.source-2019"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
+"babel-romansh-30286"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
+"babel-romansh.doc-30286"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
+"babel-romansh.source-30286"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
 "babel-samin-1.0c"="2vg2wrjl0pllgbppkx4bcykcjil8driw";
 "babel-samin.doc-1.0c"="k69nnc0vsw2xhrkqilhqzqv9v4h5fy99";
 "babel-samin.source-1.0c"="p7ywdk038cryll8rr2sy8d8m4qb09k5l";
@@ -2241,7 +2361,7 @@
 "babel-welsh-1.1a"="dcjbzz80i41bpzb99wdhb84h60y5qg1r";
 "babel-welsh.doc-1.1a"="5p0mqvs4npnz3g6a08hqkf03n2w4pdc1";
 "babel-welsh.source-1.1a"="9fx2i5lxyf8qc0brlrgas2ajzf013m6j";
-"finbib-2019"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
+"finbib-15878"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
 "gloss-occitan.doc-0.1"="8wfn7as272hvm7nxz0i5m48bf94b5m0z";
 "gloss-occitan.source-0.1"="qv9zd6r6rmjbfsndm7qgsz7x6xkr14ms";
 "hrlatex-0.23"="7dr0g80mp71nmvrnwahpshawi44s2s9x";
@@ -2250,56 +2370,60 @@
 "hulipsum-1.0"="8pqz5vilzli6in81d604dnkz9024i5s7";
 "hulipsum.doc-1.0"="3sqiw98n02kg8752hzv7vp1r5xysrw0m";
 "hulipsum.source-1.0"="dv9wyvy9cbkvjlc9awaz0mv4vaanz7jn";
-"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";
+"hyphen-croatian-54568"="wyg3vyklkrhpjhhb98x2v0iigwqf9067";
+"hyphen-danish-54568"="w2ixlyv1zwnx2lww20hvrb8ghiwpy35x";
+"hyphen-dutch-1.1"="fldx9b6pqwmkj21mry0s2yrfpbgi4mdx";
+"hyphen-estonian-54568"="vvn4dxgl76fq37p9xwn2k3r2bs1z0h4i";
+"hyphen-finnish-54568"="yx69ffva9jhrwq203l8j6sbgp8fd76v3";
+"hyphen-friulan-54568"="rcmfwxxxwpgnw5xy92m5zlawcfjc0knl";
+"hyphen-hungarian-54568"="32x62706ljsk9ij3c9k9k5wqfbgb4sdj";
+"hyphen-hungarian.doc-54568"="ycdkj87kpnvaxc5szx0vcacy8rg6i7lj";
+"hyphen-icelandic-54568"="j3kq84a5r6glnhyz7wjd2sgs8hnfg5b1";
+"hyphen-irish-54568"="mh9h9fj86xknhlfypwkywv5p0jhn1hha";
+"hyphen-kurmanji-54568"="g703gi1l3na9gr097129s89znwkk74z8";
+"hyphen-latin-3.1"="lsd2lfjq43lx2syqxkbgd4aybvb4kvlh";
+"hyphen-latvian-54568"="n3w050x27zaj0sl0ldn30qgark8a5yhh";
+"hyphen-lithuanian-54568"="dqzm4yh11sdwlav3z76yd2mlrvxv4w7s";
+"hyphen-macedonian-54568"="a3r9d5yycdm8brwvcyj41q7rjn777lim";
+"hyphen-norwegian-54568"="kl7kx45955p40g47k2f4lxmmqmbcz0sw";
+"hyphen-occitan-54568"="a2z7wxbnh09ahhsdbgb033fk52pg41l2";
+"hyphen-piedmontese-54568"="xhvmgah9dc7drm7np8mb62m5mxvadl3f";
+"hyphen-romanian-54568"="f905qk9v94acvx9yfgvj1y96nmikf31d";
+"hyphen-romansh-54568"="smxxg8c4a8z0fkyg59kwx6w5bsvrrmhs";
+"hyphen-slovenian-54568"="fj3lzkagz5nzlgf7chsapx4wqqwqxhgj";
+"hyphen-swedish-54568"="id8qqami1d2vyvpgbx3h3w2nc5ay633d";
+"hyphen-turkish-54568"="ipfq7nh3h5ns05vkvqip3j5pxbxbhprc";
+"hyphen-turkish.source-54568"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
+"hyphen-uppersorbian-54568"="39hq4p4151fi9h13zmfb1fgz6z0wx9zq";
+"hyphen-welsh-54568"="crgzcsiz2ga664fa2sdyd3zkpidfk9rj";
+"lithuanian-46039"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
+"lithuanian.doc-46039"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
 "lshort-dutch.doc-1.3"="rswbmzd9fkb0bwbc054pb0raa8zv2lfx";
 "lshort-estonian.doc-5.05"="2xqk5n14f2lizqdisir199mark4y5v2k";
-"lshort-finnish.doc-2019"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
+"lshort-finnish.doc-15878"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
 "lshort-slovenian.doc-4.20"="1w0g2p1l4p456wsx86ihdpadm8lhhcgn";
 "lshort-turkish.doc-4.20"="py0d16ij5gswbli1bgi4z63vajsahwjp";
 "nevelok-1.03"="v5hds3a09c91d79iac1qsyf0mr6lpaqg";
 "nevelok.doc-1.03"="biq2dbyv6mak992s0cqb834k119xfa0p";
 "nevelok.source-1.03"="5c03z6r25gidf0bncaanw1259n1hcdw0";
-"swebib-2019"="5z0719m62712flc3ylrnp5223gbsk98n";
-"swebib.doc-2019"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
+"swebib-15878"="5z0719m62712flc3ylrnp5223gbsk98n";
+"swebib.doc-15878"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
 "turkmen-0.2"="r8ryr694sxginv96wy2ibwg7mjwckmy0";
 "turkmen.doc-0.2"="ry7di8dm2nk9gbylnm58zrmlpilbch55";
 "turkmen.source-0.2"="jab2389x3cj6hhg0imkfbjcglclqap2s";
-"aeguill-2019"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
-"aeguill.doc-2019"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
-"apprendre-a-programmer-en-tex.doc-2019"="ra7bkghkmm4cl88fi1vn3rf9yy1kzya9";
+"aeguill-15878"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
+"aeguill.doc-15878"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
+"annee-scolaire-1.6"="r0kwlnx1bhflkj35dwz9malgjhjhf3fy";
+"annee-scolaire.doc-1.6"="3rc70b93ciiw5r7mq5rpfd933ccbvh7p";
+"annee-scolaire.source-1.6"="jbl0zrqvrndbvpdn52lm212b95bv9k86";
+"apprendre-a-programmer-en-tex.doc-50933"="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.5g"="mph80ppj24amr2jb3ki5lb0q0ny3j83g";
-"babel-french.doc-3.5g"="7slh9h3z1rbhixxgc5d3kvm9s30f9jqf";
-"babel-french.source-3.5g"="i2cadr2nn2i72r1a8cbvvx5fbhq2xqbq";
+"babel-french-3.5k"="9k614fpriq278ijb3b0r28i7vxypfj7p";
+"babel-french.doc-3.5k"="9fy21w7bmp2l881qkajds8npza5gxh76";
+"babel-french.source-3.5k"="j0rvcy3jbj9zjqh856sdrw73352x6zsn";
 "basque-book-1.20"="6gmya3w1jnv20p9zyn3b8b095csb45cj";
 "basque-book.doc-1.20"="njw9j7s7mlx35ckjg0z404fizyxpn74n";
 "basque-book.source-1.20"="wydda9ij2ibwnhd8b0pg48bf2f1g969f";
@@ -2316,7 +2440,8 @@
 "droit-fr.doc-1.2"="ss2xw9f26frzv9m2xvwbmvgagdhabc69";
 "e-french-6.11"="y1yab7pd915kbnwi20zair37a9haf2is";
 "e-french.doc-6.11"="9dcj407a8vn2j4h3q54s2wrbj5fiawm1";
-"epslatex-fr.doc-2019"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
+"epslatex-fr.doc-19440"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
+"expose-expl3-dunkerque-2019.doc-1.2"="bd5qbhbkk8dvbcl434mird26c7dgy3js";
 "facture-1.2.2"="ys1fq6vkml8gnfc6bjkx2lkbdw2w0fsn";
 "facture.doc-1.2.2"="ij99my45fi9m1lcc79rj6kyxggmv4v3r";
 "facture.source-1.2.2"="aywgffiyigrwxv9lipf7a131mycjp839";
@@ -2325,17 +2450,19 @@
 "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";
+"frletter-15878"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
+"frletter.doc-15878"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
+"frpseudocode-0.3.0"="d088q642bl3bnaz4lfla7sr73rg916l4";
+"frpseudocode.doc-0.3.0"="f8dypi9jx2yc1xmp4jd0hsjrfg9wpsnp";
+"hyphen-basque-54568"="82gjq2hisxgx99cgq8glgagvj4q9z52q";
+"hyphen-basque.source-54568"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
+"hyphen-french-54568"="hh8xb7dxhywpd8b30sih123ywr6jm6b8";
+"impatient-fr.doc-2020"="sjzbiaxr5cvnqxn7bylr5zhrkq46l1v8";
 "impnattypo-1.5"="ypvjmb0ys3c5f0mdlcsiljjb94h567wv";
 "impnattypo.doc-1.5"="q72pgsqjgmxrgclh3lziqv83h1r6020j";
 "impnattypo.source-1.5"="z4vzzjjhrxpaj91zqhzg6mx52av49qkq";
 "l2tabu-french.doc-2.3"="ncl8is1rmnk3n9ybrsav882w5qsb1w2k";
-"latex2e-help-texinfo-fr.doc-2019"="0n3q8gzd8xjhl92yyq2526sjsgl3jhid";
+"latex2e-help-texinfo-fr.doc-56275"="83ly2z3bbhq0p919q2r3j8bdxddrqvi8";
 "lshort-french.doc-5.01fr-0"="33vkjmz23zk2jrzyw99zri58jm0cpxax";
 "mafr-1.0"="vl6jgzlqqyn70cndvj91nnkmcxas15j8";
 "mafr.doc-1.0"="v44yahqn2gnnfbnf1ayqr96va6y49aij";
@@ -2345,19 +2472,19 @@
 "tdsfrmath-1.3"="5nz3qrfq13xyhabzww6092mb13014rhj";
 "tdsfrmath.doc-1.3"="8nnvlh3hw79z3k6c6vsvgnvkq814ldsv";
 "tdsfrmath.source-1.3"="3hfid9ih338p675pz6440f3ds5r3s646";
-"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";
+"texlive-fr.doc-54749"="p9xspppqxx47hymc2r9vcnz62ayz7jqf";
+"translation-array-fr.doc-24344"="yia92yfpyrwv26vh12kks8arbsda05z4";
+"translation-dcolumn-fr.doc-24345"="acapy2zx06rsxwg810avmphyjjxca6gi";
+"translation-natbib-fr.doc-25105"="8yvcb3s928s5lldgy65idpfw23pb46z2";
+"translation-tabbing-fr.doc-24228"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
 "variations-0.3"="md5bnc4jaiva00gkdjyd63x67hyd09si";
 "variations.doc-0.3"="pxbpjpnsfz728czc4pjfy2nfr88dzmr8";
 "visualtikz.doc-0.65"="2rc26mlib7xnlpgc2l82ky4fcpyv7013";
-"apalike-german-2019"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
-"apalike-german.doc-2019"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
-"babel-german-2.11"="8y70chxahg5anippladkwlh4aj94hpa7";
-"babel-german.doc-2.11"="zrlg0a334h7v2j66llw25977klr1az6k";
-"babel-german.source-2.11"="igzl8plqhs6fhs8zgfhanzsz49acbr4n";
+"apalike-german-54080"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
+"apalike-german.doc-54080"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
+"babel-german-2.12"="xsadfhzmhfr9x4hsfx90jk52nybssicd";
+"babel-german.doc-2.12"="dmczplp7glzy02ycbzqvhxdx6bsijlb4";
+"babel-german.source-2.12"="x112f6b618crkhmlbrgx96xy2x9l7mz7";
 "bibleref-german-1.0a"="wd8gzs1hrjyq9dmsjy6ss1qg0krlrzyd";
 "bibleref-german.doc-1.0a"="yc6vn69gsdsl3vxhg6klip8m6wkffyy0";
 "booktabs-de.doc-1.61803"="wcz4xqg22sijz3rczwk6nfnb0pk074ih";
@@ -2367,8 +2494,7 @@
 "dhua-0.11"="4n8cvm61marrsbxd7308xw089j0q2wlj";
 "dhua.doc-0.11"="kisr6kymm9v5kk9nfxi0ckdf6k8mhr91";
 "dhua.source-0.11"="a9ap1rwrqqwh394c6hjqx5nlw070iwp6";
-"einfuehrung.doc-2019"="x668r5llhw28bqdr3k32yynf3720bdna";
-"einfuehrung2.doc-2019"="mwzp79i9w8ci8dxpnk4z4k6l9akj1qf8";
+"dtk-bibliography.doc-DTK_2020-03"="6m4772vgjc32aqxx990d6gzaisicw5rq";
 "etdipa.doc-2.6"="cid5wjvbs4hl5lwczp1s1wbdwxfwr24n";
 "etoolbox-de.doc-1"="z53x50c71bvipgvgklp42n1yb50fq8gx";
 "fifinddo-info.doc-1.1b"="d7l7nsb4aj2b7nin8whkif0m5pcv11py";
@@ -2376,96 +2502,91 @@
 "german-2.5e"="mwin3zb743v74c97aizyiy86zj1pmdi2";
 "german.doc-2.5e"="invdh78rq8chiirzdlvijssdah8hsyk2";
 "german.source-2.5e"="zs1qxbd8r3bfyq77vaak9srxjxxn213v";
-"germbib-2019"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
-"germbib.doc-2019"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
+"germbib-15878"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
+"germbib.doc-15878"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
 "germkorr-1.0"="szywjh1bj2jqc6zqs5d1y1dwxq9h8540";
 "germkorr.doc-1.0"="bycbcbfrqs1r8l939kdm9f6s395rc5fh";
-"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";
+"hausarbeit-jura-2.1.0"="8j8q1xphy3dq2iz56p4p686ld2n9hs1s";
+"hausarbeit-jura.doc-2.1.0"="z4jxmrsysgbkdgqnnqw4qkg8al95qgkv";
+"hausarbeit-jura.source-2.1.0"="9666vwqnxpa5yc5z1v949rzwb7z0mdvj";
+"hyphen-german-54758"="kxd3gvil0gccwqg3zg9sifra0mc574wj";
+"koma-script-examples.doc-47523"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
 "l2picfaq.doc-1.50"="35c7cwi94qazkf5351kj5hl58xil9nms";
 "l2tabu.doc-2.4"="4sab9w752r7xr6l9a6sxig4q0sdfvfxr";
-"latex-bib-ex.doc-2019"="51d5jw2dmp9rvy8bqxzw6clls5aqi189";
-"latex-bib2-ex.doc-2019"="rggjiidvpwxfd978rkmkwmg70w7amnpi";
-"latex-referenz.doc-2"="463iyb1dhx6kdsqqb4crgdh0xgmrckpp";
-"latex-tabellen.doc-2019"="9y8yqyrkv49pj1v58nmf5qyibyphnias";
-"latexcheat-de.doc-2019"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
+"latexcheat-de.doc-35702"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
 "lshort-german.doc-3.0c"="aplln16lhlxfrck1lgjgsrng7zbgpsqr";
 "lualatex-doc-de.doc-1.0"="9l7ac63knl5cd6lxmrbnmjj8s0nwp5bh";
 "microtype-de.doc-2.4"="22zsps3wqlz58x3x1i3wadbn5jp9mba7";
 "milog-1.0"="lz3w4rhsgbl699hh8431yw6a9si6y9yy";
 "milog.doc-1.0"="zf9qx558g8z5xl906x391c6hylz57x8x";
-"presentations.doc-2019"="rczfpy5ayw0h07xlqhw4k2isp080g2ar";
+"quran-de-0.2"="ff9jx5anj2mzsqkqqjblqzignl01iry3";
+"quran-de.doc-0.2"="zncdmrlmzcnmcw7jnl6vr1cgh5v59cjg";
 "r_und_s-1.3i"="8vn7cjc42dvny30pkgp768yy87z9d2b8";
 "r_und_s.doc-1.3i"="pk63m1jl1yzz2xqiwynpph3nrlri1hkl";
 "schulmathematik-1.0"="pcp55pv0qb3x102ln1j2b4skpf57imrg";
 "schulmathematik.doc-1.0"="5kcizhqbdl9s696rzcdmdfbbg3yvxvpz";
-"templates-fenn.doc-2019"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
-"templates-sommer.doc-2019"="6n6saza6xd8mjys1ckfy0362sdya4616";
+"templates-fenn.doc-15878"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
+"templates-sommer.doc-15878"="6n6saza6xd8mjys1ckfy0362sdya4616";
 "termcal-de-2.0"="pql7q4dqaqgg0arqgg7l8iz4hwxrxd7x";
 "termcal-de.doc-2.0"="fpjnpzi59rrqg44j513w4d6f9cqi7ik0";
 "termcal-de.source-2.0"="myc9fjxig0z3dirj1brla1q70ryrczrr";
-"texlive-de.doc-2019"="6h0bib93hy99z40gbmr5vgacwkyxs5df";
+"texlive-de.doc-54604"="khc0yk2xf0v8dxhzxqavpwbwgc3wfkv1";
 "tipa-de.doc-1.3"="aa0msh91ynxxigmbxwy72i05g095fwxg";
-"translation-arsclassica-de.doc-2019"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
-"translation-biblatex-de.doc-3.0"="0wan8bpq95jpa0bsx79hfhi9882vbrr3";
-"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";
+"translation-arsclassica-de.doc-23803"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
+"translation-biblatex-de.doc-3.15"="n799gvic99wrrp9wlkzfdh3gm1sa4g32";
+"translation-chemsym-de.doc-23804"="khd057lr5p42wqz3p6n58d2z25jdknrp";
+"translation-ecv-de.doc-24754"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
+"translation-enumitem-de.doc-24196"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
+"translation-europecv-de.doc-23840"="541qkhphqn2f3bba6prrf2npqxl022ah";
+"translation-filecontents-de.doc-24010"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
+"translation-moreverb-de.doc-23957"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
+"udesoftec-1.6.6"="3xxi8213x1y8wya9nc6y85xxp6b729d1";
+"udesoftec.doc-1.6.6"="bbc0kqfdfxxlh09f7j4h77ws6myq5a4p";
+"udesoftec.source-1.6.6"="hadvdmkhph2sfvbfchhfcvlfvhjsjw54";
 "uhrzeit-0.2c"="5fwbnq0kjdcd88bmf0yscqvz1q47rlgx";
 "uhrzeit.doc-0.2c"="22iimwpxs90xz0c6l9v7aq6l4wqm39bl";
 "umlaute-2.1"="097i2xib6dk7g0pbn7h5blv9jnny07b0";
 "umlaute.doc-2.1"="hkjv5ym6954i5l2qxv3jm3p1prbn55h9";
 "umlaute.source-2.1"="p6217bas6hm8kksip8jkb2bhdpa9p91w";
 "voss-mathcol.doc-0.1"="f15dshkczyv9r9a6vzps3ls1cz95sk8v";
-"babel-greek-1.9i"="mj3i3mi693lhnbn85nd05mvxj8ad8y8q";
-"babel-greek.doc-1.9i"="lj68xjlmlyz970j3siiqjj3d20vwlqw0";
-"babel-greek.source-1.9i"="vnk8wla7j3q5b94n1cqdgn07l8m6jzb3";
+"babel-greek-1.9j"="f62w6in6bbp8in23n7d3lfs774wjzk5h";
+"babel-greek.doc-1.9j"="cgfy00f52a9z9zc1v9md5k1znmv6c668";
+"babel-greek.source-1.9j"="r53ppvvjhjk5gkxr0j1j6q8dgv92rn6s";
 "begingreek-1.5"="7v94fdb2kxzwgvcsjfd5gnqpjhsrgp9i";
 "begingreek.doc-1.5"="rgiglmyfkxghz1w9g67lyx28rvk2bwgc";
 "begingreek.source-1.5"="jscz6nq9n7aq1l3j86xyvki200ja40p5";
 "betababel-0.5"="0sk4kkbjx7swjxgrb3xiy1m7933avcz8";
 "betababel.doc-0.5"="3pd2x8h9mybnwkg71irzkn0n2rd0a8rc";
-"bgreek-0.3"="i1afn21yqrz4ykarvfvvn0jai9daldaz";
-"bgreek.doc-0.3"="w582b5mchimv0v1bgmqbi0n8sh5779gv";
 "gfsbaskerville-1.0"="vjawsy59q3xnr1hmzpjr1myqyb6f7gzf";
 "gfsbaskerville.doc-1.0"="7sx91lqgpn4w4xgbdbpsk41i5mxixqf2";
 "gfsporson-1.01"="k6gimiba8zfbnf4wc4zjrmwwc7ggnxkg";
 "gfsporson.doc-1.01"="6i47g0k5ys9q394g6q0a3686q4h75gz3";
-"greek-fontenc-0.14"="xp10w6afjjg4yk14yygm42f9f88q25pr";
-"greek-fontenc.doc-0.14"="8642xbsipyvv2i7gkmy6va7zwanbw4kr";
-"greek-fontenc.source-0.14"="8vlvm5a6b1s1p7qwf9x6zwf6ya3lpvdn";
+"greek-fontenc-1.0"="m529vnxzq00v80700afp400q8d9468ck";
+"greek-fontenc.doc-1.0"="pr8wzpz1v48dkpcd3yhychdqaxi56vln";
+"greek-fontenc.source-1.0"="v8kv28db1b2ay1ybdcl88g1dnfvhk701";
 "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-2019"="zmms6d4vix6nzw6jc06iir73wj9swvir";
-"greektex.doc-2019"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
-"greektonoi-2019"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
-"greektonoi.doc-2019"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
-"hyphen-ancientgreek-2019"="ylhxgwgkrwrrmyl45gy4szngqmgnjmwq";
-"hyphen-greek-5"="s5j9z3lw4dgd6kb1nxay76jh143mpips";
+"greektex-28327"="zmms6d4vix6nzw6jc06iir73wj9swvir";
+"greektex.doc-28327"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
+"greektonoi-39419"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
+"greektonoi.doc-39419"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
+"hyphen-ancientgreek-54568"="gix9qiss04jl38ffz3kb4ia2hxphcs32";
+"hyphen-greek-5"="997rdk8dk7ypq8whf35rlr45vpsf28gq";
 "hyphen-greek.doc-5"="r6v8qyqkrvnqn6729i7p3ah3vmgxnzrn";
 "ibycus-babel-3.0"="m0m76cgm1k930h85s6hi9qnlh86gf8z9";
 "ibycus-babel.doc-3.0"="fyc9gdakl47jq7p76pxi9l3ggqsqfwqg";
 "ibycus-babel.source-3.0"="samw380w28p4621z2f9fav06i9dzj3b0";
 "ibygrk-4.5"="3xwia8yqznfai0wjz7rc63dizdfc3n94";
 "ibygrk.doc-4.5"="ydy3swiwjr9r1j40fhkwhd2d7z614ipa";
-"kerkis-1.1"="h3xb4hv0wvvx2v94v6v01mzmgmd0prak";
-"kerkis.doc-1.1"="ydgx0hcbc49n9zpba234mf9wnfb28iac";
-"levy-2019"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
-"levy.doc-2019"="y92455xr0yq62ppxd650vvxaknkb5qym";
-"lgreek-2019"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
-"lgreek.doc-2019"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
+"kerkis-1.11"="4fdpjk9w3idk6gnj6m4hwrlqcxgwwl32";
+"kerkis.doc-1.11"="h0vmj6xbqzl50158pn1djgpkpzc2hy59";
+"levy-21750"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
+"levy.doc-21750"="y92455xr0yq62ppxd650vvxaknkb5qym";
+"lgreek-21818"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
+"lgreek.doc-21818"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
 "mkgrkindex-2.0"="v5hb36lspx6xyzzpm8ryprr7mwwpcrm5";
 "mkgrkindex.doc-2.0"="mfpkm8mm8n0nqhzgnm70yjy16lzjvvhd";
 "teubner-4.8"="7h0mh95kwrp8l3im9fq4m4my65hxcwpd";
@@ -2474,25 +2595,28 @@
 "xgreek-3.0.1"="742vxyljmp433rk26ap2rjqbfd7802ys";
 "xgreek.doc-3.0.1"="qdgh9jnqimis40pf5gj383j01ynx4cqb";
 "xgreek.source-3.0.1"="33imiba9m0sxmjxilflqzsysgr7vdv1q";
-"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.03"="a9w6f2zp1ql8987c0pak294xnn6ihlfb";
-"babel-italian.doc-1.4.03"="vgbc4bbxy99nsa6c27hq12hdysx6qw8h";
-"babel-italian.source-1.4.03"="5zh6p0aylh4qgz168h9yzk951f7mdx46";
+"yannisgr-22613"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
+"yannisgr.doc-22613"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
+"amsldoc-it.doc-45662"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
+"amsmath-it.doc-22930"="mrz7iav2jpify9h3vz703x863km3vb9r";
+"amsthdoc-it.doc-45662"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
+"antanilipsum-0.8.1"="xs57fn5s9vqxy5d4vdnrkahsr2hw7gsk";
+"antanilipsum.doc-0.8.1"="0i3f9szqj3mkwdabl3rv6vlhcmyp760i";
+"antanilipsum.source-0.8.1"="gx0qxfv9x2a61lgskxjhqh2gcbhl0vb9";
+"babel-italian-1.4.04"="kdy10mhrd33inhg65a5n54ails7vgajg";
+"babel-italian.doc-1.4.04"="p3y3vccyihrkr4h1fgdismzxz19y57yw";
+"babel-italian.source-1.4.04"="wldaqvmicvdid53jg4mryg9fsl79yfjv";
 "codicefiscaleitaliano-1.2"="gqzlc6agkwysk75lzdxbkz4azawzyrjh";
 "codicefiscaleitaliano.doc-1.2"="c7spaihgf2fdimihsg5cf7xn5bczkw97";
 "codicefiscaleitaliano.source-1.2"="vxi0halq6yx9gwd0vkcmjx6am7dnjjg1";
-"fancyhdr-it.doc-2019"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
+"fancyhdr-it.doc-21912"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
 "fixltxhyph-0.4"="gkadi0h5794bxkkb809162a1z7aicw78";
 "fixltxhyph.doc-0.4"="l2xq1rsc95fbk3saqnx86l9d73mvm92v";
 "fixltxhyph.source-0.4"="4nhcwfdf5gs7fc5iy5fph8yiq4wavjp3";
 "frontespizio-1.4a"="mqcrdj4b2abhq70zx1alxdm6hs3n4xnz";
 "frontespizio.doc-1.4a"="g6i79280jdkwhp4q9l69h7icm11l78bl";
 "frontespizio.source-1.4a"="gmdqk3hajrn0k5dhcdmyn1a7vxz6f3y7";
-"hyphen-italian-4.8g"="scvfw1wwqf0d6iln142b6k057n3x6740";
+"hyphen-italian-4.8g"="q5q6hsnqak4q2i8xjaady8qw2y3mqnlr";
 "itnumpar-1.0"="39ydhr855c2sb1xwfd12v61pphzmbc7g";
 "itnumpar.doc-1.0"="2qdpfrsffqfqvd42nn8yhicp8p3vvzk5";
 "itnumpar.source-1.0"="xd2bbq62fn23gbii6147m3n1c16pcgjb";
@@ -2501,9 +2625,9 @@
 "layaureo-0.2"="7qqhm139n1afxdpsmikzdyn7pn09hv9x";
 "layaureo.doc-0.2"="pf22ypfazq7hwxpfiidcvkd24zs1gys3";
 "layaureo.source-0.2"="3q0ixl7rw7sz7n2bfd8gyfnglfcq2hcs";
-"lshort-italian.doc-2019"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
-"psfrag-italian.doc-2019"="xb8qlcz7f0za963yybhjvbyjq37z516f";
-"texlive-it.doc-2019"="nsbjkzxjwlrbbrciv2qdy6lrfn4ddk66";
+"lshort-italian.doc-15878"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
+"psfrag-italian.doc-15878"="xb8qlcz7f0za963yybhjvbyjq37z516f";
+"texlive-it.doc-54534"="rjkflhhrms2qhbsakznnxfh3r3kbz5dr";
 "verifica-1.2"="dwgpgq7r4r6s6glysghbd8b2s3gazjmm";
 "verifica.doc-1.2"="73f23nps62hryhdl9q6gndblnc3vvbw9";
 "verifica.source-1.2"="glz0p5kfvk6h83icf4dbvg67pkg6k2xp";
@@ -2513,8 +2637,8 @@
 "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";
+"bxbase-1.2"="cmpmcxr25044s63nagvkzb6zv8giyqh7";
+"bxbase.doc-1.2"="na2vh2jak4zvmibrpkis6jr21ly00904";
 "bxcjkjatype-0.3"="94n8gv2433510cq05vl97zrna0gyya1z";
 "bxcjkjatype.doc-0.3"="z6rarps2vgxp061w0q8amki68j51yqlx";
 "bxghost-0.3.0"="fmg8agh5563jny9106kxzn6ac0y9ypcc";
@@ -2527,9 +2651,9 @@
 "bxjaprnind.doc-0.3b"="1vsxn97w48hn05il79byfms5w6749xpc";
 "bxjatoucs-0.2"="hmb6rpwihwgfi7sq1zpf7yw12ibr17kw";
 "bxjatoucs.doc-0.2"="4nkg3si0bwryyyh0wpqnvkrmxmbnlin3";
-"bxjscls-1.9k"="vzkpvjj8xgrakz1ymlx9463lr4grryxp";
-"bxjscls.doc-1.9k"="0xkh21275na2fpapv6yy97f805y3zbxm";
-"bxjscls.source-1.9k"="6a7zjg0ysczcrq9893984rqbl0cp5b9l";
+"bxjscls-2.2c"="z5i40795avjbcb242jijbd970wdjinls";
+"bxjscls.doc-2.2c"="5inv8gi1zpc533bd8jglfq0dvds2b64l";
+"bxjscls.source-2.2c"="1wf8z5pxq8vqfijmwr92n3sj3gajl81l";
 "bxorigcapt-0.3"="lbrfjjqsjm4n5b7byyrhm1akbmxxap6d";
 "bxorigcapt.doc-0.3"="grspvjmbrcjq91wgi6l3a73y5l7nnl4m";
 "bxwareki-0.6"="rgw2day3m4vr0k6d2mbhrpy8anmzklc1";
@@ -2538,124 +2662,96 @@
 "convbkmk.doc-0.30"="nvi9mfw8iiw923v54fdi5pk7r93y7vsc";
 "endnotesj-3.0"="p1524a2l6zsh2gl28im4rxzr7afy323b";
 "endnotesj.doc-3.0"="ksn1n0s90shsi65kgw4bppanfsbxrq0z";
-"gentombow-2019"="zw6yd6x0kz3kv5s46ka0f27vyib714jn";
-"gentombow.doc-2019"="qpxjmhszws8x3zk749dj0dakqv6qskhk";
-"gentombow.source-2019"="wccfbmzqqpls622zq1xlqybl7vkyjryg";
-"haranoaji-20200215"="31jqnd042v9gxvfvqrkziz3y4gc2nnj1";
-"haranoaji.doc-20200215"="1sprh04p4sy5qm33bv4izf2zm4jkhibp";
-"haranoaji-extra-20200215"="w9bbr0p06n3s1cq8ac5rd20gvz5r2r7a";
-"haranoaji-extra.doc-20200215"="c5clkk0895208ksssx4cprq91kh9z0ax";
+"gentombow-56429"="4mwyhhcbhp3hnjzqpkn62kv2sz27lxkb";
+"gentombow.doc-56429"="lv12zrj4xqkf02n68gfi7qad4gwafch6";
+"haranoaji-20200912"="aaa482yajabi905clhabkww2qlsyh1vw";
+"haranoaji.doc-20200912"="hxffn0lkmli3fhkvzncwjyry2agrd4pz";
+"haranoaji-extra-20200912"="0vzf6cqxk6igkbxnx2y37yvfbrjmpmby";
+"haranoaji-extra.doc-20200912"="q1zj08b1qb58bywmb905xnqrg6b8j1bf";
 "ifptex-2.0"="vd33lyik4nfippj7dax3k8rbkpacc3c3";
 "ifptex.doc-2.0"="ii033xhz4lx24hwzmkqgff5w13q38fny";
 "ifxptex-0.2"="db7waqqfn8nrn8b3z4dh7dy846f2zxad";
 "ifxptex.doc-0.2"="y1039vpyrh9k2dyi1xws45a1gj3b6dv1";
-"ipaex-2019"="pxy5kyyznzddkci3pzdb7fla8gsfsqm5";
-"ipaex.doc-2019"="bv4h64z9gnd6jf3mx85b45dqxalicjcl";
+"ipaex-52032"="pxy5kyyznzddkci3pzdb7fla8gsfsqm5";
+"ipaex.doc-52032"="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"="xc8g9s8mryypwm9ikz0y131h2fqmgnhf";
-"jlreq.doc-2019"="s50ldmnqi8rjrckwwm5c3arvkyxdy2i1";
-"jlreq.source-2019"="ha1jdqcvb80wgmvrigbi4bz2clapl2qm";
-"jsclasses-2019"="qvvp434pbrxy75sr38xbja21gk23rjc8";
-"jsclasses.doc-2019"="bxlfrfg24hsj5dybpzgplpcm8wyar72m";
-"jsclasses.source-2019"="r5s5kdcj8z7z3kkdj1qiiym1dmv73qzf";
-"lshort-japanese.doc-2019"="5b8svqq4w1ipn3737s73pk969s8yv63d";
-"luatexja-20200301.0"="n3b2sc32fp1y92wadshbskcsc9fxf5n8";
-"luatexja.doc-20200301.0"="mwhy39lvgd24i46pa9nffc5nm21lqw1g";
-"luatexja.source-20200301.0"="7ig9a56yvvyl03p32n5gfq4fkldic8m1";
-"luatexbase-1.3"="hjzprkfxz8i905ffdzfad0myg2ym4vg4";
-"luatexbase.doc-1.3"="3rnbzrql8m9ss0pk1yydy4v9acrk3qq0";
-"luatexbase.source-1.3"="v5x5csbgplvah43m8lbjky2nmfk2s3fp";
-"ctablestack-1.0"="cavlzn944q3fhha3i4kf8bgvm2y5zpdh";
-"ctablestack.doc-1.0"="g2d4fq9nl422i3i0skmlrydx6d3ks8cq";
-"ctablestack.source-1.0"="bqrksg21vxxki14v7sadnh35070f2vdy";
-"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"="acazzn4mp15ki3sf28pqvhwnk6z6ind8";
-"platex.doc-2019"="s5dg3nmj99mh7xdjl79mp6zyzj0fnhgb";
-"platex.source-2019"="6bm05n38ja00h5hrsx7aml6xb68yi4af";
-"latex-base-dev-2020-10-01_pre-release_4"="sn2xhnjjdv9lp5f118ngwqfw76x03sw0";
-"latex-base-dev.doc-2020-10-01_pre-release_4"="76lrb1brgggjxr9fp8mmsfk92vkh2qfd";
-"latex-base-dev.source-2020-10-01_pre-release_4"="5p66bw1szjlyasb7l1bjib53f5s33fkr";
-"ptex.doc-2019"="zy4jrdz4ji2jf4457nx4j48r7g8g2bzl";
-"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";
+"japanese-otf-uptex-0.25"="8swbn4s13n9g9sm0m8pwm94iq0gl1ziz";
+"japanese-otf-uptex.doc-0.25"="7wqm9qjxawyih9z9qls5ccm5dblq50f6";
+"japanese-otf-uptex.source-0.25"="gmslw4incmf7dlcfvkrmjkmz0wpcblw4";
+"jlreq-56450"="cd9sqg3j5jwwa9k95by1810xc6skwnw8";
+"jlreq.doc-56450"="iq495i7xsbmsja0hwd2h74w242smgz6h";
+"jlreq.source-56450"="qc40ih88g40yaiah4wgcp6rdsvdir4x7";
+"jlreq-deluxe-0.3.1"="6k38b15b5gyw3vr0y06hjvfc7d7l1v4f";
+"jlreq-deluxe.doc-0.3.1"="wa8zvis2jn58d1b1qx9gp38mq2vzq6as";
+"jsclasses-56551"="66578bq8n52pvag0i3hxk17q7bd0kbh9";
+"jsclasses.doc-56551"="3xjdam2ca9jq1ji6zvzzd65rg167sy8g";
+"jsclasses.source-56551"="rjdyfgikzdw9x6ms2qjv3669mwywhyxc";
+"lshort-japanese.doc-36207"="5b8svqq4w1ipn3737s73pk969s8yv63d";
+"mendex-doc.doc-50268"="vp31541i0l4rfkijbng5zj0q4cmbdz19";
+"mendex-doc.source-50268"="2w1ibgiylpczrzp9xhl7lidn8y2yhnn6";
+"morisawa-46946"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
+"morisawa.doc-46946"="cy0li43jphfx3x8x2ddf57f040s8ygim";
+"morisawa.source-46946"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
+"pbibtex-base-40986"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
+"pbibtex-base.doc-40986"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
 "platexcheat.doc-3.1"="khwx5x4r6aydzhd5rkv7h9lf58l27494";
-"plautopatch-0.9e"="1qdfzh5x094y9kkn4wd035yqkqkd6smw";
-"plautopatch.doc-0.9e"="j1j509az6sm5fi61h136ml3d0aivb6mq";
+"plautopatch-0.9j"="d1x84i98r7r0w4dish75dnrg7snba1la";
+"plautopatch.doc-0.9j"="inab0q6fxcng0z4qkxcfcss6jarxskzp";
 "ptex-fontmaps-20200217.0"="xi0xpizlahvb5ingkq4d4qazkh1lp1k6";
 "ptex-fontmaps.doc-20200217.0"="c2asq6r15z67wy364zsadjxlhznxykyz";
 "ptex-fontmaps.source-20200217.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
 "baekmuk-2.2"="5rhc42dabpd99i92hkdmkjzgr3jqhg16";
 "baekmuk.doc-2.2"="4syhh948m1jw14xlhq6dbpdw5p5p198h";
-"ptex-manual.doc-2019"="hqb15pmvw7m12wj9557mjgvi9idgkm69";
-"ptex2pdf-20200119.0"="nvz64jf5zmlmrnv1h985qlzhxxi2420v";
-"ptex2pdf.doc-20200119.0"="6vgrh59xk6xzjjxvyd58by4q4il9fq13";
+"ptex-manual.doc-54450"="xq0cigm101rbpk0gywlkc49k710p39q6";
+"ptex2pdf-20200520.0"="n51vdwpxcdyb0w3bxi3d9i2b6gh8j3ij";
+"ptex2pdf.doc-20200520.0"="xy5gdmv5jh3mlabwk74hcj1b2g9qrv8f";
 "pxbase-1.1b"="92jsnxmiqmpy56dhdjaark80zsbb5vxa";
 "pxbase.doc-1.1b"="n5ns9b3vpa52b78hhgbvg0114faw0dgi";
-"pxchfon-1.7b"="8yvw30119hdpafxm7d2rwbcj4z4dz1sa";
-"pxchfon.doc-1.7b"="h57si3wyz2pnlp7rsdwmc86y8smw5571";
+"pxchfon-1.7e"="c05axsnaw9n2gghs2l3yvnw4i9b8bj0k";
+"pxchfon.doc-1.7e"="4pimmbvbbjnrpmnh11y75rk0ahj3d7lz";
 "pxcjkcat-1.1"="i368i8r85baiimnwh2rfqd0hfrklw8hs";
 "pxcjkcat.doc-1.1"="hcxxg9rg6d64hwysf6nlvfhv8h360168";
-"pxjahyper-0.4a"="wc6kv0s8glnfn95k1bb5l2lihm6400xp";
-"pxjahyper.doc-0.4a"="1xzxscgsl9y9ajvd9kq8d37lpmqb02vv";
-"pxjodel-0.2a"="wrzn5vf0h8di7zyzw15fqmnjrn8y0569";
-"pxjodel.doc-0.2a"="hihxv3km086xxnwbxfpg6a455r1g1snm";
+"pxjahyper-0.6"="b5q5xfvplzy9xdq2qzzzkwa72s67kyhb";
+"pxjahyper.doc-0.6"="vwm7ji8z5m7n6ba48cy486cnld18z6kz";
+"pxjodel-0.3"="81408a28dnm6qxf1fvdzl9892bjgw16d";
+"pxjodel.doc-0.3"="9gpcf45l044gd9z8pqvag7apcnfy407c";
 "pxrubrica-1.3c"="p6ych4fz68bzhg7nmb0456jr32qhg20g";
 "pxrubrica.doc-1.3c"="mn4xnfbybrmq49w2r11q18k8q4q7mark";
 "pxrubrica.source-1.3c"="5w4m8vac151lxkp76llm5ycvi7818vps";
 "pxufont-0.6"="88rvij6qa4d901vnmhahn1dmik47xjr2";
 "pxufont.doc-0.6"="vvrjjns1nfgk36wlywiayk6v02a0h8q0";
-"texlive-ja.doc-2019"="c9x1ai4v27mnmwkxbc4963a00i1qsjfg";
-"uplatex-2019"="ikvhcfp3hyvygch7yx9hj2wn1bhvdjrp";
-"uplatex.doc-2019"="2xzxvkb9qv7wcy0mwm82nijdbfqdch6x";
-"uplatex.source-2019"="wjfimibwb9xhriya2161vxxgwngsy79b";
-"uptex.doc-1.20"="r3zb6b4yszgz9p9w6kwzf9kvb35pcc8g";
-"uptex-base-2019"="dhh84zlmy5qh9848mx5yylmps2x5dhfj";
-"uptex-base.doc-2019"="02jcxdjr8w76l067z88n0dybw5mqik1p";
-"uptex-base.source-2019"="dv52z5ilfxmcrb9420sbw6b8gl2av9x3";
-"uptex-fonts-2019"="g3qnaahn4gp4yc4zlg2n6687bzq738kq";
-"uptex-fonts.doc-2019"="ji8zv1haadkqgrsvnvyp71xx01nhlvql";
+"texlive-ja.doc-54334"="g5hyyzvg61iwp3pz37imr3k15vxnvv9g";
 "zxjafbfont-0.2"="gqmmwcbw81z91mwqf731jk0mgdfiw8d5";
 "zxjafbfont.doc-0.2"="0901rpw6rd2wivh0fsqnna6gywc6j8hh";
 "zxjatype-0.7"="8wfcvfci8mj8ikqpfa1s4km4c46i3hb5";
 "zxjatype.doc-0.7"="qp9vrpjyjxma8bi3yhkdbbxv0db2l0mr";
 "cjk-ko-1.8"="bzihr3wa6c0rp7jrj89483w2xlapj6jv";
 "cjk-ko.doc-1.8"="avb0cwq3p97yj94gsfwj29bwdixv2lyg";
-"kotex-oblivoir-2.1.8"="wq598w1jbvbczmznn97basmrybz42zxq";
-"kotex-oblivoir.doc-2.1.8"="inqj292cqra8rxpa11vwkpjx7wcpx3zr";
+"kotex-oblivoir-2.2.1"="cx0nxwxwj719krdh6n5hg3cf6ga7ysfm";
+"kotex-oblivoir.doc-2.2.1"="lxh3ihycqb9qp6vhvkqwi25l2jgwq49q";
 "kotex-utf-2.1.2"="x3j8gcy8ylvgpiwyrwrgl8wjj9gdrp63";
 "kotex-utf.doc-2.1.2"="r61iwnwwvwh1999l4ylczvz0d6l9ff1f";
-"memoir-3.7j"="bx30l6xwv8mzaaa1jv6fsh70zyriwsak";
-"memoir.doc-3.7j"="65m20g7z8qlsmx9nk1wa1420sq2jv2bn";
-"memoir.source-3.7j"="3iy8whms1mm43kd5yp358mfbjp3f7d5r";
+"memoir-3.7n"="2fn3lwqdx6fyacpg9c9xx9fmck4978sk";
+"memoir.doc-3.7n"="ihl1vs0hkj0166djnmg3qyy9x3710yz7";
+"memoir.source-3.7n"="q14g5l98jn7vrcyxsg73b8fpjff91dq5";
 "kotex-plain-2.1.1a"="wa5ifv962vi96ikyv53b6x7wg1fi67c5";
 "kotex-plain.doc-2.1.1a"="drkcvf3nb3kkvp63mw3xdz80lvn92w0j";
 "kotex-utils-2.1.0"="gvq7vg419f2wqzl6xp9mcffclvh65hs6";
 "kotex-utils.doc-2.1.0"="xl1v4i3j2wlhdp0rkjkn0d9b11bwlf4b";
-"lshort-korean.doc-2019"="vgmq1j9h0789hhank5mjmag1yq2h2gsw";
+"lshort-korean.doc-51035"="vgmq1j9h0789hhank5mjmag1yq2h2gsw";
 "nanumtype1-3.0"="b1wscjlknaslwhpaxxfi8w2drxg1m770";
 "nanumtype1.doc-3.0"="4jpi6pmfq42sbcfzl403niskxg6qnxfp";
-"pmhanguljamo-0.3.2"="b3iyzkvlc77xnzsi4w9bh9jsimwqvxk5";
-"pmhanguljamo.doc-0.3.2"="vv53qjsfpcv461yf0z1j5y88zp73mv14";
-"unfonts-core-2019"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
-"unfonts-core.doc-2019"="icc501j6sh5ix6v72v7lpb0him7viih3";
-"unfonts-extra-2019"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
-"unfonts-extra.doc-2019"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
+"pmhanguljamo-0.3.4"="dzcgp4dkvgnxp6q7w3nh07agr5ayf0d8";
+"pmhanguljamo.doc-0.3.4"="knal9x0irb95h7as9zhki8fscsggh49l";
+"unfonts-core-56291"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
+"unfonts-core.doc-56291"="icc501j6sh5ix6v72v7lpb0him7viih3";
+"unfonts-extra-56291"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
+"unfonts-extra.doc-56291"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
+"akshar-0.2"="vnkiyx83qd6ykba2mpwbhz2nsdsqdg3g";
+"akshar.doc-0.2"="spz4nshzx9pn3s8vnwv12iabxpx22pdb";
+"akshar.source-0.2"="nfn416llwic635ywd9zyn5w252hsw53g";
 "amsldoc-vn.doc-2.0"="09zv7q83wc6zg9an9b1x1nvsnqx8bpcr";
 "aramaic-serto-1.0"="mcxkjm533zpz4srgqqbd1asax309lhmk";
 "aramaic-serto.doc-1.0"="2717wqsb2bzap0cjgw8d1rsryjyil57n";
@@ -2688,44 +2784,47 @@
 "babel-vietnamese-1.4"="pi8gc005y8hn42hyxrn7p23kbashsv1c";
 "babel-vietnamese.doc-1.4"="5l7qyvppvihhdzcszaxskiscp8xm686h";
 "babel-vietnamese.source-1.4"="y9wmbn3j1f614p6dfciwnvig3v5r9q39";
-"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";
+"bangtex-55475"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
+"bangtex.doc-55475"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
+"bengali-55475"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
+"bengali.doc-55475"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
+"bengali.source-55475"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
+"burmese-25185"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
+"burmese.doc-25185"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
+"burmese.source-25185"="ixz9y2ck9awijs6w9rz005nkvl613811";
+"chhaya-0.2"="lxplhiai9bfxqvpcxlcmllgm1ana0fdr";
+"chhaya.doc-0.2"="xx2hs716bv8jpxfrz00c8zqx9r6ik605";
+"chhaya.source-0.2"="0rw2yfhqgfi49zgn37rqf7m6lqyjv0hw";
 "cjhebrew-0.2a"="nkca25dwl8i1li6q63sv4w2n35z28bdn";
 "cjhebrew.doc-0.2a"="w8jqlvv6cm125d68dhfsar5y7xynac7d";
-"ctib-2019"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
-"ctib.doc-2019"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
-"ctib.source-2019"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
-"ebong-2019"="mhlr9r7i2zf3rm905m527hbnydppaiar";
-"ebong.doc-2019"="pqr96lyawpif4fzp0izw8j0506gnf06f";
+"ctib-15878"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
+"ctib.doc-15878"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
+"ctib.source-15878"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
+"ebong-55475"="mhlr9r7i2zf3rm905m527hbnydppaiar";
+"ebong.doc-55475"="pqr96lyawpif4fzp0izw8j0506gnf06f";
 "ethiop-0.7"="fd4kynb70wkja5fxhi10n52mff3s2a8q";
 "ethiop.doc-0.7"="cabq6vprpklsmzi68af6nb4qiwbrwmzf";
 "ethiop.source-0.7"="yv6pwmbkvahpy2h4vnijnqag2rv09k5l";
-"ethiop-t1-2019"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
-"ethiop-t1.doc-2019"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
+"ethiop-t1-15878"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
+"ethiop-t1.doc-15878"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
 "fc-1.4"="iyjlb5q55khnp515n1snhpnfrrmfn1pm";
 "fc.doc-1.4"="wd9bn967d6nzzvdrvim470l711v1jkg6";
-"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";
+"hyphen-afrikaans-54568"="lzvkz42km5fqw6mq0zsd9ap0p5gapr8b";
+"hyphen-armenian-54568"="wsnlgl93c07hvq57s674k97hqpjmg0r5";
+"hyphen-armenian.source-54568"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
+"hyphen-coptic-54568"="zpr4wcsqjw5ms1lmyb55ms51kw74y4di";
+"hyphen-esperanto-54568"="3qn52izwqh0wzgj9z6xbl4i3v05pyc3h";
+"hyphen-ethiopic-54568"="br53spk4ha865kbhi2vqqad3j7j33mhq";
+"hyphen-ethiopic.source-54568"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
+"hyphen-georgian-54568"="lc9n7f9gf67iv4fpkrb8z5fad4yj5yli";
+"hyphen-indic-54568"="cdp7rhw7l794q3i8xg8hihppkmwykfwj";
+"hyphen-indonesian-54568"="iiawl089bh8a4yb8mkcgm0jiwpx4jc2k";
+"hyphen-interlingua-54568"="xn6yxk82xgqrr15413c17wnmlyaa6gc9";
+"hyphen-sanskrit-54568"="kl6n8zlqrla0yjxpy5p3lvzbl1jsphhm";
+"hyphen-sanskrit.doc-54568"="pjfnjwbksv532x7idr41hvs874f5p97h";
+"hyphen-thai-54568"="aa14nds7ijramr9jsc83ai890imjaczz";
+"hyphen-turkmen-54568"="xzvkkj48iby0vmzqpadpbqcblm1zh4w8";
+"hyphen-turkmen.source-54568"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
 "latex-mr.doc-1.0"="vwb062hbn3371czg99plccbvxw1a7gjh";
 "latexbangla-0.2"="6ix7rfgj51z585jry3i1g68x4wvm4xxz";
 "latexbangla.doc-0.2"="iw79gb4sk4hys6xbc8j86lpzyji8h7r9";
@@ -2733,22 +2832,25 @@
 "latino-sine-flexione.doc-1.2"="hnb3gr9lz8wfqgz3g1shzb9s85r4dn9h";
 "lshort-thai.doc-1.32"="iwmnm7z7b3r8km4i3afq8hz0f2vy9dl2";
 "lshort-vietnamese.doc-4.00"="2y25jrim204g4q916rf1hhkavl7fi6vx";
+"marathi-1.4"="bv89wm74091k334rvc46jbj5wydds7lc";
+"marathi.doc-1.4"="9ywp9dv2cm99q1v48z550fj4gbjnfsdz";
+"marathi.source-1.4"="3rwsdhd80lxlnkqzakhhgjl9f258ydjx";
 "ntheorem-vn.doc-1.203"="ys9g749d9f2nbq55ckyrjrr4mg9yywni";
 "padauk-3.002"="dwdgm603clk71s9gcjx9ghzwlkh6k2gd";
 "padauk.doc-3.002"="zarib60py4ddx2axyrm695pkikxih70z";
-"quran-ur.doc-0.1"="8nc81g4wfrd6q1xcm6fqiqkq8xwkaiym";
+"quran-ur.doc-0.2"="hmy6wxr46rf3sy5kzvy9ppz6d6dh7g9d";
 "sanskrit-2.2.1"="scnnwa1xsfnpv0w7xp8ry49ps6s5pw8w";
 "sanskrit.doc-2.2.1"="0ps1lrlzdhq7gaagjqb3m4yygpz4g7p0";
 "sanskrit.source-2.2.1"="dp3nk8wbjrvb3hg4xdxl8s8m1wfcwny5";
-"sanskrit-t1-2019"="lwnbgg4flg35ndf7p0iii468sf6avylv";
-"sanskrit-t1.doc-2019"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
+"sanskrit-t1-55475"="lwnbgg4flg35ndf7p0iii468sf6avylv";
+"sanskrit-t1.doc-55475"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
 "thaienum-0.2"="acsj56dxkcqi83yajkm4rjxm99p6r10a";
 "thaienum.doc-0.2"="55zcsq659l2wki581xvcdy3ssljgk9s5";
 "thaispec-0.4"="wzjrh6h9sp2rlkbjzr23z4dgzz74844s";
 "thaispec.doc-0.4"="wzqlgimfzsxi948s3gff8fa693pn5hbr";
 "thaispec.source-0.4"="3k00zbgwdi6w0dm49mywgmdpik0pgk2d";
-"unicode-alphabets-2019"="j7c2skki2c2k13y2pky182pmw86lzxfy";
-"unicode-alphabets.doc-2019"="2y89zg9f1wzd43n8lfh16y8lilvx7w0w";
+"unicode-alphabets-54236"="r0ylcchj98nn4vmd6dnxvx20applp72p";
+"unicode-alphabets.doc-54236"="zr075sprvlpddzcaxyb0lg0dg90p089g";
 "velthuis-2.17.1"="x0zig7csm0nnq7m2n1qqdys57jz38b9h";
 "velthuis.doc-2.17.1"="mcclyvyb9d4hrak5naw2d76a8g9lhqak";
 "xetex-devanagari-0.5"="v4gi0agfvxz808s3mapzf2ylxhv5n8a7";
@@ -2756,8 +2858,8 @@
 "vntex-3.2"="vzdcn6z7knkzsj8gxwj8zda00dq6w8is";
 "vntex.doc-3.2"="5ix8dldkd2qmmbwn731ii4ffng7d3fgr";
 "vntex.source-3.2"="72m9wqbqrsam0b6a15lqq4yq5hbcx0kj";
-"wnri-2019"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
-"wnri.doc-2019"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
+"wnri-22459"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
+"wnri.doc-22459"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
 "wnri-latex-1.0b"="y9n4dac8cbzm2gwhcfan32rbv3dyhr0s";
 "wnri-latex.doc-1.0b"="f1m11fnp49h90f3djiml0awlxqcnxkdp";
 "wnri-latex.source-1.0b"="zd4smslq18sp693fgay24m503v01v3bk";
@@ -2768,40 +2870,40 @@
 "bredzenie.doc-1.0"="br35cfyn2zq2qb44mss225ylw16sz0jq";
 "cc-pl-1.02.2"="d0vdpawzrgwsxj9sff3y83mf1xrs891y";
 "cc-pl.doc-1.02.2"="wqnvmgzzh65fhrgwbrmpa307qa7xbh21";
-"gustlib-2019"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
-"gustlib.doc-2019"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
-"gustprog.doc-2019"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
-"hyphen-polish-3.0a"="d9fjz8dhcdw5gl66b7bp9syjgbbcj36c";
-"lshort-polish.doc-2019"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
+"gustlib-54074"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
+"gustlib.doc-54074"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
+"gustprog.doc-54074"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
+"hyphen-polish-3.0a"="0hryyyhdbinmc8iwawshca3s1dh6kjg3";
+"lshort-polish.doc-55643"="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-2019"="d8314s7lhlafhspi1qf8hiqzx61n439a";
-"utf8mex.doc-2019"="svpkpbc0caxbynjnjjynng11fdg3dgid";
+"utf8mex-15878"="d8314s7lhlafhspi1qf8hiqzx61n439a";
+"utf8mex.doc-15878"="svpkpbc0caxbynjnjjynng11fdg3dgid";
 "mwcls-0.75"="nldix3j60gjybkg60qdbi1wrdarqggqb";
 "mwcls.doc-0.75"="16cqcaliy99s6dqnb507hcncxbjlhgmq";
 "mwcls.source-0.75"="x6jn9m23ickiy79sk1w1jsgiqpk2jh9v";
 "polski-1.3.4"="j98gsw0v3vf0a9j8bfjbynmrv47fcd34";
 "polski.doc-1.3.4"="zldgln4yhr6qkmay2aqrlv0bbbwqdyyl";
 "polski.source-1.3.4"="a7ig2cy5jamdgk3dxigyz4qa0kjrd36z";
-"przechlewski-book-2019"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
-"przechlewski-book.doc-2019"="23zvnv9pcvl5n68js39l4hrcli608qck";
-"qpxqtx-2019"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
-"qpxqtx.doc-2019"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
+"przechlewski-book-23552"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
+"przechlewski-book.doc-23552"="23zvnv9pcvl5n68js39l4hrcli608qck";
+"qpxqtx-45797"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
+"qpxqtx.doc-45797"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
 "tap-0.77"="mgr2m41yv0y4dcf4myk7020hkmqrd5z6";
 "tap.doc-0.77"="mr27kjalpicyv8915p32yyya5imm3m8v";
-"tex-virtual-academy-pl.doc-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-2019"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
-"cursolatex.doc-2019"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
+"tex-virtual-academy-pl.doc-34177"="rr38v1syb2b4ji3psf47pmwr562zv59n";
+"texlive-pl.doc-54425"="5960svd5zbj4sdj57dnwdxj6kgrvwach";
+"babel-portuges-1.2r"="qvs46waczf29r9sgn5g1r3sqfpxzbvis";
+"babel-portuges.doc-1.2r"="2svsjsspxda3cclj6aby5pq7iixv52kp";
+"babel-portuges.source-1.2r"="6p0zyv0bvrx384nmbq1q23w5rnqrmmi0";
+"beamer-tut-pt.doc-15878"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
+"cursolatex.doc-24139"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
 "feupphdteses-4.0"="696my85w1ngcar81vacyj8nr7m4dn0wd";
 "feupphdteses.doc-4.0"="9nm4793nyfp5v2rjd5297sbyw2b29bqi";
-"hyphen-portuguese-2019"="b29y4gyjll5mvaf2mh5i51qrfkqsxiyi";
+"hyphen-portuguese-54568"="qjfk2gk1mhvmdqs4xz5sz1nikb0g2br3";
 "latex-via-exemplos.doc-0.5.6"="qv730qmznff38z28bcdpzmirvzngpg3p";
 "latexcheat-ptbr.doc-1.13"="qzgl6v54k07i6lc3ps84s9mj11j1qqqf";
 "lshort-portuguese.doc-5.01.0"="m3r2gbq4v09p9svs0mxsw3s3yc7has5y";
@@ -2811,50 +2913,46 @@
 "ordinalpt-2.1"="ds49jf4pvghzwn5nqwjbzz6dhp0cdn80";
 "ordinalpt.doc-2.1"="4hg5jx7bnx1j13s1mq8xscr3jfajl6by";
 "ordinalpt.source-2.1"="cc2f6xias35ac0c0kxan2cvcmyjq7l6k";
-"xypic-tut-pt.doc-2019"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
+"xypic-tut-pt.doc-15878"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
 "babel-catalan-2.2p"="18ngggp3v707j48vac5grpqw342jwg3f";
 "babel-catalan.doc-2.2p"="19hc8i6d64n8dfk6hmgpgm03kg5r7wx0";
 "babel-catalan.source-2.2p"="v2750fsyzjlc6iqk44s31idwybz2jvfz";
 "babel-galician-4.3c"="xczl3malfygp6w1fd3rpd26rifcgj3j8";
 "babel-galician.doc-4.3c"="i7r7rp46vmhmf18dgzsac2ay1pwanlxz";
 "babel-galician.source-4.3c"="ix6vzvf936s019948pz5bls7nfca9xng";
-"babel-spanglish-0.3"="17nhdd8za144n05vhvd50kr6bss0swaw";
-"babel-spanglish.doc-0.3"="sfjf3dfj841772k5ipvf0r4qr3zayhak";
 "babel-spanish-5.0p"="lxsy4aq5mwizmif2r3i9h97mccim0ljv";
 "babel-spanish.doc-5.0p"="2aa12l6ndp4r6rdv6v0z405y3hpsmgnx";
 "babel-spanish.source-5.0p"="ad9wxx0qp6kp4r8ri1vwycgf2gpdj6xw";
 "es-tex-faq.doc-1.97"="v9brqkql6xbb1zdk5m6xhff1dxm36nhf";
-"hyphen-catalan-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";
+"hyphen-catalan-54568"="wr0z3f2dvlyr5ymjv74n77lvdx19ddx0";
+"hyphen-galician-54568"="17baazf7c6z7i2j0nf68r02r1ymhyigs";
+"hyphen-galician.source-54568"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
+"hyphen-spanish-5.0"="wpp5pa8xj88d81piz56mnnjlk7q601x4";
+"hyphen-spanish.doc-5.0"="kznsqnkm7dg2rdpisil38syyvs6fs0j6";
+"hyphen-spanish.source-5.0"="lia19yzmwyz4fsbnrca8al43hfc46i55";
 "l2tabu-spanish.doc-1.1"="rc7058j31za1cg1ik27b6gcgscir9bfk";
-"latex2e-help-texinfo-spanish.doc-2019"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
+"latex2e-help-texinfo-spanish.doc-56291"="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-2019"="z5587h7b2hinylyp173y02bm25dlr8nx";
-"2up-1.2"="qd90xqk7f4p9mgp53yid9rixhhs11ns3";
-"2up.doc-1.2"="gv5blpi2xdbjdi1i2p9j6gz2qzr14d9p";
-"ESIEEcv-2019"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
-"ESIEEcv.doc-2019"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
-"ESIEEcv.source-2019"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
+"texlive-es.doc-54465"="qbhp4jz17w79iylcj1dxv5n7zlqrn9xk";
+"2up-1.3a"="rsqrw98f4vzfx8vbj35pws9xl2q4gp8s";
+"2up.doc-1.3a"="ir3nkw2344mn9k22d1mi28gjrgld4kkb";
+"ESIEEcv-15878"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
+"ESIEEcv.doc-15878"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
+"ESIEEcv.source-15878"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
 "GS1-22"="2fvvg7l5g84vhg88mzaa6x16p13pp34c";
 "GS1.doc-22"="bsdamqnalwikpldq94f035nh849vjb2h";
 "GS1.source-22"="gzg5ynawvwr24sl31f85q7ksinaks3a8";
 "HA-prosper-4.21"="kbj26h7zvc9v5l330s2hp63l44vrn09r";
 "HA-prosper.doc-4.21"="hpj2qljnhi7x2prcwnra1ycfzazhnqsz";
 "HA-prosper.source-4.21"="wlzyr02pardayic4598mc0v6mks9dcx0";
-"Tabbing-2019"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
-"Tabbing.doc-2019"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
-"Tabbing.source-2019"="pifazcagjavajck7h6a0kyvnxxk90k8y";
+"Tabbing-17022"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
+"Tabbing.doc-17022"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
+"Tabbing.source-17022"="pifazcagjavajck7h6a0kyvnxxk90k8y";
 "a0poster-1.22b"="dkwb9gdxv3jxnw07ji0ydmpqa0fgy6mh";
 "a0poster.doc-1.22b"="bn6j9nsmcri2irby7njhbdlpgqqaic0x";
-"a4wide-2019"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
-"a4wide.doc-2019"="vb90v0v79l34fr86i7hzx787ndyq271w";
+"a4wide-20943"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
+"a4wide.doc-20943"="vb90v0v79l34fr86i7hzx787ndyq271w";
 "a5comb-4"="sc874hfilkfjjv1aw8qnf36v5jkhd6s2";
 "a5comb.doc-4"="gsp7dsbhk6r2q332apbqrx29mna85dhs";
 "abraces-1.-"="54c3kj96d3symq8nbzrns0pf1200jm5z";
@@ -2868,17 +2966,14 @@
 "accsupp-0.6"="i0h4pn8qqkckrhmlfhyvk1caz2l68sc6";
 "accsupp.doc-0.6"="2p2rh18j02n4jk2g08fryx42r9kvm2bp";
 "accsupp.source-0.6"="zkcpasgn0nv8i285fwrb1y954s2n1yxv";
-"achemso-3.12a"="3psjpzbhsk0ynd3xiq0pqf4spk7klxl8";
-"achemso.doc-3.12a"="iqshwkgnwnj0p62g1aggpr2ydyzfpkf0";
-"achemso.source-3.12a"="v0v78aapbda91dcb71k5q2ld26x5ybci";
-"acro-2.11c"="5vaxlf3kd5221fbfm6zjl8iqkxaiiajg";
-"acro.doc-2.11c"="lc0m63ljlbw2bv0s361v20477mrmhgm8";
-"l3packages-2019"="vw1xghbhhfz1p59wf02w27fzj5wyp0f4";
-"l3packages.doc-2019"="3ghr4k7mdmxbbx3pnsxmyd6zmicj7gif";
-"l3packages.source-2019"="mh6211xd88np3cjb10q66lwvdnwm0dp0";
-"acronym-1.42"="38ldvv9il1973xdcc1rzk0ps7cgp6j21";
-"acronym.doc-1.42"="wskc0pdzcdh5h6vp23f0sdywq9i50y1x";
-"acronym.source-1.42"="1badmd32yvmr8g7m0i3fws1b2l6x6zrq";
+"achemso-3.13b"="nmz9jzrfm4kp4961f869kcw5sziad7dj";
+"achemso.doc-3.13b"="4g9pj83kvpizdfhrz00ycwhw9rzma0nh";
+"achemso.source-3.13b"="zr5icfcmqvhadh0rlhf3c1knmrkr4iyd";
+"acro-3.2"="h63ir9a0mpg273kd7vzh72vwlsvrm5yd";
+"acro.doc-3.2"="4dg6dmb5qgc46frbjqpv2wblya84716m";
+"acronym-1.47"="6471snmy26zvq7gh9lswa4fg0zp94phd";
+"acronym.doc-1.47"="3z4ps2hfi959q7dazpjrj02icpbr69g9";
+"acronym.source-1.47"="2sbaifpka4p220fd9dlbvzbp92vg971w";
 "acroterm-0.1"="04m91cky6cj3jv546mdf6461bdg6sfkk";
 "acroterm.doc-0.1"="jnxcd65y58xrqg0cfg7y0m8yslbj7xi8";
 "acroterm.source-0.1"="w99kkypzq7c73rx4rv4m917c68vnan00";
@@ -2893,17 +2988,17 @@
 "addlines-0.3"="gaai0vyqwnm0k02r5kvnxgd4gx32nkbd";
 "addlines.doc-0.3"="njifyb95qrwhhcgaa250vlq2y1a8pvrg";
 "addlines.source-0.3"="m8lhgdfwarlkrwp2nqpdaad7mpi3rszp";
-"adjmulticol-1.1"="pql48y74ir0kniq2zyygqb9yapjj226d";
-"adjmulticol.doc-1.1"="23awvvvy86j9vwzw52yn4404s8acq7wl";
-"adjmulticol.source-1.1"="svlpk0df2c9nh50p8a9fl15bh4an3g05";
-"adjustbox-1.2"="6qf2dmv05q1vz6v2v9x9w67m3z06gzq2";
-"adjustbox.doc-1.2"="m2wiir1pma7j7cxglc5np6vmzcq304r8";
-"adjustbox.source-1.2"="frv0frx11g0pqy8lj80sk7i0r4hj9g7i";
+"adjmulticol-1.2"="fd21wgsbpv4km7r24529cbja564ha0x0";
+"adjmulticol.doc-1.2"="73sv27k6y42306mfi8rglf53kz8an51d";
+"adjmulticol.source-1.2"="3bqrqpbh7y8k0a9wgib14v0k7pa63qyx";
+"adjustbox-1.3"="6xk50giqn497r2dh88nz6r91fr83b7fz";
+"adjustbox.doc-1.3"="qzzkgppkai6c29n2sdwgg019vy220s7p";
+"adjustbox.source-1.3"="nxaiqbdxwj21v7y53g5l1i8qnd1frxbk";
 "adrconv-1.4"="jm0wy6794p7idv2f1ryhsm2v9wr9d5ar";
 "adrconv.doc-1.4"="jyn0sjir5pp69zvlabyamihnlsav24z4";
 "adrconv.source-1.4"="v31vh22mrhxqq4h88rvj97a9n0wc9bmw";
-"advdate-2019"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
-"advdate.doc-2019"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
+"advdate-20538"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
+"advdate.doc-20538"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
 "akktex-0.3.2"="6mhzn5d98q6vmxp8vjbmb6i26x9zja3g";
 "akktex.doc-0.3.2"="z43q786v20515sgsp4dh5lii0pfa620r";
 "akletter-1.5i"="7i7x6692i5zicjsrp51cvx8sivm1arpw";
@@ -2917,24 +3012,22 @@
 "alphalph-2.6"="8bavlk3mbi1c7k1nh3hy1j5icrq8chfj";
 "alphalph.doc-2.6"="3lqasr06fpc44cd88c3y7xq9v8fs8p61";
 "alphalph.source-2.6"="1f1c5lq8nhn6liff0iwh4wh9cqi498wb";
-"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-2019"="zkpbk2n7sisma690gb6ysdij6c3b726s";
-"animate.doc-2019"="nq6wxg5l8yd3kf4n91b2qnzyrjqnlbnj";
-"animate.source-2019"="2f4dqy5fj9p81skb8b10xl767399k03y";
+"animate-56583"="nsp8xdb9p3yazcbxvkymjf47j6hjy6s1";
+"animate.doc-56583"="6h4g623xklpyl4j3wsbpv57hqc0l9zvp";
+"animate.source-56583"="9gbzqi8vmy97rczriqwks53dpikk3dz6";
 "anonchap-1.1a"="qpazykls2jy7nqpqkaqvyi35c2ajz0qg";
 "anonchap.doc-1.1a"="3xy9r4p9f22fjdvznba1jjp09gbkvvlr";
 "answers-2.16"="isadn9v17ma5krfq4hm304nrdc8kx7dd";
 "answers.doc-2.16"="3ma0j6diq2zp7k547zp6ilbynsrkw59d";
 "answers.source-2.16"="7w1nvr73ndj7c545xps8h969q4z58gji";
-"anyfontsize-2019"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
-"anyfontsize.doc-2019"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
+"anyfontsize-17050"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
+"anyfontsize.doc-17050"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
 "appendix-1.2c"="50wvmi5y3wgka55dnb2h9gmr70y48srs";
 "appendix.doc-1.2c"="b2xkv7kzx6vkhhr0figba931ma6q455b";
 "appendix.source-1.2c"="8xs50dfynih6q9zgydgp9p4vr67ad3p5";
@@ -2962,11 +3055,11 @@
 "asciilist-2.2b"="fvd111ywjyrwy897z4bmcby9ymnxcvcc";
 "asciilist.doc-2.2b"="i501s6jaq79nj93ckccihgkv4ca5pn7i";
 "asciilist.source-2.2b"="zqmygnlbfyz70y446mcdwpd9a3bszhl2";
-"askinclude-2.6"="6dvhdz8cczxzlimmlm96d88q2s03ang6";
-"askinclude.doc-2.6"="yqkskb8x60xpjm6n00igr54lk39hqmc3";
-"askinclude.source-2.6"="f3mwswcypj7vnj8cr42wcvry40qzyqmv";
-"assignment-2019"="f5a0sprx94bby245g2cfycrrazgp00k7";
-"assignment.doc-2019"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
+"askinclude-2.7"="nbmjzdp012vfp3bacig7s927dv809gfv";
+"askinclude.doc-2.7"="6d5srhwjkdz59qvff285fqfl3v9dlmng";
+"askinclude.source-2.7"="crcq42ba162v61fh3n6bi6rvsa8ap1z8";
+"assignment-20431"="f5a0sprx94bby245g2cfycrrazgp00k7";
+"assignment.doc-20431"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
 "assoccnt-0.8"="6bikcn3hf37rs2wp84f9h8nf81z86hr6";
 "assoccnt.doc-0.8"="xb17k2w0skjxh3cw3hag91m5cjxj1vz9";
 "atenddvi-1.4"="6ygnmbsi6bqj2z0vawx65snrkqlmbidg";
@@ -2975,14 +3068,16 @@
 "attachfile-1.9"="vmyp7ywfqli6yzs89419885jac9x0yql";
 "attachfile.doc-1.9"="f076ljz64r8ck1l9cz5g7xypm92jb9qs";
 "attachfile.source-1.9"="j93ivs0jy4n52a18gw0icmh0ffsnm1j4";
-"aurl-2019"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
-"aurl.doc-2019"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
-"authoraftertitle-0.9"="6mqbsmy9gg6qkwgihzapa0xnlqyscz4z";
-"authoraftertitle.doc-0.9"="64j4gkrz0i7bwah7s3dazi1nanw6dfby";
+"aurl-41853"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
+"aurl.doc-41853"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
+"authoraftertitle-1.0"="7wliqivlz6fmz6szddzamm781qgd3r7h";
+"authoraftertitle.doc-1.0"="i7b4wwdfsw0ydra2pvvr4bnsfmwbjkdy";
 "authorarchive-1.1.1"="capg6s6r2w20kazk5dh2dqfbxl6246zh";
 "authorarchive.doc-1.1.1"="bzs7qr0gc2sgmsb39q4d46l4f5d55cp7";
-"authorindex-2019"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
-"authorindex.doc-2019"="d1k8irgqp5vac8ggq66ivcxxgv8q410x";
+"authorindex-51757"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
+"authorindex.doc-51757"="d1k8irgqp5vac8ggq66ivcxxgv8q410x";
+"autofancyhdr-0.1"="mh48zz2m9p97z2d0znxv7myxjkcfg0wg";
+"autofancyhdr.doc-0.1"="czkfsiazwf0ybhgknzabxjwq397pd0fk";
 "autonum-0.3.11"="z0mz6nrw3s9661lc5s983bj7qpfg9ns3";
 "autonum.doc-0.3.11"="ghxpr5ayzxq1w6v3wy0hqvkfy28n9slp";
 "autonum.source-0.3.11"="5fm5vfmi11jqdgqklj6zmc90vw3vqiqp";
@@ -3007,33 +3102,36 @@
 "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";
+"beamer-rl-1.4a"="hscab7hr2f8dgc3pqpwqxyx6x8zb6m9p";
+"beamer-rl.doc-1.4a"="b66rx88zi0i49bbs2cj138ym7kwd7gcv";
 "beamer2thesis-2.2"="64a0v9a7xr9yi4ffsbm98s058hkmq9wg";
 "beamer2thesis.doc-2.2"="5ypn90w572jlw04xi4vzk7pxxsf7ciwy";
+"beamerappendixnote-1.2.0"="vvcnya52knjsyjg7q72y5hck3mn4yayj";
+"beamerappendixnote.doc-1.2.0"="z671llyrbspkd3mhygsb45fhsgcxjy48";
+"beamerappendixnote.source-1.2.0"="fxgc3dhb0af88q84s2947dz58gwbj00s";
 "beameraudience-0.1"="3zc39f4qsyqi4204k4a5n9pksf6gk3xl";
 "beameraudience.doc-0.1"="wkgcr8dyl8ywxwpdc5h8p96dsw9l229y";
-"beamerauxtheme-1.01"="s3lirw6yl6ir8z6z9iq4pfrbwdcq7yp8";
-"beamerauxtheme.doc-1.01"="a76wy5dqlsv25w2f195jk385j25dk4wg";
+"beamerauxtheme-1.02a"="f6fs70zhyj9hiwpq17h593l71s2r2219";
+"beamerauxtheme.doc-1.02a"="zzja4whim0800pbryihqyqy3xhzwj8is";
 "beamercolorthemeowl-0.1.1"="7b8qfnqjliwvms89bn4mxhjqf8sppadi";
 "beamercolorthemeowl.doc-0.1.1"="dh55h6vzmjlxlwn7wz2b6c2c27c4qjki";
 "beamercolorthemeowl.source-0.1.1"="ppxb50mii9mgch0rzm26npxl99a93c42";
-"beamerdarkthemes-0.4.1"="nw30s7g9lid7b9vmabvnj3z5g22nxgv6";
-"beamerdarkthemes.doc-0.4.1"="kygvsh50b3zi88h51ajnzc3c0xyzb5mh";
+"beamerdarkthemes-0.5.1"="kksw37ml5mq90c3nrl2fk1jn84ynizxz";
+"beamerdarkthemes.doc-0.5.1"="z3ijc965ygx8a2wqpizphjhmbxkvz1m0";
 "beamerposter-1.13"="cd6wdcxrci6lc2kj195bwsi5yfddk3zw";
 "beamerposter.doc-1.13"="1hp6dbynh3gbrn6gsz54rihdzzr8pjii";
 "beamersubframe-0.2"="m8capqp9nc8mbi9xdzkz89nnz41972v4";
 "beamersubframe.doc-0.2"="y5m8y5zkbzi553hp8maav6g6a42iklfr";
 "beamersubframe.source-0.2"="kw2rnly2zyqw1ap5g9gkv2xchpvbk7gr";
-"beamertheme-cuerna-2019"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
-"beamertheme-cuerna.doc-2019"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
-"beamertheme-cuerna.source-2019"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
+"beamertheme-cuerna-42161"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
+"beamertheme-cuerna.doc-42161"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
+"beamertheme-cuerna.source-42161"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
 "beamertheme-detlevcm-1.02"="25f0c66nnhq9r0qrqf186rwqvifzi4nj";
 "beamertheme-detlevcm.doc-1.02"="5yh3kypxg8cjr8vqy04k1ad1agnlq047";
 "beamertheme-epyt-1.0"="1g3593pcp0b4k9lacp4c0afs7jzffa9b";
 "beamertheme-epyt.doc-1.0"="al12nh23v6l4lfa4616zzivldc5jfkjy";
-"beamertheme-focus-2.5"="fdc828c1rqx6dv1qdsnswlrbg8hv1s5y";
-"beamertheme-focus.doc-2.5"="gbbsmdhrpw8bxdmwj088hs5dk0gkjrzi";
+"beamertheme-focus-2.6"="lv5yfs1bhgzg70zq4bzj51pr4z1cka1x";
+"beamertheme-focus.doc-2.6"="a4gfchd3sgh1bcvc5llcib6dzaa32i7c";
 "beamertheme-light-1.0"="9vz0g593s4ykwasfky58jqq6h7a95p12";
 "beamertheme-light.doc-1.0"="dvyzvi4hl69xvvgbhdbp5ax2l3z68nck";
 "beamertheme-metropolis-1.2"="g062nnxl4v5951xq2xa4smkdjq6v2xpk";
@@ -3043,20 +3141,24 @@
 "beamertheme-npbt.doc-4.1"="dzjby8rnpsgll6gvab9cslziqszhd4zf";
 "beamertheme-phnompenh-1.0"="01nbk38jh4hxk8vykf37x6bhnb55ijdb";
 "beamertheme-phnompenh.doc-1.0"="p0nj4cqg4vaaq6wlycicz0xbl7391lwp";
-"beamertheme-saintpetersburg-2019"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
-"beamertheme-saintpetersburg.doc-2019"="9msrd7ylkwfg6ijdx3rddcl143p17383";
-"beamertheme-saintpetersburg.source-2019"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
+"beamertheme-pure-minimalistic-1.2.4"="r3kxc6gbrhal87wl85xbck483sbf2w76";
+"beamertheme-pure-minimalistic.doc-1.2.4"="54r3rj2vha4amqk7mccqir896fx35m6f";
+"beamertheme-saintpetersburg-45877"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
+"beamertheme-saintpetersburg.doc-45877"="9msrd7ylkwfg6ijdx3rddcl143p17383";
+"beamertheme-saintpetersburg.source-45877"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
 "beamertheme-upenn-bc-1.0"="i535al38gpn0j6mhixm5g6vnlj7gi957";
 "beamertheme-upenn-bc.doc-1.0"="s7wxbnlgqxwpabb06jc5nawxm40bnia7";
 "beamerthemejltree-1.1"="iqjiwv4v9vp84a3cjjmv5gxygyclw5c5";
 "beamerthemenirma-0.1"="jix18byykz4n2mqcipf60pskfjlj3ini";
 "beamerthemenirma.doc-0.1"="llvppchvbd0zz9cl3lpswghs8hjm78rq";
-"bearwear-0.1"="v7iz5bjra8gshp9bv350kxkjj462r9cj";
-"bearwear.doc-0.1"="hzh2n85cajkb3saa3hjvl3xhbml0xvwd";
-"bearwear.source-0.1"="kfg81v58wgfnahrlh6srs7fj6ycgr5ch";
-"beton-2019"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
-"beton.doc-2019"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
-"beton.source-2019"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
+"beamerthemenord-0.2.0"="5yf01l6cjhjsjd6a7cr7fgb06q0zsam4";
+"beamerthemenord.doc-0.2.0"="g9zz702frvpvfsd4gsdrsmy7zmcmdnp5";
+"bearwear-0.2"="qhsma9q7ijwa5f044f2j3ycqf142yy5b";
+"bearwear.doc-0.2"="nw04s1cxs952521d77iw69lvjsgbz2pr";
+"bearwear.source-0.2"="g52pgqfvx9argj6pdigp3hq8ymxivnah";
+"beton-15878"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
+"beton.doc-15878"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
+"beton.source-15878"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
 "bewerbung-1.1"="kb947mnv03wjc8ja8k402inijnplk1vy";
 "bewerbung.doc-1.1"="mv9vrqp8g689cvbwpm3xkczk98s1blas";
 "bewerbung.source-1.1"="w8z7h0w0ld2dd88a0yhp6p6md8hn7kkh";
@@ -3071,8 +3173,8 @@
 "bigfoot-2.1"="i4hdv09y0blcrbhk554ilzc70fv19242";
 "bigfoot.doc-2.1"="ixi0hkjrzg740q3pkp9lwrq43ab1f006";
 "bigfoot.source-2.1"="jp9h2p1j46ha7ksxvh3d6rmxr0832r1w";
-"bigints-2019"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
-"bigints.doc-2019"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
+"bigints-29803"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
+"bigints.doc-29803"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
 "biochemistry-colors-1.00"="fvz3nlqi6y12g5pcyh118l6vjbw5kz2i";
 "biochemistry-colors.doc-1.00"="r7n07xkk4ixxk9zhz3ffkg7kqsz0i8fc";
 "bizcard-1.1"="l59w5wy3djx28g5yw2ywagi5am258bry";
@@ -3083,8 +3185,8 @@
 "blindtext.source-2.0"="dr68k54p44vgwp3rw9d1khc733k4apah";
 "blkarray-0.07"="djcla33mmskp42qbf8qg053p34515x1a";
 "blkarray.doc-0.07"="7iy0ssb4spk30f5janvknnhl91csvmyk";
-"block-2019"="b75bd0f6imd8svp869g4j3q2q02pilpp";
-"block.doc-2019"="gza7j45w5qixk19px05wr4q67m4lzhkl";
+"block-17209"="b75bd0f6imd8svp869g4j3q2q02pilpp";
+"block.doc-17209"="gza7j45w5qixk19px05wr4q67m4lzhkl";
 "blowup-1.0"="zhslxr7v04yhkdssranpiwpql9z7xsrf";
 "blowup.doc-1.0"="paw88yvcal35rq5wpfxm5s9hlsyz6z86";
 "blowup.source-1.0"="kmbxfjca3pwppfhklyhg8k5ddkxg8r43";
@@ -3104,32 +3206,36 @@
 "booklet-0.7b"="fkicb41vlz1m3spn6jf9g1dk28f22v7i";
 "booklet.doc-0.7b"="c8y8mxy7hv7qmp7a8bib37vi3xy2pfxx";
 "booklet.source-0.7b"="h46d62nvn4gnnj26bkd5h8m22s0jld8s";
+"bookshelf-0.5"="3dnqq00xpzl0w5ivggqx14a931gbrs7x";
+"bookshelf.doc-0.5"="jdbx79b2c0mcnjz7126lb4w2zpxx9ck8";
+"bookshelf.source-0.5"="6814jnc7bsk40fj46mn7i72i2p1wgpdk";
 "boolexpr-3.14"="acxia88jpd7222wvkr2fwxr48vl33nzz";
 "boolexpr.doc-3.14"="n6rs3hgfaz36fblsz28pshnlhvj6l51r";
 "boolexpr.source-3.14"="gbggikjrx8p47w9zs921k16qx8jq6gd8";
 "bophook-0.02"="l3ljpnwkgsrb646j19kxb3qk51azvzz5";
 "bophook.doc-0.02"="nkpvwq471wzz69vlrwhpvsfcz6w9fbbc";
 "bophook.source-0.02"="s9ybhy14wz90vlffn96y0bzh9f9202p0";
-"boxedminipage-2"="rafdlhvk5v8c9r4ajh4iy32x2r2lpv3p";
-"boxedminipage.doc-2"="6bjh7glkpkpfzsmn9np9ldhk5gsv93cn";
-"boxedminipage2e-1.0"="vrria5lbnyz2gywww0hg7cqm14mzwjmi";
-"boxedminipage2e.doc-1.0"="hmdvly5576aynqybq3p47520x3cjjkgj";
-"boxedminipage2e.source-1.0"="qywgphrh766880xy4xsfs0p1g0fvkpxj";
+"boxedminipage-1.1"="94amgb6anrixzngmc6iz4752nihjxq7b";
+"boxedminipage.doc-1.1"="vwifjz4ndsc3vw7hzfcib0wrjjgq977s";
+"boxedminipage.source-1.1"="zik88vcqpmddr0nscymcf669j0bwkk34";
 "boxhandler-1.30"="j2q8bm858c8qm335w67g0kr82vnigjjl";
 "boxhandler.doc-1.30"="08260asli77clnhfnj1fxff5bbgicac7";
 "boxhandler.source-1.30"="0s647gs05wi22qcrv2zsb8x1713yhf1w";
 "bracketkey-1.0"="4l5l8s1xcwhlkaq50spccp2z90lm161f";
 "bracketkey.doc-1.0"="500h9kzvrkkqj22622hr4a78d6mz94jm";
-"braket-2019"="ck5gh00qn839wsxy2qili0184vswy0br";
-"braket.doc-2019"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
+"braket-17127"="ck5gh00qn839wsxy2qili0184vswy0br";
+"braket.doc-17127"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
 "breakurl-1.40"="lsl2j1iflzhwwapb03s5hg137rynjjhl";
 "breakurl.doc-1.40"="rjyrmhd32w912qg9wd4qxc9q46kg8qc3";
 "breakurl.source-1.40"="lpxb827p465qc14c38rk14jrzag7jfq6";
+"bubblesort-1.0"="i2z21xh8cmsldiv9cs6xr6shwlyqb48i";
+"bubblesort.doc-1.0"="s849r13af8zz7m6h12qdcj72j24wqbcv";
+"bubblesort.source-1.0"="ps2dm6k0y8k66gxsw97wp7saplgs7raa";
 "bullcntr-0.04"="w4fxp9fvpbg882yb855sl4b6w8fypiyy";
 "bullcntr.doc-0.04"="l1p8zz226qbnzmx4n78xhjsrc26z7jxw";
 "bullcntr.source-0.04"="6lw02qi8iyp3qph7yaycfm5p1q6l71r3";
-"bxcalc-1.0b"="87gn179ih5gfhbdig83kipyhaww8mhx0";
-"bxcalc.doc-1.0b"="9zpmdfhd3bp9iydcszn5pj79l5rpv342";
+"bxcalc-1.1"="zmqgp92kdip1cbs43hq1rwpfdflr7c68";
+"bxcalc.doc-1.1"="1zlvw9fd7zibh9cmnpk8l9ziwar6ns0l";
 "bxdpx-beamer-0.3"="q07kpnmln2v70w83z91vsk53c0i63x02";
 "bxdpx-beamer.doc-0.3"="8ynjsgbyifkvz27qp8j4nrfk3pryphdf";
 "bxdvidriver-0.2a"="f6ndmagn10ax4hpmlia649f7c14hjkgx";
@@ -3138,10 +3244,10 @@
 "bxenclose.doc-0.2"="9i72bmx63c76m7gc7qavv228g1afrnq7";
 "bxnewfont-0.2b"="42kvrm0ag8zrxavfijin59k9sg3akhhp";
 "bxnewfont.doc-0.2b"="wxkcv5hklkzxs3xsw28z0bknq0sjjhsy";
-"bxpapersize-0.4"="ac5kj0q162hag4q4h5sbbp86i9s7rkky";
-"bxpapersize.doc-0.4"="941fxl6638yxkc826a5hnispxz24z7ik";
-"bxpdfver-0.4"="rcizp6hg0bir8rf3njqc66kjcm7c9nic";
-"bxpdfver.doc-0.4"="nj6cpbjw4paw12ggkxg28nm1wj076dlb";
+"bxpapersize-0.5"="a39v65wwyrz0wfl845cvk1sbnki84l61";
+"bxpapersize.doc-0.5"="z915b4vspqsbzdvihvkppcmrc8j3758w";
+"bxpdfver-0.5"="866glvcmwixwqbm3zjcz4mcv3wv9vfql";
+"bxpdfver.doc-0.5"="xl47xcxbakl5fgnbahgki64bdysfw930";
 "bxtexlogo-0.4"="5czz5b638x3h3gpyb2n5si8py53gwl9v";
 "bxtexlogo.doc-0.4"="51msprgb7p49x3lhk4cr65ay7dpzq5d6";
 "calcage-0.90"="4yzr1l7jhng80xs4n1vavaks3d8cjr49";
@@ -3152,8 +3258,8 @@
 "calculator-2.0"="z44sdp5jlkqywi01c1x7ly2yvzkx1h9w";
 "calculator.doc-2.0"="dwb0bhngsn0xk56gnil8wbaj5dv7v0yr";
 "calculator.source-2.0"="3m4b364wkgfvxyc8y20rg8c7rh22rhyd";
-"calrsfs-2019"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
-"calrsfs.doc-2019"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
+"calrsfs-17125"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
+"calrsfs.doc-17125"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
 "cals-2.4.2"="0xq2pylhs1gl542s86wm23nynnfzk188";
 "cals.doc-2.4.2"="yq4wig26r1cadd3kxg5bfraig4axvyvd";
 "cals.source-2.4.2"="fshbdf6ljfy0c7kdcvz5kyinysplcj86";
@@ -3161,21 +3267,21 @@
 "calxxxx-yyyy.doc-20.20a"="qpasnrbn64r5ha4sxkgrdfrljqjprjvf";
 "cancel-2.2"="gq061h1xf31ivc5zz1wqk7c457m33amn";
 "cancel.doc-2.2"="24zhq0iz9iqwm1lnyd6zgzc7dsg9b1gf";
-"canoniclayout-0.4"="hk30976j3lql00w0rj481p8j6z5v69yk";
-"canoniclayout.doc-0.4"="gyr8yvdm21p45qqdjin8abq3v0kbh1lw";
-"canoniclayout.source-0.4"="0bqpq8mn7n7223ay0gfrq3dcpfzkxalc";
-"capt-of-2019"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
-"capt-of.doc-2019"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
-"capt-of.source-2019"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
+"canoniclayout-0.5"="vg54aawlapxdw0dp8s7jinkl16jd8n6h";
+"canoniclayout.doc-0.5"="cnf6kxlminyfh3k6qyj0lfgxrvxa19j5";
+"canoniclayout.source-0.5"="dhqxmnl78zscvl2wgyr9y5qr1fhmqajv";
+"capt-of-29803"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
+"capt-of.doc-29803"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
+"capt-of.source-29803"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
 "captcont-2.0"="5s81zvby8iq2l0j4bkz99s56w0kvc5pf";
 "captcont.doc-2.0"="ivp30a2jxrnp8zivmdm61nn0i25kiarz";
 "captcont.source-2.0"="bgy7jzbckqnajp42hy4x31dvb01cjm7s";
-"captdef-2019"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
-"captdef.doc-2019"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
+"captdef-17353"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
+"captdef.doc-17353"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
 "carbohydrates-0.1"="x4rj3x70sfcdgq8sd8yv2486khxip4wz";
 "carbohydrates.doc-0.1"="lp5y1sx5s74px1x03366lpn676vhl6c9";
-"cases-2019"="5w83n62yi8pdchdqy0zkp1kv6vqv6ck0";
-"cases.doc-2019"="b9lgwvqfdznf98956xm0d3xgb434v8b7";
+"cases-3.2"="qnmps08pjcipmj0fghr6sjmkm5r6gx6s";
+"cases.doc-3.2"="kg8k67grlxq0cipm3mc3sj1k12pl5qy0";
 "casyl-2.0"="4px818jfrl4q6fs2p7sabq1pihzvnsw9";
 "casyl.doc-2.0"="dcw7gljkwgkgsv1l6g6680mawm0x8sby";
 "catchfile-1.8"="d5yb62s7q2pbznla8nifhaih623myzrs";
@@ -3194,9 +3300,9 @@
 "ccaption-3.2c"="4l3kxgc46z9i4lrm479ghpv7d0077l07";
 "ccaption.doc-3.2c"="qm6lh4nrdndp4vivy815ajpj9jj4w433";
 "ccaption.source-3.2c"="fdfpz99x7z4avqx1q4nrydg3r4csq4fr";
-"cclicenses-2019"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
-"cclicenses.doc-2019"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
-"cclicenses.source-2019"="hgm5y1054596k129p6j4s86kv0m0ky76";
+"cclicenses-15878"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
+"cclicenses.doc-15878"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
+"cclicenses.source-15878"="hgm5y1054596k129p6j4s86kv0m0ky76";
 "cd-1.4"="34nj75mgz2mzxjbmpik2kvqhmwdmbw71";
 "cd.doc-1.4"="i7230mqkczs0b3nczmf3gkv8z0bx61mc";
 "cd.source-1.4"="h5plih2dk6kk9klc7lwv5gpx88apljlj";
@@ -3206,9 +3312,9 @@
 "cdpbundl-0.36d"="hf7h2yz4c0nydnrhdwl5jwxbzhqxv7mk";
 "cdpbundl.doc-0.36d"="5csmnns276bpm80l1iipvanggljgjq6m";
 "cdpbundl.source-0.36d"="hzg9ax2jn65b0rq2afqfxh1pk1rcvlg9";
-"cellprops-1.6"="j9vh3ffv6rnqj0zii45vxii1y2hcl9p0";
-"cellprops.doc-1.6"="rcv1mrcc7miy8wdf6372qdw6mzp0kf3q";
-"cellprops.source-1.6"="frqyqhc1zzlbf057a0iadrgi36knasry";
+"cellprops-1.7a"="j5ncn316ii3w00m1vs3rxxy6hjqhngnj";
+"cellprops.doc-1.7a"="7r1vlhm626pqdcdjs386dsmqm44kw3h7";
+"cellprops.source-1.7a"="z5lk054r2rci54q292iq26cw6mhdpax9";
 "cellspace-1.8.1"="kngz1r2b59j5437zpz0kl5xpjwci8xra";
 "cellspace.doc-1.8.1"="jn3r4y6idf7ml45vp3q1hd2rn58rbvld";
 "censor-3.22"="6125pgg2a5pj48w6md4vzyi3cnzns4yx";
@@ -3220,14 +3326,14 @@
 "changebar.source-3.6c"="xi3ldcm33mq6aa4jad2sfv7g58kwg0p3";
 "changelayout-1.0"="sx1afd6zrrl7jk40van0mwbf1ks7z6fk";
 "changelayout.doc-1.0"="lw4yjf3h1r2qr24b3s98rkm0r3ybdwgi";
-"changelog-2.1.0"="pcrl1awmrc771x3q1643nwv4cjl99mzj";
-"changelog.doc-2.1.0"="rfzl3nl53j2cp7mbc2plfwff741x2q0s";
+"changelog-2.4.0"="gxr8r8g0vzk509sqvxllh0zflba5fbni";
+"changelog.doc-2.4.0"="w1is1zgnbs7y7xa6qcmaf5rgc1w5bz0a";
 "changepage-1.0c"="s3dd0v3z0g8v74i6cnasyaa70wnqiimk";
 "changepage.doc-1.0c"="g63jqnyrkc74dd9ksi0s7pbxq7s4dzwb";
 "changepage.source-1.0c"="0ck3lyl2kzvm1182hmw88ni48paff7aq";
-"changes-3.2.1"="9cah9p1jvfmqmjgm5m72i3ahy4kaacpq";
-"changes.doc-3.2.1"="z7rc4i3ivf72bqd42jlg7r7aqrh7502z";
-"changes.source-3.2.1"="6pizd4vc5c9kb6639q9cq24yks4d5x4j";
+"changes-3.2.2"="10bbvpizk6jxfdijvww4aryal9x40ypm";
+"changes.doc-3.2.2"="md4423gvmkzmj5bb67jdgryasll4pkf8";
+"changes.source-3.2.2"="mh875vhxdgz8n003vc8bzkafgrwpw8pw";
 "chappg-2.1b"="231kpsvxwdnmakq4mkca0nisqdl622n2";
 "chappg.doc-2.1b"="nhh2f6k2z5gh449b91fmxnvh359n9adw";
 "chappg.source-2.1b"="74f8nr6m6ssdqxynrxl2y4za3rmj9sd2";
@@ -3263,35 +3369,32 @@
 "circledsteps.doc-1.3"="b4q2r072dkzgfd75mj7av60a5v6fah1v";
 "classics-0.1a"="as59hrjhv6vnw9dr4pghhx8w7kmab8kf";
 "classics.doc-0.1a"="2gbi1lmx3chdd848ib2wbsx8bcmzg44a";
-"classpack-0.77"="dybfkvi6ykzw4s03xgz8r7n88xir9zzb";
-"classpack.doc-0.77"="390v2v6vabq679gr2yqvmyq26x6l6lz0";
-"classpack.source-0.77"="mr188ykwygc0gsznl43vlbx33wa2imyd";
-"clefval-0"="291n2xdsripyiq6zskxqdca5gn3ajfj5";
-"clefval.doc-0"="s9mvnhb1w1q61igbrvbn4fi4hannpx2v";
-"clefval.source-0"="l73m1k6wksnfqwd1jiqjksvdpwwp9k1q";
+"classpack-1.19"="hdmx3wk4ji1l2rzyhrvsl4waiy3bmlpg";
+"classpack.doc-1.19"="dl6zzq4cqjc3xhc8m2y7fmz2jdgzl7pl";
+"classpack.source-1.19"="drsgpzskdxa2rjy94sx75sdkcvnwpwk2";
+"clefval-0.1"="kxn3k2szmgvw773f2x826f8vmf8zdrl1";
+"clefval.doc-0.1"="xgnkici53d8mlg38k7b0izwvx0xkn82s";
+"clefval.source-0.1"="qkjh9803i88540p477379yl95b1wyhgx";
 "cleveref-0.21.4"="cl7sns14fh7jw87sz45rf4v2yrwqyh2g";
 "cleveref.doc-0.21.4"="9bz4rlbh25z2csnngs9ij9mrqazfq2wr";
 "cleveref.source-0.21.4"="7kvgpyz07knv09q52aplizs5zk455csy";
 "clipboard-0.3"="flll7lf5hy4hysxg3ppaq8ygzqsan82y";
 "clipboard.doc-0.3"="n4lc7mbwwxahicb51214fzgh5j2iyqhs";
-"clock-2019"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
-"clock.doc-2019"="prj65yh580yg74pckacsr432rki2nsl6";
-"cloze-1.2"="6aawammcpq8n2igbncbkip67ph5mapc8";
-"cloze.doc-1.2"="5lsz6hfblnzj9wjs7j43c07drsgv5mdc";
-"cloze.source-1.2"="x6gbbdxnvgfysjhv3xad83lfs9khg4f9";
+"clock-15878"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
+"clock.doc-15878"="prj65yh580yg74pckacsr432rki2nsl6";
 "clrdblpg-1.0"="rw9bphdh47x4kpwzil4pxvlpks1s4hz0";
 "clrdblpg.doc-1.0"="0brjv2dy10l0gy3sx6vjw3f5xq9h67bw";
 "clrdblpg.source-1.0"="7pcjrddv97fdsljj752n5gh9mygyl1ph";
-"clrstrip-2019"="pi8803gja6wyaq33syigff4s9zgrszph";
-"clrstrip.doc-2019"="y5j0z26acrhmfbrl2xln47zfynqvrfck";
-"clrstrip.source-2019"="whsy1grs9pgfbz2glsl4hb7vda69cnib";
+"clrstrip-53537"="pi8803gja6wyaq33syigff4s9zgrszph";
+"clrstrip.doc-53537"="y5j0z26acrhmfbrl2xln47zfynqvrfck";
+"clrstrip.source-53537"="whsy1grs9pgfbz2glsl4hb7vda69cnib";
 "cmdstring-1.1"="mzw3hf7xhy01j9irvvlba90hb0065p1r";
 "cmdstring.doc-1.1"="l2hjd47d6wmd07rnciadrbir01887nd0";
-"cmdtrack-2019"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
-"cmdtrack.doc-2019"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
-"cmdtrack.source-2019"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
-"cmsd-2019"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
-"cmsd.doc-2019"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
+"cmdtrack-28910"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
+"cmdtrack.doc-28910"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
+"cmdtrack.source-28910"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
+"cmsd-18787"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
+"cmsd.doc-18787"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
 "cnltx-0.15"="adx1n60b5dg15r60pr87nj8i979l23sy";
 "cnltx.doc-0.15"="603b8mxzm4cwj03wxgx5j1byhydv96qp";
 "cntformats-0.7"="v6xl1mkldlf6265h96m2q0bylifxhl33";
@@ -3300,9 +3403,9 @@
 "cntperchap.doc-0.3"="y2jdwmpp6r1w17svqw9iww07pi3blbah";
 "codedoc-0.3"="gva56ykkkr58q9gxkff6ng0wd5bk9by7";
 "codedoc.doc-0.3"="8w9r3z61w026a0zqmbsilmf4q382bvd2";
-"codepage-2019"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
-"codepage.doc-2019"="sv2vn5f4kcgzbg52233drja6705lcgcl";
-"codepage.source-2019"="4955x5b5ddysnx8bksmwsqhj1jy83991";
+"codepage-51502"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
+"codepage.doc-51502"="sv2vn5f4kcgzbg52233drja6705lcgcl";
+"codepage.source-51502"="4955x5b5ddysnx8bksmwsqhj1jy83991";
 "codesection-0.1"="mnsfhjy6j2ypxiwmwx85w2k2zyw928pi";
 "codesection.doc-0.1"="s2kwd6brlwa42pvhpjasx84s87vmbz8j";
 "codesection.source-0.1"="j94xngba5c8r55idfqgy7ra3imzkmg8x";
@@ -3312,41 +3415,33 @@
 "collectbox-0.4b"="2kxzzkgkgcjw80ff9n2mjnnfpxaxcdhj";
 "collectbox.doc-0.4b"="2xgqgni67w7q4ad0jqy4vr9wki08kn1g";
 "collectbox.source-0.4b"="szy9gprjqnkx357dca60120lvaiyyy8f";
-"anysize-2019"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
-"anysize.doc-2019"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
+"anysize-15878"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
+"anysize.doc-15878"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
 "attachfile2-2.11"="dc3b9mx6z10cv95vwi6a61cvlk5ca101";
 "attachfile2.doc-2.11"="wcw202snsfgf6g607h8xga4lsq41gg1y";
 "attachfile2.source-2.11"="0cp1pzdkn692vyav1p969v2snpc3dsw0";
-"beamer-3.57"="p5nvgliaj010mp3ll25al5i59jsl465i";
-"beamer.doc-3.57"="810mwi012vlailxyqh88fqq5znnvlccx";
-"pgf-3.1.5b"="2050mqhy0yr879p6g0jhq4a3fi9yawr1";
-"pgf.doc-3.1.5b"="32l3zdg4k2i8l8wbwxqhgm7csd4ml7yq";
-"pgf.source-3.1.5b"="axqhmadpaw4srzqcj65lg69dxjr0m45y";
 "booktabs-1.61803398"="4hkipcli3lx2rfz6nyk95vzhrli76nfx";
 "booktabs.doc-1.61803398"="41kkvglc6cpp7rkyrc4957rw9viwwlc9";
 "booktabs.source-1.61803398"="fn9dc22vsdrrw19a8p47h0ysla6j6w22";
-"breqn-0.98i"="pzakmaixv1adgk3jhqgbw7d1jkcqmxpm";
-"breqn.doc-0.98i"="4qjc9b2kn0n74dsykirgb886w3hgyq96";
-"breqn.source-0.98i"="b0wb1y40jbhfx3ha7pifik5fpz6lxk3c";
-"caption-2019"="ank9flrryargxl9pj0959qnzklm9fniq";
-"caption.doc-2019"="02s6kp8h9hi5chbx03iim3p1bsq9hng8";
-"caption.source-2019"="xnshivm17p1gk3bb0r8mhib95j6mcywm";
+"breqn-0.98k"="zxlvpm3140isqldavaiq93i62wx9fvd5";
+"breqn.doc-0.98k"="rq5wmm3nkf8dn5ai2fc9vbrnahb1aym9";
+"breqn.source-0.98k"="d6zijlq7xzciyk3xn1v5pbly5wxhd63m";
+"caption-56374"="irza4zki002sxhb3bqwrxylyl9yvy8di";
+"caption.doc-56374"="910jq53lg1dqgv2xafy3vfjs8afqzrzm";
+"caption.source-56374"="ssq3n46ifvbq3r42rjqvxrg9g9nyardi";
 "cite-5.5"="7vzh6m2dnlxwkiw62ifbyn9hx82jpgyj";
 "cite.doc-5.5"="d20p75a21nvifkj1f61fd9ah5580n2bx";
 "cmap-1.0h"="bky8rw1a9f00x6fzx611hgfcyf7d115f";
 "cmap.doc-1.0h"="c4d9810xs1va8kpbwaz53yb8111h7lq1";
-"crop-1.5"="kz5lcgz423v0gqbc07saa30623ah1bv5";
-"crop.doc-1.5"="k9prc7248mi5lrmjbzl0g7mkw4yafrz3";
-"crop.source-1.5"="nlpgsplmw5cckdd4ribmsdaa6jchjrwx";
+"crop-1.10.2"="8g4mwi6zyw5pxcyza5jwpyh41xyvc6hs";
+"crop.doc-1.10.2"="77dh3wm92skq9s778fvn9wdc9x33xi4m";
+"crop.source-1.10.2"="6xhzr3a69yyqiff20sm393h6n7821v2m";
 "ctable-1.31"="wd1f4k8s98g3lcfn825snbj9pvsr6s2j";
 "ctable.doc-1.31"="sjikmhs468fpx52r50s7qyjc4rkfb9r0";
 "ctable.source-1.31"="a3danbgiabx2z87nxkkcbvdb0l7fs0s8";
-"eso-pic-2.0h"="6wfvn1q4cg1ihjdpjbf9mfl07jmqayjw";
-"eso-pic.doc-2.0h"="3nyp8wi16hnbsnhq1mc96bdrnv10ma1k";
-"eso-pic.source-2.0h"="kyz7rkg9l117m0xbn1s8xyd0rd20722n";
-"euenc-0.1h"="fxp7k516ws4khaccirjxi8xszlif27y0";
-"euenc.doc-0.1h"="28lmb3y1m8dhl0n2r1gprmkrpxfmq134";
-"euenc.source-0.1h"="amsw2lpbcm2grnfch6cag6hyn957acv6";
+"eso-pic-2.0i"="8zpvv2r92yzdw9sjn1hdp9gydwcy0bla";
+"eso-pic.doc-2.0i"="9bha1qpmffkbl2bsq99gkhqqvlbcbccc";
+"eso-pic.source-2.0i"="1ilqjlmap2gq7s30mq4b20c9bcahs7y4";
 "euler-2.5"="32y9kxnr7zw4byr1zxsd2iqcfyzjvn42";
 "euler.doc-2.5"="g4bxh88pzc2872qk0w0sgapcaglal808";
 "euler.source-2.5"="8h1ahs9sbijdsc3xiv1rwv6k0vm9m858";
@@ -3357,53 +3452,46 @@
 "fancyref-0.9c"="0417hndq96cnldfbpc3hc1f7pyfqlscw";
 "fancyref.doc-0.9c"="wr3q5g6hjznnfcr9l5lvl8z07ixm1m8i";
 "fancyref.source-0.9c"="54cyla9pjr00km1djk4jc0h8ly50c8d0";
-"fancyvrb-3.5"="yva2c85f3kn51pnys6c25hb4ji9qnh7s";
-"fancyvrb.doc-3.5"="l7m134pqsqawzg76rb9dsp6hhvp89aji";
-"filehook-0.7"="8r8bqk7iabghr1qdna5ywa4r9f1ild5v";
-"filehook.doc-0.7"="1vilzkf0ymv1lkl5qgxkfpqvfxrkg31z";
-"filehook.source-0.7"="s6kwdhi9xv129ficzbhaiyn6f85b7g68";
+"fancyvrb-3.6"="idz0xgglfsd3jbpm2xiyl6q5a4l1yb90";
+"fancyvrb.doc-3.6"="874rbhzvwvmn4kbflhvwq8gs4q88b4jb";
+"filehook-0.8a"="yr1aaa45l23lavng9vnqk0bcqqyks5m7";
+"filehook.doc-0.8a"="mcz3zb712g7fgiqf9n7dh63rvca5nw0r";
+"filehook.source-0.8a"="d3dd5han0ncvs888ymamqvg2cnizm5v5";
 "float-1.3d"="dqksfsgqpc0vprkhfc6c9vfxlbrnn8sw";
 "float.doc-1.3d"="88hpzqh1011kwvwwm5bppb2gx6c9qqrv";
 "float.source-1.3d"="j1vp24g1lvwniahnd9vlw32c61cjswn9";
-"fontspec-2.7i"="vhqnyrgqlsg46f6wjpx5q1i4iisfgfnp";
-"fontspec.doc-2.7i"="9wl29gf9zhxp2bq6wvjl7sx4v5vdvfqy";
-"fontspec.source-2.7i"="yrl2big2r8zvflzawy8myggn8ahavz57";
-"xunicode-0.981"="ybvkdgz4sdl4nixzgz2rbmqfz7hwajv4";
-"xunicode.doc-0.981"="lydvg50dcpp0lk3m9niwdyf1vra61mgf";
 "footnotehyper-1.1a"="4hypxh0wdrybr4l8l491xx96v5f2mhiz";
 "footnotehyper.doc-1.1a"="l4ixap6zsq62fb63nm5hv9njmc0p3vmb";
 "footnotehyper.source-1.1a"="k3jhll47ppf1zi2rhxhsfnbhi092vm5v";
-"fp-2.1d"="lxyxf8jkbgrkk43qbnr2s3ns19ihgmw5";
-"fp.doc-2.1d"="ih2kq6xp1nd5gs9bc9vhd34qa7jcj093";
 "hologo-1.14"="3sz5m55pgy5adawf1qsnihw0mqf94hbk";
 "hologo.doc-1.14"="h7szzyb4hsbsa1inbyinazfvg87kn1da";
 "hologo.source-1.14"="8ijn8yd831dvsff40ksd8ak7fas85mgq";
 "index-4.1beta"="qbh9vs69mrp2czw492icb71wbx4nzshx";
 "index.doc-4.1beta"="l3476by3qz0r0cn3lcbw006ay5p11naz";
 "index.source-4.1beta"="0i38dyjh6278hxgkdzy0wvlcbn2w0k7n";
-"jknapltx-2019"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
-"jknapltx.doc-2019"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
-"koma-script-3.29"="cm6r96yhwmmwcxg9q0xa8pchhxz10wn2";
-"l3experimental-2019"="8zl15x29f592faif8gm224085j5w7ljz";
-"l3experimental.doc-2019"="c6c7v530ak5h8qs11m9rbsr06pdkqwng";
-"l3experimental.source-2019"="2l7rzmdwzags9f30y9vi7s38a49w9qzg";
-"latexbug-1.0g"="fjk32p2lbq0bj54snnajz4j21x4dbqsr";
-"latexbug.doc-1.0g"="1s1j51jphz3wphi8idq8jpvi935ag683";
-"latexbug.source-1.0g"="lnghssyyyrc9y2nca730pchkyvjmbk40";
+"jknapltx-19440"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
+"jknapltx.doc-19440"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
+"koma-script-3.32"="iml0agfaadaqivm19nfg2bn788mbidzv";
+"l3experimental-56424"="xiczgr88w47x7k8lw6y8fqwzmjs0c3n4";
+"l3experimental.doc-56424"="0vsnycdfn4zd0vkisw717a179k86m10b";
+"l3experimental.source-56424"="18lzg9axjak2hdhcqy3cb5436hbfppn9";
+"latexbug-1.0h"="bv8jiiyxjfgalld6nxv7qisvb8i9ix1d";
+"latexbug.doc-1.0h"="fz9slhiwkar37hwqwcsx4ih1nw7zl2xa";
+"latexbug.source-1.0h"="sr865dxax5f9j7r0bvhg9nlxf8bs0rwj";
 "lineno-4.41"="kvbdigwxw4db752kssgdb8rlxhljkkpm";
 "lineno.doc-4.41"="cfnil0v0isahd65d1sly2kr29w38h535";
 "lineno.source-4.41"="w30n8z3rnrvzpfa1d1s7mn3rcj03s892";
-"listings-1.8c"="2asfcbjg5w9zxjfq2v9bdfnvyx6p1cmq";
-"listings.doc-1.8c"="xmczlyi7bqi8wy7247p9h08jhabkkq0z";
-"listings.source-1.8c"="9l0i48d1grilpgkna68abx3xbh7pb598";
-"lwarp-0.80"="qcmm9glcclflqf353cyj0hvymy9k81yp";
-"lwarp.doc-0.80"="7xp41iacs2w6b7x9mkkzw2692k575zis";
-"lwarp.source-0.80"="lpsg5x6jsszwlg2xvizsnj6cdlsw3jvq";
+"listings-1.8d"="ci87vjqba9nnwsgm8412749fg7fid33v";
+"listings.doc-1.8d"="jq29kbrz6bxs58iqhp76ail0kiy5s53r";
+"listings.source-1.8d"="0cz06d1v08369wgfnkddmzqi7258rsx0";
+"lwarp-0.892"="5h6ljfnxs5p2cag2mnsxsf1iv2gf94z4";
+"lwarp.doc-0.892"="c94x100afrll07vaja7pgs7mj8dpa1i7";
+"lwarp.source-0.892"="5fkj8vdxjmhly9dv86v19v3vpphwwl3s";
 "mathspec-0.2b"="kwvx81d4nlxj7vbr2n5zvgnfvkasg4y0";
 "mathspec.doc-0.2b"="rqykkdkfahnnnphcns26p19z9mr2mlgh";
-"mathtools-1.23"="sz6g5312qbq958v9sw4jcdyazqia53ka";
-"mathtools.doc-1.23"="cfavniflyk7hmkbkhccvyq5jhpjhwnm3";
-"mathtools.source-1.23"="6vly7yb9gcgjb3qfibgihfr4s2g5cbd2";
+"mathtools-1.24"="ybp5grgnwb0jbfzim9hc676q8pc10b83";
+"mathtools.doc-1.24"="ab8f7mxsckwwd9jdny35758jvag2zk1a";
+"mathtools.source-1.24"="8x45cbczw68sf2kbn5iivjhckcsrrii7";
 "mdwtools-1.05.4"="fbp8vrgdzc2g4i27m9f4qcsr8yjlbzg3";
 "mdwtools.doc-1.05.4"="jb5r95gmlqj1bx19gbkvcm372ina3bdy";
 "mdwtools.source-1.05.4"="kcm853bwwv69vb5zcmikd1gmpcnhz9pw";
@@ -3419,34 +3507,34 @@
 "ntgclass-2.1d"="y8cgcs422bvbz798jxiliyzv0sllld5w";
 "ntgclass.doc-2.1d"="7s1fk4p4zhm9x4gph5zmd9vqjwj6zynp";
 "ntgclass.source-2.1d"="3m8mi9ms4mjnl5yk6ygk15a3751yhi0a";
-"parskip-2.0d"="ymzl3d3jfpqwr0xxqp8k2ixm1mbg0kaf";
-"parskip.doc-2.0d"="sp1wmxz801dnrc7yl46kpfn3w8c1jilv";
-"parskip.source-2.0d"="wvksyjs0yivnv2v1ydlq2bfg7rg5h7np";
+"parskip-2.0f"="4hdlnxb9gf2q2q08fmkz7j4rwzddpz9i";
+"parskip.doc-2.0f"="l2w61n7gb9iw8gixp7fmfvy4gh9aa5p0";
+"parskip.source-2.0f"="iz00ql6ncqqhxinijmqp98jq38pwqddx";
 "pdflscape-0.12"="xhyfdrzcx5agnsmlgrr1hibq0pkzmmsz";
 "pdflscape.doc-0.12"="7z59wsjf9k7m6d47bclgf6iimhrhlrfl";
 "pdflscape.source-0.12"="9dmgmza1qbbr95mdi9k27vkr772g2w2s";
 "pdfpages-0.5q"="1bdik391lsmp7dz6d8arq1hdawj4qraf";
 "pdfpages.doc-0.5q"="9jdi9zs7hycixbdxld0m95b8935f4cqw";
 "pdfpages.source-0.5q"="f8nglq0jzz4n3lky57q6mmm2pdrydxf9";
-"polyglossia-1.47"="ybzl0dq2rxk033mm304m3lmi3s66v40c";
-"polyglossia.doc-1.47"="y0qqjsyamjmc9b1zd6lr4ba6xj7fpi2l";
-"polyglossia.source-1.47"="pjlhlizha6zyz9iv4wvpk5l6y9z9x88s";
-"makecmds-2019"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
-"makecmds.doc-2019"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
-"makecmds.source-2019"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
+"polyglossia-1.49"="506kkq32qbwp5xnmvdahbpv6mgfx9pad";
+"polyglossia.doc-1.49"="dyfg38rwcsrq6w4z8sr2y0rsba0ipl47";
+"polyglossia.source-1.49"="sjcan0v66d6j1k7hwsrk4vrdmsr450c8";
+"makecmds-15878"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
+"makecmds.doc-15878"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
+"makecmds.source-15878"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
 "psfrag-3.04"="k8qyr0l3fsc4insyy1r6q596dq4gf23a";
 "psfrag.doc-3.04"="ybb4r3w20w1pcjwzaw0srpkx5c19rqg7";
 "psfrag.source-3.04"="xk135sb77fk6l9wz6fzifsjvchcqyj0f";
 "ragged2e-2.2"="9d56j53as9gdh5xsyyj1mvz9f5cy93r2";
 "ragged2e.doc-2.2"="911vhpxz6gryks06j0nzcg5d04393jl7";
 "ragged2e.source-2.2"="cndc09ydns267p1r7sr7hwlmpg4mqgsd";
-"rcs-2019"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
-"rcs.doc-2019"="m1lw85b793n2nxywdi39fg438i6kif7x";
-"rcs.source-2019"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
+"rcs-15878"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
+"rcs.doc-15878"="m1lw85b793n2nxywdi39fg438i6kif7x";
+"rcs.source-15878"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
 "sansmath-1.1"="yxyny4949h4hm4ajn673nzzw8wn8cba8";
 "sansmath.doc-1.1"="b8vzdmm1l2x7cyc15xzhmwjkszlsp2j3";
-"section-2019"="69anwmylbk95jbgr8645abp07ygv9f9g";
-"section.doc-2019"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
+"section-20180"="69anwmylbk95jbgr8645abp07ygv9f9g";
+"section.doc-20180"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
 "seminar-1.62"="z9nzymppz6hz3lxy0nliqvy5szq6jk4c";
 "seminar.doc-1.62"="23fz6p4ybl42rmr1m3fllg7qn1zbmfki";
 "sepnum-2.0"="x64bd0f3g1x0bcpdgd2lfspr13jyxvcf";
@@ -3461,16 +3549,14 @@
 "textcase.source-1.00"="vjlmjci0821c4cnbh8bq2x3nkiwaji0k";
 "thumbpdf-3.17"="m4b0akrn0sq4ngalczdq287avr5mrpc2";
 "thumbpdf.doc-3.17"="9759lhx69f2406pc4ggg4q2hjws5nnr4";
-"translator-1.12a"="n6lhccnywi25q2hkdk3ddvgywcxb244f";
-"translator.doc-1.12a"="qyspw49icxily7c7ky0apm8313v0rwh0";
-"typehtml-2019"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
-"typehtml.doc-2019"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
-"typehtml.source-2019"="96p79dyy553b4mc01ihk7qgr11396drn";
+"typehtml-17134"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
+"typehtml.doc-17134"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
+"typehtml.source-17134"="96p79dyy553b4mc01ihk7qgr11396drn";
 "ucharcat-0.03"="d445ic6gwl7d5d31s691vr63f4hn76dz";
 "ucharcat.doc-0.03"="ma6rz3djr9v3q5p8ffqyznjb91gjj5li";
 "ucharcat.source-0.03"="kh9cnzg1pn8c51bbph2amp5y1j85q38h";
-"underscore-2019"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
-"underscore.doc-2019"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
+"underscore-18261"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
+"underscore.doc-18261"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
 "unicode-math-0.8q"="p35257s5ldld4ya0xkvsxx11jrwxhg66";
 "unicode-math.doc-0.8q"="m9sy94l2v9qq966wlphf2ic8xfxdx81k";
 "unicode-math.source-0.8q"="1sydxxbljd69ds018c5hr8rk3cvb22qd";
@@ -3494,9 +3580,9 @@
 "autoarea.doc-0.3a"="zh69glasmj251qwrw6pjrshprd6x4hsh";
 "bardiag-0.4a"="vh54valkzncvzlx8y58gzs3k5jq66s69";
 "bardiag.doc-0.4a"="576s5nnqvq13rjnnn4l2d1g1rnd64vvn";
-"beamerswitch-1.6.1"="7x0sr2v96b3bz02f99j3chcqwmadwyqa";
-"beamerswitch.doc-1.6.1"="yckpqwfm27h050ai4fkvcdbb2777r71d";
-"beamerswitch.source-1.6.1"="my4k810d0pxh52d2c09dhkcbp1lihsgc";
+"beamerswitch-1.7"="wa6xv124q0qnpx4a7i8slbbhvvad38i4";
+"beamerswitch.doc-1.7"="i191731mqn4ds48rmqg688afxa9b70am";
+"beamerswitch.source-1.7"="xwdacngvm25n0q3hyy5whxxrfyanmhnc";
 "binarytree-1.01"="xl1rqgn286y7hpv69bwja6c5rrbx29g9";
 "binarytree.doc-1.01"="7ihijqc33m3ydk77aw0qqqhf94yyrz21";
 "binarytree.source-1.01"="lk7v0gr502ck4z0d605z6mwkswqpmfyk";
@@ -3522,26 +3608,26 @@
 "bxeepic.doc-0.2"="qkfwmg27v6ygkp3d9d1l18zrpribbx3q";
 "cachepic-1.0"="hr0pnmjxny590gzhqbwq9qiqd1vcpwrq";
 "cachepic.doc-1.0"="myyjxkc21qrwmvx2nvbg2smvzfzi5f5l";
-"callouts-2019"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
-"callouts.doc-2019"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
+"callouts-44899"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
+"callouts.doc-44899"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
 "celtic-1.1"="mr86xyd6md9n5b17a6wga40k8z98dq7b";
 "celtic.doc-1.1"="3mwjjxnv079m8ginlv5my50jj1cmpjv0";
 "celtic.source-1.1"="z25a01arypma6jfyj2f16n36hqyicffd";
-"chemfig-1.41"="159wgzbnmda73q0s1lgn3jbfm5hywyn2";
-"chemfig.doc-1.41"="h86pl1g5w2fli361za5783pv7w62kkww";
-"circuit-macros-9.2"="af9csy1vch1pkpb5y0f3bqn26dh3fbgj";
-"circuit-macros.doc-9.2"="4b6r3b3iaf3y9bczs0yjli745pn4rrml";
-"circuitikz-1.0.1"="qgwgimjvm5h4y851sdk1hbpypkblix9x";
-"circuitikz.doc-1.0.1"="wra7lhr1667d2vgyx9acsdl57aan09gs";
+"chemfig-1.56"="wg525q207i0jm3zvackkq2im40n624dg";
+"chemfig.doc-1.56"="v2d4fmsfcdvh631sdddm3jmjq6zg477x";
+"circuit-macros-9.3"="af9csy1vch1pkpb5y0f3bqn26dh3fbgj";
+"circuit-macros.doc-9.3"="zpvs7dhf74ly62lm2mc8c5x31ssbgrih";
+"circuitikz-1.2.4"="25dmbjg0xidl0kn6ci9hnbj31a12x66l";
+"circuitikz.doc-1.2.4"="s9x2ldihx2c4zjds53jsdnjw97h57f4x";
 "combinedgraphics-0.2.2"="hr8cvhw9ng0nx1v0v34bx5yppzhw8r3a";
 "combinedgraphics.doc-0.2.2"="2s219mqf373sb1rp3dwjd9kdasjl9fdg";
 "combinedgraphics.source-0.2.2"="4q5n4m14613bv27dc7n3z1m8w2sfiv0q";
 "curve-1.16"="w4a3qv419x68y5ydvi1dk6pnm6ni82ci";
 "curve.doc-1.16"="f4n85j7dlkp12vm17vqac8d4hzm1jvd9";
 "curve.source-1.16"="gkfbyzhsaknlrhm3ni81jxswdjv5z9ij";
-"curve2e-2.2.3"="0cglzcp85pn8k4xskblxjhcyask22srz";
-"curve2e.doc-2.2.3"="sw3iq90vbk761fpzg58ng6s2hv7ppzg8";
-"curve2e.source-2.2.3"="sc5ckkw72cg5gw26qfjqn45k005vbp4x";
+"curve2e-2.2.10"="3hs2rsdsf2ip2b55xshi3qfb3zvgm5kx";
+"curve2e.doc-2.2.10"="dvgxy96bkj3q77pbkf3lyi6hpcmhmx8g";
+"curve2e.source-2.2.10"="p5pw2fcdgg1hkj366fmhdk8yvyg7lbvl";
 "curves-1.55"="2cyy1kwxbvxpvxpvvsbh7nvh5q5l7n7b";
 "curves.doc-1.55"="jk4ma0hcrdg6lwy4l5238b9xzsb8lfrv";
 "curves.source-1.55"="q9l5hcsi0n14kkcim30yk6i6sxc5cmvw";
@@ -3551,20 +3637,22 @@
 "diagmac2.doc-2.1"="dfp1br71r19b0pzjzln61wjdn30qy0n7";
 "ditaa-0.9"="pbrv5kj46v258vy3dzlp1js4m0sp8wjj";
 "ditaa.doc-0.9"="db8d34zf2n19xlzljydai7vyz3p11wi2";
-"doc-pictex.doc-2019"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
+"doc-pictex.doc-24927"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
 "dot2texi-3.0"="igh08hai8lpcr0pn4lcfx5b6kgymw4sp";
 "dot2texi.doc-3.0"="r038r86xd4csibgk9n3h76qc5ak1zpl5";
 "dottex-0.6"="yvd132700sxd7hnngskg6w30r1cpx3m3";
 "dottex.doc-0.6"="67dpg655j83k809rs0ybc3cxpy2lvvqb";
 "dottex.source-0.6"="fz625gq3shyvx3wk5jk4hvr33wls038a";
-"dratex-2019"="ydbymdy490gw405n0gn3amd771knss83";
-"dratex.doc-2019"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
+"dpcircling-1.0"="x7l784dw5d37jlws64l9x3ya6hgp9w1h";
+"dpcircling.doc-1.0"="fj0jxkgqs0n66z0rlyak490bddcbw6nw";
+"dratex-15878"="ydbymdy490gw405n0gn3amd771knss83";
+"dratex.doc-15878"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
 "drs-1.1b"="h9fz09xdgwgnbif1vxa1k7rxj8v9ri5h";
 "drs.doc-1.1b"="aq84i4xdklf4wcripj60cc9fd4w3zhhc";
 "duotenzor-1.00"="fx9ljkzzp09x8iajbwjlrzcjxf382k9x";
 "duotenzor.doc-1.00"="x6y62df7hjrp64r4w1qvdikqdg6ph8l2";
-"dynkin-diagrams-3.14159265358"="w0hkvn6lwjj4g8s78z96r3mbk7sg3h4d";
-"dynkin-diagrams.doc-3.14159265358"="jbi0ig2hhxmyidxbc63q6iwm93vzd4ab";
+"dynkin-diagrams-3.14159265358979"="snpn3qm44wdk13z17x9xg4szb79f1fa0";
+"dynkin-diagrams.doc-3.14159265358979"="siz8icfgl79abv7mf2fzl8mv84vx0vh4";
 "ecgdraw-0.1"="py3xjb8hz3mdsh42hnjww7i4ndxgkwnc";
 "ecgdraw.doc-0.1"="a9ggi8ivc4wcnqv9gd28lhdw56w4zg8a";
 "ecgdraw.source-0.1"="77vlnnhs178s19gaa4n7wa82lcvyp0s1";
@@ -3573,8 +3661,8 @@
 "ellipse-1.0"="8whg820p9jrqn4nfb7lc3w8d1a2cyfvn";
 "ellipse.doc-1.0"="i9njlr8m3jb9pcrwqsbcjbsb26993p8n";
 "ellipse.source-1.0"="25xhi22s1cvkyzbjwchd50ixsx6awfk5";
-"endofproofwd-2019"="xn4xfhhr3k5cq53ab6rkjwvxqs877kq8";
-"endofproofwd.doc-2019"="q8zg1zy1909bsif59caj8rmmjj4g3v4i";
+"endofproofwd-55643"="ylgnygd6w1p658j90vqdgl5a9i95brxp";
+"endofproofwd.doc-55643"="jm7dscwzp5wwyw335jl293m10yszxxs5";
 "epspdf-0.6.5"="06n9z5fw1f71x4kb07na5bkr48fd5s5x";
 "epspdf.doc-0.6.5"="xc2psspim5kmyzwr4sksf81g16pcslq2";
 "epspdfconversion-0.61"="4dsfb50v8zqbx8nqlzlj712jiq9hchwz";
@@ -3582,9 +3670,9 @@
 "esk-1.0"="1hsqxgyh6nbwdw4fl5lsivg6wh1v2s1r";
 "esk.doc-1.0"="14qzisxfrysqh66dn3irf2c39jjazl1j";
 "esk.source-1.0"="yaq1hdjjgl4j06rvz25liay9p054n1sr";
-"euflag-0.4"="8s7f3ihqnhnsf2wnhbyxwsqy0wscnmpx";
-"euflag.doc-0.4"="r0li7ps034kgwkav392gsw2lqdry04p7";
-"euflag.source-0.4"="m8smqz5db43rh417pimnwh6cai2351hv";
+"euflag-0.8"="ddwdd62zjqapy5hfcc7aa9x82zzmva41";
+"euflag.doc-0.8"="9al82d8f73w4gfbj2p4zg32w1vkwkkkr";
+"euflag.source-0.8"="djgx9f4b3c43g8gk66wsmhlf4bsszff5";
 "fast-diagram-1.1"="sdzr4ya21gayk528rk4zli01l8ywnqm6";
 "fast-diagram.doc-1.1"="anbp06v1p1bczyiij9d2z0li6yski394";
 "fig4latex-0.2"="mwf75sk2i52q6j3gb4pjmw5rlyyihq5g";
@@ -3601,16 +3689,16 @@
 "elocalloc-0.03"="mk2cs80z0gh4dx409y2n3h9cr8ls1la8";
 "elocalloc.doc-0.03"="0p4f0hwr11xvn57adggbbssn9iiynsyf";
 "elocalloc.source-0.03"="spa5lrwk7nikx08v1pgp0xrx4c2gbahk";
-"genealogytree-1.32"="qm4n5cdjzhn48x7bhr8dhzi1harh1hm2";
-"genealogytree.doc-1.32"="ic98gqb5i5cdaczqqwg4mjah7sywdwp4";
+"genealogytree-2.01"="q8fba5j3rwbxhvmxliaycxv2v79nyyla";
+"genealogytree.doc-2.01"="ahvajyv1yxgga47lv3px7s6xlajqri6s";
 "getmap-1.11"="b3iws7x0vfqj4jcrz2y8m77l9v1ywwk1";
 "getmap.doc-1.11"="291rnf2x2nnyhf2wc82hv77jndrx6ckg";
 "gincltex-0.3"="sqimpp1pb3c7mqcm4jnd40jlahpcnr30";
 "gincltex.doc-0.3"="mpr0nv6ldvvc7wgq35qh34csxhxnknmf";
 "gincltex.source-0.3"="s0dq3s33c04fqmzi9q9wp09vgfm7qh9h";
-"gnuplottex-0.9.4"="0c1rl12r5h50ib3f62brpbs5g0m0swps";
-"gnuplottex.doc-0.9.4"="rklykx57diia7siy7692488q7dmh54ss";
-"gnuplottex.source-0.9.4"="h3c4nmwn9x3c4srljd03y1vpfvbngzmi";
+"gnuplottex-0.9.5"="zk6v716qmddad8da5dl1d8nm5xsli2a3";
+"gnuplottex.doc-0.9.5"="i7gzafn4a0cqpn7hav462lhbwgpmxkcg";
+"gnuplottex.source-0.9.5"="x8f5ik2wy273vxgmbykqhlx2yp5wpnga";
 "gradientframe-0.2"="x80zlqzx72n55qpazclikrafwzny8ss5";
 "gradientframe.doc-0.2"="pgy0vrx4nvys3wki3202r377nryd0r1h";
 "gradientframe.source-0.2"="10dx55zpi0j7xzdkry3dh41ax873mmmk";
@@ -3629,8 +3717,8 @@
 "gtrlib-largetrees.source-1.2b"="knfqk3b14idsc57fj80ngw26xi7pcnwk";
 "harveyballs-1.1"="axddj0mvqck1gmg0b7s43q7gi9hm1327";
 "harveyballs.doc-1.1"="rpsz7hqyyp9h5sa0hxmxnlrs6na0imbn";
-"here-2019"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
-"here.doc-2019"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
+"here-16135"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
+"here.doc-16135"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
 "hf-tikz-0.3a"="hfdmzpnpak33573ldllk90rywqz3ngqi";
 "hf-tikz.doc-0.3a"="dy6jw7rgbclhb6c94rm3c1bxz0gznqn4";
 "hf-tikz.source-0.3a"="jn1iy5nysj2y94ar0s2491l97m1y2rw8";
@@ -3645,25 +3733,25 @@
 "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";
+"knittingpattern-17205"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
+"knittingpattern.doc-17205"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
+"ladder-44394"="wgw0drkb53daslzwsvg48dfznndrz6dp";
+"ladder.doc-44394"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
 "lapdf-1.1"="g5x8axkiscl5796b82is201vcbdxvc3f";
 "lapdf.doc-1.1"="3lpf17r6yqaa7ld8742cp8a7crafpc9x";
-"latex-make-2.3.0"="0q8ifbm69vizlg5bkkqv781w75n2icql";
-"latex-make.doc-2.3.0"="p4cxzn8b8v1602h27sj2w6vgqh08di4j";
-"latex-make.source-2.3.0"="f3bgcyi9903l6a41ryla4a3rm15h5fkw";
+"latex-make-2.4.0"="v57k7bkaqhjbwn5chpws53r9g6a9ksac";
+"latex-make.doc-2.4.0"="faq72r8b5xhjjsczv7ws6g12s1aydjaz";
+"latex-make.source-2.4.0"="yxz5ih93ddpi61badp2js36hj36r5cgg";
 "lpic-0.8"="74wchk7ljfacnfqy6wn0j9ns5bqzhkv1";
 "lpic.doc-0.8"="yqsjlvnfzgj180kssqhp1i11gq8d9c9q";
 "lroundrect-1.0"="x8g1sz9w4xaj9da4y1xy58hrdblmdx4g";
 "lroundrect.doc-1.0"="2pw71ykcm2w7ki2xx5fvhlfk5xgi410a";
 "lroundrect.source-1.0"="4ad9gr28lqir9g0a15pa31wybbc9m935";
-"luamesh-0.51"="h9iynwv9kpydaizfmn51kfvinqnmlixq";
-"luamesh.doc-0.51"="jmg6frxjcmpn3s4wkv11s2kbpb8aaidh";
-"luasseq-2019"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
-"luasseq.doc-2019"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
-"luasseq.source-2019"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
+"luamesh-0.6"="71l0qbnglfb0rvzrbk4m1m1m15lrfa67";
+"luamesh.doc-0.6"="idnacgwmyfk7chfwbfz236744xf9kc60";
+"luasseq-37877"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
+"luasseq.doc-37877"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
+"luasseq.source-37877"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
 "maker-1.0"="88vzniwk6x9fqhp4y3g32a1cj6nb57g3";
 "maker.doc-1.0"="5w3rag10kbzp8whk0hjrl1ic7iqrna8f";
 "makeshape-2.1"="y9d0868x2s8950zphcf6sdz3l7a1sw9s";
@@ -3671,10 +3759,12 @@
 "makeshape.source-2.1"="5ddzsj9xakk5hwhg54snvv7bp0vlmjd1";
 "mathspic-1.13"="x4m5r6mv0y3cc4vx1qb6anrparbgdvlq";
 "mathspic.doc-1.13"="qh2ycvh04kxfihxnri5fr5zxdkk04ppa";
-"milsymb-1.01"="qcagklmphxh4svksm4wl44hw3jq9zgdw";
-"milsymb.doc-1.01"="pcqfylx6visrn6b9503aq68zh4zgbxp0";
-"miniplot-2019"="3myl55b3q359l0aillyxg7pisii3llpj";
-"miniplot.doc-2019"="hi57wciv475ix91zl4rh30lv5pffns1p";
+"mercatormap-1.02"="yfwmkx0xzyak9lw6gcwsz6by37pfa7rg";
+"mercatormap.doc-1.02"="mkkdvrwryxwm3p2xynmfilxm9xfv2nsh";
+"milsymb-1.02"="0kn7fxbn0magyklkqw0zph4ns4lv0c1s";
+"milsymb.doc-1.02"="5s65vp27mzshck2ral9r7grhsi7v70p7";
+"miniplot-17483"="3myl55b3q359l0aillyxg7pisii3llpj";
+"miniplot.doc-17483"="hi57wciv475ix91zl4rh30lv5pffns1p";
 "mkpic-1.02"="m0rzxyzpyjzial8vvd5nm2rny449ka5b";
 "mkpic.doc-1.02"="m0v80hkyq699sbmdbv5ydp75ccdh5yd3";
 "modiagram-0.3"="sbc0gqy5h9g3vvay1hg8nd8c8za52ns7";
@@ -3688,14 +3778,16 @@
 "penrose-1.0"="k6jlwvn60krdxcf7dj61nydhvf4smmfz";
 "penrose.doc-1.0"="yyv1mdclnrrvb52b68akbah0nd9jr68i";
 "penrose.source-1.0"="brmpi34mmx9b7vs1vl1gb2mbz4mxcnlm";
-"petri-nets-2019"="0yny9mc10syfx1a716sjw3768bf1a51z";
-"petri-nets.doc-2019"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
+"petri-nets-39165"="0yny9mc10syfx1a716sjw3768bf1a51z";
+"petri-nets.doc-39165"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
 "pgf-blur-1.02"="30lr14qkrz1ah9kvgadknb9a7yyhv625";
 "pgf-blur.doc-1.02"="x4phrny12czndwvsrml45i6a5ymfncf0";
 "pgf-blur.source-1.02"="hdg79rv84byqmnyahvi65v3ca3h3j14r";
 "pgf-cmykshadings-1.2"="jpaxyzfgw5vgjhfpgqy7v4ddpq6nhks8";
 "pgf-cmykshadings.doc-1.2"="mk9nyxpnv0bbcg84i7ngz2vvf88dib77";
 "pgf-cmykshadings.source-1.2"="zd27bjqz9rxg1sdrzbbky56z2fdhhgv8";
+"pgf-pie-0.3"="l3lv4iydk6xi3x6krz4aqmly0y1949yk";
+"pgf-pie.doc-0.3"="v85y3l097agvjvmd71f6kxsa2wwd73gf";
 "pgf-soroban-1.1"="1l6ifq09crmg68d174y2ms66jjhgklql";
 "pgf-soroban.doc-1.1"="ajlhmwd0fgmamsgnnzr3s15z6irx579s";
 "pgf-spectra-1.0"="w2w6z4fj2g5z77i72q7l5fzrz3hbrb0p";
@@ -3712,24 +3804,24 @@
 "pgfmolbio-0.21"="987pnzviy9l6fbqgkbq8xhjn18w4dpqi";
 "pgfmolbio.doc-0.21"="ckwm7mnw5qhp47vfxmbc5xjvnysp8jxq";
 "pgfmolbio.source-0.21"="l3rs43l6g8bg4l4y7gbf8ji8vpj9pwca";
-"pgfmorepages-1.00"="1w9nmavglic9398ipww68w0v4iajrq03";
-"pgfmorepages.doc-1.00"="cpbd2mqr5rmhj9lyxl2nd5mwn83djy0a";
+"pgfmorepages-1.20"="kvnwv6rsijb2if9wal7a71ggxn3sh8q8";
+"pgfmorepages.doc-1.20"="fdzbkrwfy9cbhirhyvb2yfdb38z5jb4q";
 "pgfopts-2.1a"="r3hmv29kc7hfcmx1j2kirk27q4y2r5a9";
 "pgfopts.doc-2.1a"="qb2q273gcqw9p1wjzw8hq7z13f689zkg";
 "pgfopts.source-2.1a"="g9ya18k22lcd5f8aq3anl152d98h6b7z";
-"pgfornament-0.21"="v3jz47bv6awc3fq6fq81ybvmsigm8wmq";
-"pgfornament.doc-0.21"="amyhh0pq8p7x6f4ldyf2sgcqfs0qgm5a";
-"pgfplots-1.16"="nwgyxvygiw0lqhh7lz9ykbc5lscmy7lf";
-"pgfplots.doc-1.16"="cdjfvyz34yfbjavxz6hsmmpl49gi9q0p";
-"pgfplots.source-1.16"="m6vxsbqzqmjq6p4n2kxzygdhvxqpdaz9";
+"pgfornament-1.2"="y4s27bm5bllkpvlqsd2v8i753jjzhlyx";
+"pgfornament.doc-1.2"="l2l2qmphza7jr6hqgbbp11ms19ssinh3";
+"pgfplots-1.17"="f5x1w97rgj20w1649cynsz2viyd5l9g1";
+"pgfplots.doc-1.17"="x6fpmdj6hgjzyykgz2cv05sk57z1zvxl";
+"pgfplots.source-1.17"="9jdvnlallwaimm0sydy79q1jrpwqm97s";
 "picinpar-1.2a"="wvxa8vjglc2v1k8dcszj32wx5jgmsm3w";
 "picinpar.doc-1.2a"="ix8d6091agdxivkq3pj0xv5afksr16xj";
-"pict2e-0.3c"="nzynzzmjd5v7yc48a04parddy83xcrz2";
-"pict2e.doc-0.3c"="zc7md0dvssdpj7dcw99dh7h2i231rbyx";
-"pict2e.source-0.3c"="zwmlz98xbvkljr202lzrp3bps8dwqgl3";
+"pict2e-0.4b"="zbvvgxa6s4wp3kji320n7xrss0qabd99";
+"pict2e.doc-0.4b"="nc4yi0yly80s0lcq9a3cimlwyvwisnac";
+"pict2e.source-0.4b"="zl1v9f75nkd7dsrch6yfp21y9pahv879";
 "pictex-1.1"="3wr03wxjs0nbpncsyzzz2flz5h383a30";
 "pictex.doc-1.1"="d96f4qc758wqc5pifjspr2cfhkj3j44q";
-"pictex2-2019"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
+"pictex2-15878"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
 "pinlabel-1.2"="5bshz2446a2c3mgc79b1znaw07n54cck";
 "pinlabel.doc-1.2"="a23kw5gn0cwsg5fzldlq5a9rj03wg1la";
 "pixelart-0.2.0"="hq6wmp9dgfzzqxwn11a3isf2jnzm2b7v";
@@ -3740,8 +3832,8 @@
 "postage-1.0"="7n4w4vhx3ck8pvfp69l95yn45f7qbmpp";
 "postage.doc-1.0"="h40jv63ikgmcd83xmvkz3vdc700j5myy";
 "postage.source-1.0"="x0f20a02h113a5z6cppvhrqcq2lmlh8c";
-"prerex-2019"="3m8z29a8bizcdk7k3xipr9x7bzac9ybn";
-"prerex.doc-2019"="d176668n20nwvh0i5r6y37zjlg0k6ic6";
+"prerex-54512"="3m8z29a8bizcdk7k3xipr9x7bzac9ybn";
+"prerex.doc-54512"="d176668n20nwvh0i5r6y37zjlg0k6ic6";
 "productbox-1.1"="7l9nqp2nxybrl35q1slpz9jhn70las0b";
 "productbox.doc-1.1"="j713za0sjbr7plb4xdis6zwvi7bg1n1q";
 "productbox.source-1.1"="aqhyalz52l2nz9v46bi0jn21vqw68w6g";
@@ -3755,8 +3847,8 @@
 "qrcode-1.51"="x2mibdysf003dgl6i1zq3h68a1km3j2a";
 "qrcode.doc-1.51"="y97sa2ha89kmhfj5kq55qk57sf6yf3h8";
 "qrcode.source-1.51"="f4mxn89cz4f6wvnvxqfxdq411nnz4z44";
-"quantikz-0.9.5"="9zcs4s5jzndxprdhf4k04nvb7bg0ar8d";
-"quantikz.doc-0.9.5"="j3z2hxhp7s4ir1kkjadq8wavlvmy5dbn";
+"quantikz-0.9.6"="86jvb52l8qr6p2zpha4qx1ncndza95q8";
+"quantikz.doc-0.9.6"="z5si2v60izbqix364z8xvhs3gz6s83vp";
 "randbild-0.2"="bkb9mlnckwhxirdsck7pzqki670mgns4";
 "randbild.doc-0.2"="v89kxn1iiw9spvinn8xcazp81w9a0nb3";
 "randbild.source-0.2"="la433aq038bqyjdv40rvdkinsiq7bf07";
@@ -3777,8 +3869,8 @@
 "schemabloc.doc-1.5"="2020d2ivq6qccq1s7fk161pmarznn6ss";
 "scratch-0.41"="r2i8n81lhrl9420xwj61v3rmv98f64fb";
 "scratch.doc-0.41"="rgs8yb5va24k7cl8h6f2813ff0ydkia7";
-"scratch3-0.14"="klj8v60bff3fr4pymifr0wcj9qgr7xv2";
-"scratch3.doc-0.14"="dzzlly4ygm0k69n92xpjfdknhg8h5c7i";
+"scratch3-0.18"="44zwdns5yssyglqr62nifmdnrp20y32z";
+"scratch3.doc-0.18"="0pix9ik5f8b8lydicf9yibcpg0fjy7w2";
 "scsnowman-1.2d"="vmlm0ilz9v7hxsz6111w8596xajzg2ly";
 "scsnowman.doc-1.2d"="l1svi3nmdzpfnad0w8dzxxzh8c4n2v9j";
 "setdeck-0.1"="jhxxygy339baxmfl252kjjyhw2zbhf8n";
@@ -3786,8 +3878,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";
+"simpleoptics-1.1.1"="hd3442mvndh1y9qmk4g1c6jgy189927v";
+"simpleoptics.doc-1.1.1"="ivyl8pm0sxqglg6m7qiqyga8cnh8ac47";
 "smartdiagram-0.3b"="2ap0zqyxnbs2lkdgx70rrpm2b6d9gslr";
 "smartdiagram.doc-0.3b"="p0q92dnkzxz2i5zb8837353j4ainabxb";
 "smartdiagram.source-0.3b"="lqy3sqf14w7fxzrfim7mb1y7rmsbln1f";
@@ -3796,16 +3888,16 @@
 "spath3.source-1.2"="szcj8yyc7azz3xxjqsqxm91hmak5jyb5";
 "spectralsequences-1.2.2"="yahjlarc3vgpzcmb2abr6nwyhqqj5c1j";
 "spectralsequences.doc-1.2.2"="by1zrk0y8nq05qf8csa2gvwl316zc1j4";
-"swimgraf-2019"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
-"swimgraf.doc-2019"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
+"swimgraf-25446"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
+"swimgraf.doc-25446"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
 "table-fct-1.1"="b7wz94n1h3wpq9mi40zdl3v4m9hi1wxk";
 "table-fct.doc-1.1"="1k2sa9bsygbw1ib85x7yqda1jbzbg05f";
 "texdraw-v2r3"="rkzarniigb4a454964qbfdiaj1z124xi";
 "texdraw.doc-v2r3"="2wq6scv4jygmaam3ywddf8spizq9fi0m";
 "ticollege-1.0"="bznj0maq6a1b7m6p18dhq0fnssx06bwj";
 "ticollege.doc-1.0"="7n7nyn8zrp9za6l355797gq96vxp2d78";
-"tikz-3dplot-2019"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
-"tikz-3dplot.doc-2019"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
+"tikz-3dplot-25087"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
+"tikz-3dplot.doc-25087"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
 "tikz-bayesnet-0.1"="w9x9vf5hgmv18ljz0kx7rby1dig63539";
 "tikz-bayesnet.doc-0.1"="g7dkg4gg6729jbscb7cf3fsay2dfqv42";
 "tikz-cd-0.9f"="h74wx5r1jclma4zqd78wb3f5bmpfc2pw";
@@ -3829,6 +3921,8 @@
 "tikz-karnaugh.doc-1.2"="4v7jmjk6kczigziblmaphpxl1xkr2ylp";
 "tikz-ladder-1.1"="ika5n5wsldxr4fk6qfjr6p9i94iydplp";
 "tikz-ladder.doc-1.1"="33yyhiz2knjssmpvz90n63n3dgh3g57g";
+"tikz-lake-fig-1.0"="xcf8mfj9jkcb8ixhqpvwlm815j55k2qr";
+"tikz-lake-fig.doc-1.0"="h7l2b1kx53il87miyamjw0x0k54df5bw";
 "tikz-layers-0.9"="fbjyhacy9k7yhpyfg8viqdfb9z5d4dy3";
 "tikz-layers.doc-0.9"="d3q51sfsprqfa0m0plhghgcb3j63fn60";
 "tikz-nef-0.1"="88fk1n97w3dpajkw85ww9mw93p3wmv3q";
@@ -3844,6 +3938,8 @@
 "tikz-page.source-1.0"="2x6hmyi5739qskj8wf1k1636kbzns9b7";
 "tikz-palattice-2.3"="l8q247mbkx3qyywwb6sif0if3jv5ykjk";
 "tikz-palattice.doc-2.3"="j7y3y3r0mgm8limkgfljmn3i8dcnj0m3";
+"tikz-planets-1.0.2"="ka4p4kxaxmzlk0pvik7sl09zwxw0sj6v";
+"tikz-planets.doc-1.0.2"="zw4aa62pfdl5h3mai4ndjqmmb2v56zs5";
 "tikz-qtree-1.2"="vl2jq8b492p7dznrx63mi2zxcpax8a1l";
 "tikz-qtree.doc-1.2"="01bkpz1f0pm7plpkh6a2kx3c93iwcfwa";
 "tikz-relay-1.2"="p4gb81p3j2226g1d7qiclv6d2cj52fq1";
@@ -3853,30 +3949,29 @@
 "tikz-timing-0.7f"="phaw9fm5dzq5xr4klpnw2dhnrq3lcam0";
 "tikz-timing.doc-0.7f"="cc5mlz7linvwb3ki8bnhhs6qz9xmkkb4";
 "tikz-timing.source-0.7f"="8lpjas5dgvpl8dcxf1549m8nh0vn20fw";
-"svn-prov-3.1862"="d5py1m0kjdzdx371fpvi66l80p92xp4i";
-"svn-prov.doc-3.1862"="kz3zma1cmbi2kxvn560vzl71n0pj5bvj";
-"svn-prov.source-3.1862"="xz3g6ljh9fk8vfla8c3asbzraqymnca4";
 "tikz-trackschematic-0.5.1"="b8a2ljq13a1yg0dsa9icngsa2iiyanw0";
 "tikz-trackschematic.doc-0.5.1"="cif4841w92syf5xxwlw9njb7zlqdd0gr";
-"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.3"="b8aksqlfbkwm3fv278plpnrarhh8hvqb";
-"tikzducks.doc-1.3"="4n92qi1wmbk02fsmrfp6vzpx4s2fj45h";
+"tikz-truchet-50020"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
+"tikz-truchet.doc-50020"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
+"tikz-truchet.source-50020"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
+"tikzcodeblocks-0.13"="j0lqf17ys7miqzfy3f13vpkjk19j7vzy";
+"tikzcodeblocks.doc-0.13"="8m630gycw97jd889kzadiqmab6h1ngzg";
+"tikzducks-1.5"="gikyjz3fcj48az20ksklc1q8dw7v2zzs";
+"tikzducks.doc-1.5"="cyfi8a8hrmwfvk2vc3cnrbzl000mjw3r";
 "tikzinclude-1.0"="hh3h2srdlz39dv69wdwcrmjr1pps271a";
 "tikzinclude.doc-1.0"="qdzw00zvqp206krl9ph782lvrmvjphm9";
 "tikzinclude.source-1.0"="bznb6w85hk7nzsmnglz01qvi4mp64bqf";
-"tikzlings-0.2"="5zj4kybqjbzbnfkzhac84g2za5wii9a3";
-"tikzlings.doc-0.2"="vrmilr20lir4628xr132mv82gz4z0rd9";
+"tikzlings-0.3"="f75p9d4c4iizb6q4xhaafcdpm9y2bjjm";
+"tikzlings.doc-0.3"="rpbk1nbww341mf3qc1rqbss9xrgzjy9c";
 "tikzmark-1.8"="5k486ngj472l6mz533nfcgj43zlp1sjl";
 "tikzmark.doc-1.8"="0ljfqj9mzqrxy9hz1bjzm0z3i5hk650q";
 "tikzmark.source-1.8"="864falsbql4b9wwxyf5g0xm5dwmzydrh";
 "tikzmarmots-1.0"="d4603hm1maqsp6s2mpr3d9czb040x96q";
 "tikzmarmots.doc-1.0"="yqa28x78pg3513ni6xd11511pyqivkia";
-"tikzorbital-2019"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
-"tikzorbital.doc-2019"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
+"tikzorbital-36439"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
+"tikzorbital.doc-36439"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
+"tikzpackets-1.0"="i3009cdw6jnd3s71ywvf09yjns3zh9w2";
+"tikzpackets.doc-1.0"="nn65q1jhygbaq5karp9msk27fiqc7gn0";
 "tikzpagenodes-1.1"="bbppcjhxjza1vhld9n9kjdm5jf03by5f";
 "tikzpagenodes.doc-1.1"="qds77qax9drbdmnw93lsg9lzkd7kjmnj";
 "tikzpagenodes.source-1.1"="bm54xhdx003f6j5j2csj6272d6pqxbmd";
@@ -3894,30 +3989,26 @@
 "tikzsymbols-4.10c"="x1wdz62q9x6idd6893pbcm0d0k55b3j1";
 "tikzsymbols.doc-4.10c"="97p2haamz7kk8i970pa01x5gx1xmcrzh";
 "tikzsymbols.source-4.10c"="wllywv4fs2xfv3xvd92qkgm905yssplw";
-"timing-diagrams-2019"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
-"timing-diagrams.doc-2019"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
+"tikztosvg-0.1.2"="bs7gqmm4lxrl5lv1bm4daw1xzkngg8dy";
+"tikztosvg.doc-0.1.2"="6rqqfdii214j35p9r6nd9qz8j87vf4dx";
+"tile-graphic-55325"="4b69a5fzrw3d7p41hbs3wb6z2xjbjwd2";
+"tile-graphic.doc-55325"="6rf8g43yhshj957h5hpgvqdwlg6gl4pw";
+"tile-graphic.source-55325"="ykbr7wimacjsgnplspan1i4xx8jz01a6";
+"timing-diagrams-31491"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
+"timing-diagrams.doc-31491"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
 "tipfr-1.5"="dd5jgd6y7rzspj6shr5mbqcbbzyncv2b";
 "tipfr.doc-1.5"="w5mslbn2d53wzdkaynxigaw4344psp9j";
-"tkz-base-3.02c"="rn3wqrrmhrqd3sylby0dj279zkpxw1p9";
-"tkz-base.doc-3.02c"="k2ad8vfxnf6fylix77hi3ssfirk9nldn";
-"tkz-berge-1.00c"="jgkikvl8nnvmhqkkqivl57zc175cp2kk";
-"tkz-berge.doc-1.00c"="dk8ip06kr5rijf38ljwz8ik46zfkg083";
-"tkz-doc-1.2c"="c3g1qykgrrsbl8yv1yb82fqlcfac86rx";
-"tkz-doc.doc-1.2c"="fda97y84cy38jndp32gj3yl1yv3dl0yl";
-"tkz-euclide-3.02c"="94ryxqd8hrhh64dhwr0292nbgrgli70a";
-"tkz-euclide.doc-3.02c"="i3kzk9df4sqa4k8lcfy1h0jd8hkrdwsi";
-"tkz-fct-1.2"="vk9mpsg0jvr9m7bz9ir7fkw864xq0ls0";
-"tkz-fct.doc-1.2"="dwwhwxzxb2019z9lin41ggw2ij9pp13g";
-"tkz-graph-1.00_d"="bhjvlldz48jx4glwmbqlzsca5ngw72sz";
-"tkz-graph.doc-1.00_d"="cj8h2qaphxpgf1p40vzfwdvxqylh8hjd";
-"tkz-kiviat-0.1b"="1w9f137a433521ihdb8qdp3d3k8qpjy3";
-"tkz-kiviat.doc-0.1b"="axjzch4m75pp2b9xhg24a2938d5dc2sw";
-"tkz-linknodes-1.1d"="xi3k8dlzgayvpjfjmqjvpws952l4mx57";
-"tkz-linknodes.doc-1.1d"="k50ym2dflswvk1wj1fic656v09hllhkr";
+"tkz-base-3.06c"="yddvv01pj1mpbzja1ind90dg1rzv01m3";
+"tkz-base.doc-3.06c"="daf1mpqgdp05qz0s4fnn6c073xy1ad3p";
+"tkz-doc.doc-1.43c"="2fwqrhjbl0iwsk4z1mrkycbpgbiszzry";
+"tkz-euclide-3.06c"="cnrg4nv9ijhvy43qmalakq9162i733rp";
+"tkz-euclide.doc-3.06c"="2d7cqmngwrnk0pryfb0wq95v6wsahjbr";
+"tkz-fct-1.3c"="v0r886rf3b1yxc1dkbr2isf6ykqkya2g";
+"tkz-fct.doc-1.3c"="p79yk6b8h2f7pzxyh2547d2ax8np2vcb";
 "tkz-orm-0.1.4"="kvjkkbbapnd2f03g4h48ic729s8yvn5z";
 "tkz-orm.doc-0.1.4"="20ccyjaxz59v4yvbrz18ql5dz05nqxj8";
-"tkz-tab-1.4e"="6l6g2sakss447slpcbvi6pybl8csvbhw";
-"tkz-tab.doc-1.4e"="2h8c23y9scrcqapb5s15digbnvcvynvh";
+"tkz-tab-2.12c"="039n2xx1sxi5570vq84dpbp1a9crmzqc";
+"tkz-tab.doc-2.12c"="q8qbxz33cyhly0ghrrrkskc5rzmvbh3w";
 "tqft-2.1"="jg1k2p45j027wivwykric03v8vgfgaaw";
 "tqft.doc-2.1"="0qc7pjywc0dwxkw750xsqb67f6cpzka2";
 "tqft.source-2.1"="2kasg0q4bb70r80kaxm5hykahynk7vbf";
@@ -3932,9 +4023,9 @@
 "paralist.source-2.7"="vs1jw2rijrnym49vd3w1nxswq52lvf9g";
 "placeins-2.2"="ac0ckzyrg9k2akv26dg4hck4q3w3z141";
 "placeins.doc-2.2"="ab3faqlwqspnnrvigdsljl9ykqyi2gfm";
-"sauerj-2019"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
-"sauerj.doc-2019"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
-"sauerj.source-2019"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
+"sauerj-15878"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
+"sauerj.doc-15878"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
+"sauerj.source-15878"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
 "xifthen-1.4.0"="4d6x7yb6hdr4xg2dn572gwpfnykppsph";
 "xifthen.doc-1.4.0"="364kifdxmk5ak2flyqcfzjgv0dbsykax";
 "venndiagram-1.2"="pxwyrzjwbkkyhfm22v13p2mm5l9s2bqp";
@@ -3949,9 +4040,9 @@
 "colophon-1.1"="7naibja70d1kb637ydb5jbj3xbgxa4l5";
 "colophon.doc-1.1"="m0y1dcw2ymnr8a09a8wzj6vw00ns055g";
 "colophon.source-1.1"="xfrkdkkk54q9zbhv9jzwm2bf43czj0na";
-"colordoc-2019"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
-"colordoc.doc-2019"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
-"colordoc.source-2019"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
+"colordoc-18270"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
+"colordoc.doc-18270"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
+"colordoc.source-18270"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
 "colorinfo-0.3c"="x5wwpzhcm3ppfg6hh0dcr3rl7cjs23zn";
 "colorinfo.doc-0.3c"="ppz8wrqzph8cq5dggikgi0gphmg0y1hj";
 "coloring-0.2"="qdjj8va77wpin0pw6izv2lhjj0cm8zfd";
@@ -3988,8 +4079,10 @@
 "competences.source-1.0"="hlmzbgb3fd33miycrryvs4pb3sglrgis";
 "concepts-0.0.5-r1"="n6f2szv53cszq0ybd93wcggz3jl0wf00";
 "concepts.doc-0.0.5-r1"="xww0baz5rff17j0c56d1d0j1mh2zfpqs";
-"concprog-2019"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
-"concprog.doc-2019"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
+"concprog-18791"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
+"concprog.doc-18791"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
+"conditext-1.5"="d20ybvbjsp9w3wrkyib8i7axc7kfd0vc";
+"conditext.doc-1.5"="3glal9zw8s5cdz7am17g7ngsj6dfhbh8";
 "constants-1.0"="p22vxmnw3a68jgrwxzvs90x1ads7vy08";
 "constants.doc-1.0"="0d8avlpp7ra6jin7rq92vrpa6c97q5g4";
 "constants.source-1.0"="44ajza7nr171n3nlbj0lqqq7bld53i1a";
@@ -4002,9 +4095,9 @@
 "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";
+"conv-xkv-43558"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
+"conv-xkv.doc-43558"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
+"conv-xkv.source-43558"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
 "cooking-0.9b"="sp0gxpgc190gn2wngw7nqzay88hykl4x";
 "cooking.doc-0.9b"="15mncbdsswn8q6914ijlhzlg5ch6schl";
 "cooking.source-0.9b"="n6pvjf2lx012s5y29qc5mjkiz8dinkjr";
@@ -4051,11 +4144,11 @@
 "cprotect.source-1.0e"="lzyx2nvma23d6ds8cl52zfxhsdjjshnc";
 "crbox-0.1"="y7zkz2wszr0iv7y3bhcgcaddsw3d54hp";
 "crbox.doc-0.1"="64zk4z35xzpxa2dmb4am67dnilqs8mqa";
-"crossreference-2019"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
-"crossreference.doc-2019"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
-"crossreference.source-2019"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
-"crossreftools-0.9"="vgcy207mpng8cgp6a7vpy8frjakpfxp0";
-"crossreftools.doc-0.9"="fzfbdclk2h75vzllslywskqlly2pd2sa";
+"crossreference-15878"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
+"crossreference.doc-15878"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
+"crossreference.source-15878"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
+"crossreftools-1.0"="ajn6w7b0nk4i3jhppd2ikmkmjj85c12p";
+"crossreftools.doc-1.0"="2khdwzgrmdnpidnf8qqhnw31mf208sp0";
 "csquotes-5.2j"="a8ii20nagxkr6657vwz3py2jjbqwa0lg";
 "csquotes.doc-5.2j"="928657z95scss0zv6bz8j8p79q63gz23";
 "css-colors-1.02"="5ybcj58dl55v53z40fvb3mgc8hl93z8x";
@@ -4071,21 +4164,21 @@
 "currency-0.4"="fqjh128rxjxdrqy84xvsa3wq00r5j0dg";
 "currency.doc-0.4"="2k9w5bdkp4h7gq9ln3x36h0jxpaq5w2b";
 "currency.source-0.4"="43f9s81xgzgcc49wvwv7n6pzn2jzbzd7";
-"currfile-0.7c"="8zm55f76nvvsgyjj4fck1jzqxfgv389q";
-"currfile.doc-0.7c"="y1cdz8qj6n4327smxxbp5fzmn7apg2cp";
-"currfile.source-0.7c"="bfsbb72fld42c15qq3zddgr0agfigc14";
-"currvita-2019"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
-"currvita.doc-2019"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
-"currvita.source-2019"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
+"currfile-0.7d"="msb94fkjy9acdkgdana9hrhz3l260nvp";
+"currfile.doc-0.7d"="l03cswk0j2z12hy8g8icbl4hzpzplsi6";
+"currfile.source-0.7d"="92mcrpc45584cdnzpfg9awzp19ni2s7n";
+"currvita-15878"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
+"currvita.doc-15878"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
+"currvita.source-15878"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
 "cutwin-0.1"="q1c752nzdf2jw9agyb3aj6ishnk3yy7c";
 "cutwin.doc-0.1"="pawz3k75s1nws5nd0ilhgvy3g5ndfwvp";
 "cutwin.source-0.1"="c9aw3vjaxldf082z61m61d7p7rsaynfb";
-"cv-2019"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
-"cv.doc-2019"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
+"cv-15878"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
+"cv.doc-15878"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
 "cv4tw-0.2"="zw6g6n1l4mcnjdbpfx36h1l7ix8gj6sv";
 "cv4tw.doc-0.2"="49ghjsydw5i13nwglc69xmm1z0ypxlyd";
-"cweb-latex-2019"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
-"cweb-latex.doc-2019"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
+"cweb-latex-28878"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
+"cweb-latex.doc-28878"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
 "cyber-2.2"="qw2kap0b32i1zm67s9lz70mxc8v8smrs";
 "cyber.doc-2.2"="9fqzmqyaiclmpl947xwj5kjcp6fic9md";
 "cyber.source-2.2"="jkylpl3n1m87qch68sqm7njxgp8wv86p";
@@ -4120,9 +4213,9 @@
 "datetime-2.60"="59y83sl151h396xz62kp975q9vplg195";
 "datetime.doc-2.60"="dzj8ihkcdv1hcxxi5vrqbv8ga05mx6l1";
 "datetime.source-2.60"="b5x1cfqxg3rlbmdzc1g18i76rk7m1323";
-"datetime2-1.5.5"="s48m4my1y6kfj43zyi7hm2v6y82j2b6q";
-"datetime2.doc-1.5.5"="bafnlgqaydnswir2sq6x8xqi7llil4vn";
-"datetime2.source-1.5.5"="idj2pmch8h2sfdqg7hg3rcc7b3dc1mc1";
+"datetime2-1.5.6"="jiik36pz5j68w19mycifqgvla3588ycq";
+"datetime2.doc-1.5.6"="f4w3xjfs4ry44h10agmlyz66x6561l66";
+"datetime2.source-1.5.6"="flnrn4xysp4g33iarqw1waig14z3hz39";
 "datetime2-bahasai-1.01"="avsk4v66gfbscliygrhgk7jvfrv5vyrq";
 "datetime2-bahasai.doc-1.01"="km12sq45cjy831csfq3j0gvy6458j86h";
 "datetime2-bahasai.source-1.01"="y87vz4sib2zw70643lm50cfsknzxnydm";
@@ -4165,9 +4258,9 @@
 "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";
+"datetime2-french-1.03"="2nlq5rv292gl8gzwi9g2v3r8yvr3602w";
+"datetime2-french.doc-1.03"="94adprfzvln7xxv49gcdcng2ma28lm6r";
+"datetime2-french.source-1.03"="sfzsp07jb5ahflwrdy0fbhsapbbc9awx";
 "datetime2-galician-1.0"="jdzbi8dkc958r8fvpb5xqjmz7i5iiffz";
 "datetime2-galician.doc-1.0"="kanyn2kcrxp309crnj0wg3v34w93jndg";
 "datetime2-galician.source-1.0"="qjnph2vad7hl5d3jzzn58mz90jyvpgw2";
@@ -4210,9 +4303,9 @@
 "datetime2-portuges-1.1"="pbj76lwnghjjw5vglf9s05jqzkfc4gsf";
 "datetime2-portuges.doc-1.1"="mpg9vz4wd4b3vb3ksyxl21j0wsr2n6dh";
 "datetime2-portuges.source-1.1"="fcjicqpvz5cbshrq1w9y2a19sz0hqifq";
-"datetime2-romanian-1.01"="4cf2q7zs9wccx1cg2an0gfr3pgbfgvld";
-"datetime2-romanian.doc-1.01"="wzjqwrn0xrwhvz5yqdw1v9942h6f1s4b";
-"datetime2-romanian.source-1.01"="9apbkgyiy21r9lahbrffpnn3l1b6z7fg";
+"datetime2-romanian-1.02"="qag8c3rf1mjb0s7sqdri548ixd9rb1hj";
+"datetime2-romanian.doc-1.02"="dd80f68mbdd455s8njq5046z7slh47xa";
+"datetime2-romanian.source-1.02"="2fzqjvhdqh2fzl1fbskrahs0pjyfyw1p";
 "datetime2-russian-1.1"="hmdzwgxk166nibagd4c1qsxi7y0404zn";
 "datetime2-russian.doc-1.1"="mhv8b0716ihi3lxgyzd481dyv6gkf303";
 "datetime2-russian.source-1.1"="8749wgrkq93h4z7lasrwb3b03z2nfzq1";
@@ -4251,44 +4344,46 @@
 "datetime2-welsh.source-1.1"="95qmsn3rm7bsavz4kg4xf0ygdmf70kqg";
 "dblfloatfix-1.0a"="d1796nn206cs1jsas8kc05p0bfcb80rm";
 "dblfloatfix.doc-1.0a"="2rgw8lakmgyv5abzbpcngs9g1lrfdps1";
-"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-2019"="akp06kcf04g4dx2ph7bs5cg4byld136r";
-"delimtxt.doc-2019"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
-"delimtxt.source-2019"="j788dpwxgryml7ny68nzab9c3dy0322z";
-"denisbdoc-0.7"="fxcj67mah72g8w5xmrwb10vm1hxmciix";
-"denisbdoc.doc-0.7"="k4qq3apgqk0xgxgmrmqpl039hwzb478p";
-"denisbdoc.source-0.7"="45fl1pbbkiwk3b5cwl9ylcs1vxpdz8m5";
-"diagbox-2.3"="wnh1cc0hvk7lyh896mmsxcjsn24pi97w";
-"diagbox.doc-2.3"="3n73xzb7mla1rk8ri0ia9xg17q13r22y";
-"diagbox.source-2.3"="iczs18l4qfijgpb7fjqjj7w86m6smpn8";
+"decimal-23374"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
+"decimal.doc-23374"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
+"decimal.source-23374"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
+"decorule-0.7"="h52pi0lxysb91xdpx1dkybv3k0y7gybh";
+"decorule.doc-0.7"="3ba4y00y09a16py659yg2wmba7bxxc83";
+"decorule.source-0.7"="sdm70by35wc4jbjwq1d2f1jq2njdgk41";
+"delimtxt-16549"="akp06kcf04g4dx2ph7bs5cg4byld136r";
+"delimtxt.doc-16549"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
+"delimtxt.source-16549"="j788dpwxgryml7ny68nzab9c3dy0322z";
+"denisbdoc-0.9"="blzw94fnv6kr25yvf7r637wwkxdkkl24";
+"denisbdoc.doc-0.9"="sk4wdmr6zv8czg80zwzhb9b9zr86960p";
+"denisbdoc.source-0.9"="vln9nx7s68vdr55mc1j9ahrsrxdh9m1p";
+"diabetes-logbook-54810"="x5s8rl10s8fg10xwa8s972zay7ximns5";
+"diabetes-logbook.doc-54810"="kcpszp5n9np9v31iha2yhz31h5b5snnx";
+"diagbox-2.4"="2d44gh8w38gdb44amp3c5vj4calw00bh";
+"diagbox.doc-2.4"="847q422hmpar0wv6whir9j170s96wd05";
+"diagbox.source-2.4"="z5zh8cacxrxglwb8hsakr6did136nb4r";
 "diagnose-0.2"="dbkvix4h3jhwq9pd2g9ydknc87z3zlr3";
 "diagnose.doc-0.2"="0b0ajzf5gvv3901szcwnkb7938sgqqr9";
-"dialogl-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";
+"dialogl-28946"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
+"dialogl.doc-28946"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
+"dialogl.source-28946"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
+"dichokey-17192"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
+"dichokey.doc-17192"="af0pz0ixx95k8abfhximgla5jjly9ddf";
+"dinbrief-15878"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
+"dinbrief.doc-15878"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
+"dinbrief.source-15878"="b3hcmv6mjq48yhjl7g32yv9s1p3d0hkw";
 "directory-1.20"="7r6n8s393idf94madvzpfz70qvmy9n5z";
 "directory.doc-1.20"="shvbxhb02d3lw1sn3ayvx5xs6qayxjkh";
 "dirtytalk-1.0"="1a6r7pzqjy14f4f7vnlqgqdb6r0yfm1g";
 "dirtytalk.doc-1.0"="h383wrcj7pxb3mnqnssb48qx0zzw61gx";
 "dirtytalk.source-1.0"="dzvypzk6yrjli5zmr06xc2mqyajrvz1j";
-"dlfltxb-2019"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
-"dlfltxb.doc-2019"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
+"dlfltxb-17337"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
+"dlfltxb.doc-17337"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
 "dnaseq-0.01"="719cl1bfw7c1psv115pmrn7bijd0kxsr";
 "dnaseq.doc-0.01"="f8yw32bkw0chrk221qga668jpfnb3rk0";
 "dnaseq.source-0.01"="7aw7332aklsigpg8fazvv7ips2a236x6";
-"doclicense-1.10.0"="f063is9c1f8jv30mvpn9c165n9wdkkd0";
-"doclicense.doc-1.10.0"="y8l4xdnynqxarsj5p8y582baf0fx1rbi";
-"doclicense.source-1.10.0"="f6wxl53cvy87ws837gmhdl7rq6r0lxcd";
+"doclicense-2.2.1"="z9cadl4asc0l8qbspz9q1whnsavwqnfg";
+"doclicense.doc-2.2.1"="6dsd5dsnky9xhhcvcp8r2znkby5vpkws";
+"doclicense.source-2.2.1"="kj2qj6wbyrrqssghg8r198zwib5zdblf";
 "docmfp-1.2d"="5az4cgljj1gmc28z6kwy9g4h49gzkplf";
 "docmfp.doc-1.2d"="rn7s95z09ijvddynz2dda2lpqidzbbnw";
 "docmfp.source-1.2d"="c6swy2dkxzrprrl0zjbphcf15x6my5l2";
@@ -4301,8 +4396,10 @@
 "documentation-0.1"="kji3s9vf00jpl198nm49dxfxw8yh3xkh";
 "documentation.doc-0.1"="ir7a948d9yliinmb3y55vx8wa2zi4ada";
 "documentation.source-0.1"="gjlkrc2a087589g9lrk9sh8g4q0l03vq";
-"doi-2019"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
-"doi.doc-2019"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
+"docutils-56594"="3ylh872bbn7bjwdm9zw1w7iffjbygm9c";
+"docutils.doc-56594"="gf2wpavh0fipnib447z8zjyssm88s9r9";
+"doi-48634"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
+"doi.doc-48634"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
 "dotarrow-0.01a"="an0dsydrk9bfcahzi356nrfq9fw0i9fs";
 "dotarrow.doc-0.01a"="ay137znk96s545wq4sligy3q832m4g91";
 "dotarrow.source-0.01a"="g5krgdbp4bdfhk40s759qw2j6f7n6ss7";
@@ -4317,8 +4414,8 @@
 "dox-2.4"="vmv0sf0gjb0hgimhyyxah2n9z7kfc60r";
 "dox.doc-2.4"="mjc4chfbw9nnq06h6sr9v5q7mx0yf3w5";
 "dox.source-2.4"="6pwhbz64rwylp60nhay1ij6bls33aqcx";
-"dpfloat-2019"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
-"dpfloat.doc-2019"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
+"dpfloat-17196"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
+"dpfloat.doc-17196"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
 "dprogress-0.1"="6bz0iy8fa34famjb67k3q1xhsca311k3";
 "dprogress.doc-0.1"="9x4n68z2vp63dvhc4g30yar4z70xkxbb";
 "dprogress.source-0.1"="g0d00q6x7wagml9hphd9b2ddg7zn887a";
@@ -4330,11 +4427,11 @@
 "draftcopy.source-2.16"="b6319hjnccfx3xxfrxz1kmx9813aik0a";
 "draftfigure-0.2"="w154bzgm94wzqs4shyi3vir6vzfd7324";
 "draftfigure.doc-0.2"="n3cvgb3mn0a0asrk5wng4f5pnr36k337";
-"draftwatermark-1.2"="r78p4n8jbzjvx8p7gx1fj7fp4h56x4xq";
-"draftwatermark.doc-1.2"="6mzqbw0grmivgby8vqiqf04i9dnvvimb";
-"draftwatermark.source-1.2"="6p47ci9wfjq7svn09df09p4jxwvyfzxa";
-"dtk-2.08f"="4v50smdv44x4fp57sjdjk4sl0jd8hmnc";
-"dtk.doc-2.08f"="3gr8dvcl3553c4i8z04666lscw69llyr";
+"draftwatermark-2.2"="2rrmq8jllyx6w1kiz8xynz3rqvalnmrk";
+"draftwatermark.doc-2.2"="apbh042x5qis6y4hp5rglh04vrz62afc";
+"draftwatermark.source-2.2"="9icchlivyradf2n8zzzys45jkqd4ax9n";
+"dtk-2.08g"="4v50smdv44x4fp57sjdjk4sl0jd8hmnc";
+"dtk.doc-2.08g"="3gr8dvcl3553c4i8z04666lscw69llyr";
 "dtxdescribe-1.02"="2bhwnkb5id2raigd4iywhf7da7c772zr";
 "dtxdescribe.doc-1.02"="2ygyzgrllyq4fa2xbf8fyrfk810w2ja9";
 "dtxdescribe.source-1.02"="39inl1ksgzd28sszdfjyyq80gscdc6xs";
@@ -4352,12 +4449,12 @@
 "dynamicnumber.source-0.1.3"="1s5p8px5hk951cifga7as2cys5p9v9g8";
 "dynblocks-0.2b"="svrn2iyvz97vsdz7zf2npfjjmj1hiiwd";
 "dynblocks.doc-0.2b"="vbfwn0p5rpddhfbj5dzzg8y777i69s62";
-"ean13isbn-2019"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
-"ean13isbn.doc-2019"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
+"ean13isbn-15878"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
+"ean13isbn.doc-15878"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
 "easy-0.99"="jb9dranvwd0ngzigpq8kla53wnd99fiz";
 "easy.doc-0.99"="m4hx4j5snaiip3mzz1hnakcqjdmhmy4z";
-"easy-todo-2019"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
-"easy-todo.doc-2019"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
+"easy-todo-32677"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
+"easy-todo.doc-32677"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
 "easyfig-1.2a"="l6pbmvwsjjnrpxl6d9v6askvk0fvqpyn";
 "easyfig.doc-1.2a"="glg4115m5lkacjxdq29my9a01xn5mj13";
 "easyfig.source-1.2a"="szidzjjq2h8aiqh995xcd37460xx5lbz";
@@ -4380,6 +4477,8 @@
 "ed-1.8"="i6pnwa7a3fvvlsc6cfdzm73c8zh2wjf2";
 "ed.doc-1.8"="bxhdx8i27bjbxybz2lfwk4wjl597mgdk";
 "ed.source-1.8"="3lq35kmqyxqrrj9rznwlj922iwbxr6qc";
+"edichokey-2.01y"="fba596rhvgbccbrmdjzdqhx3a3k8fd20";
+"edichokey.doc-2.01y"="8hir9vw34lrizkxivznzbwcypvxjssk4";
 "edmargin-1.2"="crg5k7p997nxfxjhlrv2wcmvb673g0ry";
 "edmargin.doc-1.2"="wfdkbmlhvmwcba9jkg3p83vsqj4k3dxh";
 "edmargin.source-1.2"="j439fzcg8r3rcwr9kadrlx9rp4wvxs9r";
@@ -4392,24 +4491,24 @@
 "egplot-1.02a"="wjw51hmdhl76wqrgj9ylhyb656rfqmg9";
 "egplot.doc-1.02a"="3ybfma3qjwnmd9djk0ckr22kvln7ksgi";
 "egplot.source-1.02a"="lpd8c8hpz0vpln7hq4ck2xm896hhkjz5";
-"ehhline-1.0"="0ayan5v26fd54c0nrvs590ny44pwamg4";
-"ehhline.doc-1.0"="f4gk0s21pnnvjf753z83vyprvhcsvrs2";
-"elegantbook-3.10"="wz7jz9gjfv6qlfqg9c6j4ljsr86464bw";
-"elegantbook.doc-3.10"="yqyynhw3dpbzmr3zval1xwdgifg87cnd";
-"elegantnote-2.20"="mhbycimafrwq4kqnm83mgil533z1f4vf";
-"elegantnote.doc-2.20"="ln51l8wlqqyrg9p01kanpf2ahzxyrr2g";
-"elegantpaper-0.08"="wccij61cpjzcyw006hzhgdvv7i4kxfpk";
-"elegantpaper.doc-0.08"="mngv13z3srw192zl58fy7vrqn6i31sjg";
+"ehhline-1.1"="zvpll3g8lwzzc6pna6yz84g4vmchvr2p";
+"ehhline.doc-1.1"="in9l558n65w88wipl7rijrlz7m14ygdi";
+"elegantbook-3.11"="8b5ph3pghzqw6w87r3j7syv8wvbwi693";
+"elegantbook.doc-3.11"="4vpyymvj9yn902bz7rizay726icsrpx7";
+"elegantnote-2.30"="2j2whlfmm5nydbm7rinsrxpj7sxxf5nk";
+"elegantnote.doc-2.30"="b807hfa7p6zybw2mxrnc8ic2xpplq3p4";
+"elegantpaper-0.09"="r8jqan4yc8rcsxpi6lnxc4sfprijnh50";
+"elegantpaper.doc-0.09"="d3ax4aghz14cbkw2a9nc22if598r9fhr";
 "elements-0.3"="5jhgr3w0l71k6yyah71sns2cyib3w6rs";
 "elements.doc-0.3"="64ad2wwg0s9s56416gdw3y2k19qj3isl";
-"ellipsis-2019"="cnpqy3kavs6v3r35x6hp9cny47lp47vq";
-"ellipsis.doc-2019"="pl4c26az5319bjkqmp0byyjh6m2ghxnf";
-"ellipsis.source-2019"="s1vmh5xsvqrwhd0c4qqk4qw9pgmm62ms";
+"ellipsis-1.8"="r0sz3fsnxpphg5jrwpqr06l9j9qci49h";
+"ellipsis.doc-1.8"="wx7z1wwcsgqhs1gpgjy90mj3m0j4w47h";
+"ellipsis.source-1.8"="ics0hg4wsp162y5abmwdgv30fj67sjms";
 "elmath-1.2"="pljnyyb5wp8n5f7g5wp2hb0f7aizxwyd";
 "elmath.doc-1.2"="9rrybpg3pziqa42bkhblp14jjz6zgm2v";
 "elmath.source-1.2"="fnw5k3ck3nbphv71xqlyq6yisgq04xjc";
-"elpres-0.4a"="mqyj4aylv6lah36gxkqrdcl2a4jgvnlk";
-"elpres.doc-0.4a"="fs5jy5zzc8jg2v0gbvqr5nwdad9bmz21";
+"elpres-0.6"="ghari5ljlk9g0zdhkn1kq5c45g430r9a";
+"elpres.doc-0.6"="8v1m2wmcik8xgadgyj1b42pvnck7f0hk";
 "elzcards-1.60"="nyzh9ppq7rch8s38spiddbvgbc3jlav3";
 "elzcards.doc-1.60"="xf2cc42ypl06p2kardrq1nf3bkr0xziv";
 "elzcards.source-1.60"="k346vzql960by6gqi3fcpfjdiq6ncc26";
@@ -4419,24 +4518,27 @@
 "embedall-2.0"="bkkkbm42s039l4hsy7a06fba7y76pcdh";
 "embedall.doc-2.0"="xifjdsbhrdr372svi21sq1wwl6jin2as";
 "embedall.source-2.0"="kmanpw0yvlllsc52f4wfhh7dpby80bnc";
-"embedfile-2.9"="qx8sz5b4h94g73qrwqxfdzq8prlhghsl";
-"embedfile.doc-2.9"="afjnsnmjbzkpsn8la5w1vgmpshm076q3";
-"embedfile.source-2.9"="l98vd4zxhb171kin1n23yay14vy5arzn";
+"embedfile-2.11"="lmyii6clmd884g9f6205j11hps9ckw4p";
+"embedfile.doc-2.11"="9dr0hdvpp5g5cvq8q449cslixn0yzr4f";
+"embedfile.source-2.11"="4rz19s91zj46l9hmzgn8xkimwpjizxbs";
 "embrac-0.9"="s9j4hhy7akf4c9w38igwkgw2vm7ilwm9";
 "embrac.doc-0.9"="qvh1i7n8g5l9xzvl8sh8wnl63ki1kpsc";
 "emptypage-1.2"="lbjvj1gf2jiy15yj86d6jxlhrk66zmrm";
 "emptypage.doc-1.2"="07fnrxjidk9b42610wx6696cah8p1zdi";
 "emptypage.source-1.2"="svha86185zhrvab827x8nbn02vlp027l";
-"emulateapj-2019"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
-"emulateapj.doc-2019"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
+"emulateapj-28469"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
+"emulateapj.doc-28469"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
 "endfloat-2.7"="4fc93l83sg85k19wjriw7703zn70hz7b";
 "endfloat.doc-2.7"="85zhqgxpdbwzlr0c6dkkxnf15dx4qh3n";
 "endfloat.source-2.7"="6q86lh5x6df037hkk26rc02ypqfjk1nz";
 "endheads-1.6"="0gjn1xldvixl6lh9n2g9gyly9va84sp4";
 "endheads.doc-1.6"="y0phz9mfklcq56h6mwkx2jd535v94r72";
 "endheads.source-1.6"="x01kj0pd2b1ljs3457l1b7880vp8amdx";
-"endnotes-2019"="h3pqrcr0w5lgxgyw0glmjshyz4jpi08k";
-"endnotes.doc-2019"="fdkg195aiaccnys9dnjyiklrsvkvmx4m";
+"endnotes-53319"="h3pqrcr0w5lgxgyw0glmjshyz4jpi08k";
+"endnotes.doc-53319"="fdkg195aiaccnys9dnjyiklrsvkvmx4m";
+"endnotes-hy-54758"="3l046f4h8qjd9vc8d6s20d2bn8fjhb9d";
+"endnotes-hy.doc-54758"="4yxl7kqaz73j6inrlrb15p6b9mpkda0j";
+"endnotes-hy.source-54758"="15h17rhifyp0yxqysjvhwks8183rskk1";
 "engpron-2"="d0k5j6bdrzm418x90n8858cyw85i439m";
 "engpron.doc-2"="4mhw0220r7x85dshmar87b3jydn2jxdd";
 "engpron.source-2"="3rdxi48m3h33kn1z81md9izji6my7sdk";
@@ -4450,8 +4552,8 @@
 "enumitem-zref-1.8"="hj60650qiwzxhdk9f9pix1wgvphgqxj4";
 "enumitem-zref.doc-1.8"="nq73212kl36wimf8k4m37xzb5pr6qqdh";
 "enumitem-zref.source-1.8"="3l875sm2v3c2frxhr17rv80q36n19a9h";
-"envbig-2019"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
-"envbig.doc-2019"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
+"envbig-15878"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
+"envbig.doc-15878"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
 "environ-0.3"="abj66v6h73l8sj7rll1v0czlx99j5z8k";
 "environ.doc-0.3"="rq5cywlfalfd6c2585ihs8mabnadp2n0";
 "environ.source-0.3"="r3bq7ppaqwidvilrf1hyniqfk1fdh4d8";
@@ -4461,27 +4563,29 @@
 "epigraph-1.5e"="hhz8zdnr7k77gpqvk82mbq7v1gmcq6ig";
 "epigraph.doc-1.5e"="xkmp3p36yicjy9f8ywy7s39i5spwwf78";
 "epigraph.source-1.5e"="s20xxdnwi3pc9d6sl5md0fyh7w8vnhbd";
-"epiolmec-2019"="hpmg6yy63c52078mqmp861418xi07rgk";
-"epiolmec.doc-2019"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
-"epiolmec.source-2019"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
-"eqell-2019"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
-"eqell.doc-2019"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
+"epigraph-keys-1.0"="dz1105qmdapxazcvjwmli1hp8wc3vrsp";
+"epigraph-keys.doc-1.0"="gvycf0wi4kjcld2sic2j09nwpm4vhcxr";
+"epiolmec-15878"="hpmg6yy63c52078mqmp861418xi07rgk";
+"epiolmec.doc-15878"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
+"epiolmec.source-15878"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
+"eqell-22931"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
+"eqell.doc-22931"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
 "eqlist-2.1"="jajr72vgjddrwagibq1nmhf9lqqsk66n";
 "eqlist.doc-2.1"="ln486bm8phd0pmdfa75rjy6p1bwqzgmd";
 "eqlist.source-2.1"="r07gp9r0wb57knv1gy35kwkvksz9bxd2";
 "eqnalign-1.0a"="lcg6zvxcnzmljvqfv6lh1majiywkwnyq";
 "eqnalign.doc-1.0a"="h21nzl5g0hqh3513gbipm4fr79i6pljk";
 "eqnalign.source-1.0a"="m8i3vxkn3ciab2p86shkzzzx2ckp9d7v";
-"eqname-2019"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
+"eqname-20678"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
 "eqparbox-4.1"="c3v8vdwcjfhn85751995viymlfgwpwr1";
 "eqparbox.doc-4.1"="9mn192afkzc3pzxp5xxsm7kxpaa3yis1";
 "eqparbox.source-4.1"="s206q1m2wkjsvjz23xlsx1yy603jjisa";
 "errata-0.3"="kgx1zy8j3g12czpg8hhnjq6dwa3m8xqn";
 "errata.doc-0.3"="518rdbnh3w5jsk4vlfp93cnag3kaiwmy";
 "errata.source-0.3"="p27pa3b4plzwhxl8vpr7qigbnr8aqv11";
-"erw-l3-0.1.6"="kxphzlkm7yayqy1yf263c9bk85zz9hgi";
-"erw-l3.doc-0.1.6"="b7pk72671bq9gv3mjbf934nbp3lqcaby";
-"erw-l3.source-0.1.6"="6nbfzgfb9w00f52rg5pq03kvnm8ynnik";
+"erw-l3-3.1"="s7sivxpp0j267gxma49pbrxdmbs4f7pk";
+"erw-l3.doc-3.1"="7g7nahk60jdkzxa79fks5dxmynwqimh2";
+"erw-l3.source-3.1"="qhvqgnasnpiin8fms37rhcjyxf0hcd6w";
 "esami-2.5"="8b9bvz0jsn56nq9d27l05kfmwhggm6sw";
 "esami.doc-2.5"="y2n8zs9pk1a3zn1ag5sw4sm0kbaclqr2";
 "esdiff-1.2"="q26sgf5s4ans9qv984p9s04pginqby9z";
@@ -4492,29 +4596,26 @@
 "esint-1.2d"="74szrggzvcprs68hisb87p7nvj0i081h";
 "esint.doc-1.2d"="hjpca8jbf1aipkzs30al948hpclk6jy2";
 "esint.source-1.2d"="1mpxmf7kkdmglnz0l6nkcpbyy4k3kbqp";
-"esint-type1-2019"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
-"esint-type1.doc-2019"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
+"esint-type1-15878"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
+"esint-type1.doc-15878"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
 "etaremune-1.2"="1x3604jqbswjza4ryv49l2cs63iqcv3r";
 "etaremune.doc-1.2"="6k8qah3w1ksn77is2i8kh1nilr6qgm34";
 "etaremune.source-1.2"="5a4n5d9l39nb0v3affwx0sswnp6sv2yf";
 "etextools-3.1415926"="w78v5hb43si3j8p38simfzscyh6lglsm";
 "etextools.doc-3.1415926"="16fq8y3c226wsf57dkny9484440i61zv";
 "etextools.source-3.1415926"="ch6lsyh0nlzkdrwzsxgf87srsb40x56k";
-"etoc-1.09b"="ayn6dsc7550qxa7rxcqcp019nbfdsnfa";
-"etoc.doc-1.09b"="7if33hyz1027q1w1jfr2hi170map9d3d";
-"etoc.source-1.09b"="q1ivnwnc5dgz72fck2lzmdz6y18dgvpk";
+"etoc-1.09c"="bhd2fhjy5m6j8k0xb3hiirys8csvmwyg";
+"etoc.doc-1.09c"="5rl8ibswi4p9a8d9jmlavx5zwih05mkm";
+"etoc.source-1.09c"="18w9wy70s61yggkcxfrhfxsvjmbpr7hl";
 "eukdate-1.04"="5lql99zq8izsri87dhqf28nnchrjkyhq";
 "eukdate.doc-1.04"="f3xl3nllsr8299rjnxnhpksv7rz8pdq0";
 "eukdate.source-1.04"="scjqaadvah0kf1rxj9r2nphvffk86cis";
 "eulerpx-0.2.1"="1kvqcqfjh77lg1d1jzwj6mr2rchjpnyb";
 "eulerpx.doc-0.2.1"="8jybcgzjn8c3qyagdmaxmmy0fx89sj93";
-"europasscv-2019"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
-"europasscv.doc-2019"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
-"europecv-2019"="fmf2rbqmvglyydrw34ksz35dg3ya7v36";
-"europecv.doc-2019"="3pwjj21avp8rw3sfr8hr1gnz2blb4fzh";
-"everyhook-1.2"="ndig4g0nsbqla2i2p1n6skjjxsr3qjhv";
-"everyhook.doc-1.2"="690qpw68wri4cr4ahv1xfqibm3flc5mr";
-"everyhook.source-1.2"="rvh60i8j1gbyal0pjpdgld9l5g20zilf";
+"europasscv-49703"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
+"europasscv.doc-49703"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
+"europecv-54080"="fmf2rbqmvglyydrw34ksz35dg3ya7v36";
+"europecv.doc-54080"="3pwjj21avp8rw3sfr8hr1gnz2blb4fzh";
 "everypage-1.1"="ds2s326xkr4qvzz1pd3ln8j6841pgndq";
 "everypage.doc-1.1"="8d3v8gk3mmw9vyk9slxwwf8gshq4pcd2";
 "everypage.source-1.1"="v920b95jn03slad6q3w3fr97ricjvd3f";
@@ -4528,7 +4629,7 @@
 "examdesign-1.101"="58mxkjnnwz8z68lvxdc43gn14v6i9ysx";
 "examdesign.doc-1.101"="vr8j3mhp28h6d9zvcg6akfx9sx756zh0";
 "examdesign.source-1.101"="51c9vyfhwcp9vmhsrsvzd47q93ckw2f1";
-"example-2019"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
+"example-33398"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
 "examplep-0.04"="jnd218glfcwkbz8qprkac3nykm86lhsx";
 "examplep.doc-0.04"="lgm123fsn5wpdgbfx3kqm9h5q92qss83";
 "exceltex-0.5.1"="2zx6110fa87f5f3fabp4a163ybxd8mpv";
@@ -4542,9 +4643,12 @@
 "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";
+"exercises-1.1"="rkvmgr7ahzvi3hdskg4m3hxghxa9mzkh";
+"exercises.doc-1.1"="fz84yp1ykv7b2sspfp562305xdjz28hg";
+"exercises.source-1.1"="rdwlqw0b69q92rl6qn2k3pm8bg3mch7f";
+"exesheet-1.0"="9yvchdd3qmlr2dp30k8d4gbx8bkgnwm3";
+"exesheet.doc-1.0"="mgibzk9pksylasb5g35j73r7ydzzk37z";
+"exesheet.source-1.0"="6b6g6ijdakwvk0zscvq18h6n2wrbrabq";
 "exframe-3.4"="4ylpslzc9xy1anmf3955qv9c2qf6a2j8";
 "exframe.doc-3.4"="nnvszhbdyp6xc6kscdlsdrr1xzp60pjw";
 "exframe.source-3.4"="01lnli0q7sbbax9kzz5wil7gx6578h6d";
@@ -4568,11 +4672,11 @@
 "facsimile-1.0"="mhx5jbh4rwv10z6hd3b2w5haj02bjz0y";
 "facsimile.doc-1.0"="pb8sj68gxph376h1ph6yb65ncyblxbdw";
 "facsimile.source-1.0"="dvjli6r3pr4w74n9mnm2ix30jva6yysc";
-"factura-3.70"="mfwqcli266v23qf2mv40n65gy72pfs9y";
-"factura.doc-3.70"="mnkzfkdx0gnrkp0hcgfmlmf8w1l6m3rv";
-"factura.source-3.70"="81mpw7alzbs5f0zy1kl3ws1y5zj3si60";
-"fancyhandout-2019"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
-"fancyhandout.doc-2019"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
+"factura-3.73"="f9drhb4ndhzxfxjxcbj2i4b9brpx3691";
+"factura.doc-3.73"="pb4c019asn8hv1sld6psji01azkc89m1";
+"factura.source-3.73"="zqhhmhapy179pjgpc9g40xsgqgi365xh";
+"fancyhandout-46411"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
+"fancyhandout.doc-46411"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
 "fancylabel-1.1"="fvnw8s5y8rr4sfpff9ay2y1yqqgrwysk";
 "fancylabel.doc-1.1"="xsq1b17afxx971wfyrdgwnq2fkyqsxc7";
 "fancylabel.source-1.1"="rwq6gd28j5m49xv2h91sav2b5pf9cyvn";
@@ -4590,8 +4694,8 @@
 "fancytooltips-1.8"="92mbrk8gn6np54fx90qzcgkps3v6k54y";
 "fancytooltips.doc-1.8"="v90g2vxn8yqy9lvibqhldwm23cpvv53j";
 "fancytooltips.source-1.8"="cgj7harpp7wxh1fvh1wfx3pc0c34nhd5";
-"fbox-0.04"="jh3qscq1a545idv7l37yfvma12ww4fy0";
-"fbox.doc-0.04"="a76rv2z51nryzn49hq9hcwrk2vblfssc";
+"fbox-0.05"="kbmlphchd664izvm0frraylr6rr31rkk";
+"fbox.doc-0.05"="yc0kh1lbmwa6281m6mwb6vbk5bvis6ay";
 "fcolumn-1.2"="7gnf966fnvfcw5m4gfcxlxhixarf8v2l";
 "fcolumn.doc-1.2"="w9hp3iibs2fzympchad93fwrjzz3mn15";
 "fcolumn.source-1.2"="cx5wmvjqckiw10xd2xi66mwvq85nhmmx";
@@ -4601,8 +4705,8 @@
 "fewerfloatpages-1.0a"="f18hhill9s3ab3vrmcvvpzyl5jqxdxpi";
 "fewerfloatpages.doc-1.0a"="d6g966l36wbsyaqw26cpq3bzjln9vsvi";
 "fewerfloatpages.source-1.0a"="88x4v7p9yc5skms1zms5j3cx06lay8gm";
-"ffslides-2019"="v88vqphgndyc8bznnkpc17pcgc4f429f";
-"ffslides.doc-2019"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
+"ffslides-38895"="v88vqphgndyc8bznnkpc17pcgc4f429f";
+"ffslides.doc-38895"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
 "fgruler-1.0"="z5k7w4nncv381nbznr8c7bwq0a9k9l5m";
 "fgruler.doc-1.0"="rm6g865195d2lm97v9pbaim7jrgsnjyz";
 "fgruler.source-1.0"="67chz0f0pjn70xrxzmw7jvzgskjl9vlv";
@@ -4620,9 +4724,9 @@
 "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";
+"filedate-29529"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
+"filedate.doc-29529"="dq7487rvj7vai1j80j9sgi7hsldg433m";
+"filedate.source-29529"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
 "fileinfo-0.81a"="gbv2pynx74765fc966q0l4wpflxyi0cz";
 "fileinfo.doc-0.81a"="5y2xniw8nwg8iw11g49w04xl9fp4zyv3";
 "fileinfo.source-0.81a"="lgcw481ya8a6ag2gzd0g589sm3ndsqys";
@@ -4634,9 +4738,9 @@
 "finstrut-0.5"="adqypjvkvnkydw403q2wab9xzpvavhzz";
 "finstrut.doc-0.5"="lcyklm3jkz5nq6j956dv55n0nfyaprkx";
 "finstrut.source-0.5"="54slgzkfps6q4z7x49a5jqpc1j3p98hw";
-"fithesis-0.3.50"="y94p03g5da8ffsj5znr4v57h6d6kd2wq";
-"fithesis.doc-0.3.50"="a63mxxbhw59ywhni4c3si0y3hpxh1fsq";
-"fithesis.source-0.3.50"="25kfd698n7f5ajwz4b8sdxkl84cc8dm8";
+"fithesis-0.3.51"="gcxrl7vq8zfs19kj35j2dlchmfy8gr80";
+"fithesis.doc-0.3.51"="nil8x9yx68ji17b1xw9lc8ig8m8dsvga";
+"fithesis.source-0.3.51"="q6mx4dlif4sp21xzsy9clyl8ci7pryp2";
 "fixcmex-1.1"="p0y657r350dcr3nnwq3i0ypw3vxb4ja8";
 "fixcmex.doc-1.1"="hi9qnwgbssbkxl45ni29zlkjysn0qmnj";
 "fixcmex.source-1.1"="7b3yc3sn3pqgfzkamp4rkgfman5wy28l";
@@ -4648,8 +4752,8 @@
 "fixmetodonotes-0.2.2"="8bzda1486sb6l1miw9fwc4gag8l86pld";
 "fixmetodonotes.doc-0.2.2"="kwvshr4l5r8zgjia62ac04bpc7cy5n8w";
 "fixmetodonotes.source-0.2.2"="c3v82mnqbxnz0b2yy1g5l9yfxh1y41vd";
-"fjodor-2019"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
-"fjodor.doc-2019"="2d9qhg8icr3q3ljp18wpy0wphq2rhdsi";
+"fjodor-53207"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
+"fjodor.doc-53207"="2d9qhg8icr3q3ljp18wpy0wphq2rhdsi";
 "flabels-1.0"="pphsynfbbj4vxl9g3rklfj0igp6pzliy";
 "flabels.doc-1.0"="hpsnqln41r0ybmv2vjycd0zrxi6mwrcx";
 "flabels.source-1.0"="2x4jjggfjxvqby3yv13k0y1cgcrd0jcq";
@@ -4677,9 +4781,9 @@
 "flowfram-1.17"="lr7jldig88wv8gsvp8aphxsvc6sv4cax";
 "flowfram.doc-1.17"="3f550irxijq1vdvyxs6fyhpj5w1lw4jq";
 "flowfram.source-1.17"="66z844imyrl7bsi22vrff1f05dqlmr8p";
-"fmp-2019"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
-"fmp.doc-2019"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
-"fmp.source-2019"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
+"fmp-15878"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
+"fmp.doc-15878"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
+"fmp.source-15878"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
 "fmtcount-3.07"="zhm87ydajmphfm6hp2acvf0dbknldyvr";
 "fmtcount.doc-3.07"="9md72p30182mf6yp6x8c1jjrar73j9cg";
 "fmtcount.source-3.07"="hwq1ghmccx21k6f3sv5vyv8ikv6bxl4a";
@@ -4692,8 +4796,8 @@
 "fncychap.doc-1.34"="rncjjlyrjy916hn3ka9yaydjq6pdvn09";
 "fncylab-1.1"="lnd1s9pijjp9fnhp88fhlbz99d3lvp1m";
 "fncylab.doc-1.1"="psv8fimys5h1ps5cvhnjmwfmcwnsim5m";
-"fnpara-2019"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
-"fnpara.doc-2019"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
+"fnpara-25607"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
+"fnpara.doc-25607"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
 "fnpct-0.5"="cxgfwv34w1ply4aighh5ln7ahad4v04i";
 "fnpct.doc-0.5"="y5jqirmrd5pggkwgz7fxfrvaid7jm7q7";
 "fnumprint-1.1a"="vhhc4n3xvlkb2a31kjpkxbwrwc30r62y";
@@ -4702,11 +4806,11 @@
 "foilhtml-1.2"="78dmna552hnh9i11v9zgg6l68hmla7bc";
 "foilhtml.doc-1.2"="a2bsh99xh1lfpssggzxhiz9ipwz6bijd";
 "foilhtml.source-1.2"="lrjc6lj49c8knfh4bh9jx7vzpddxsh71";
-"fontsetup-1.002"="8nkvghhfrxfaca7iw88r4460z5fvlpkc";
-"fontsetup.doc-1.002"="s2l113cxvbbrpcsb2ympa7jivlm14a4s";
-"fontsize-0.1"="0an9sggd8hdginlv1cxs9489770q1j45";
-"fontsize.doc-0.1"="scl06w7gj8gkhds45xk96mdkgs0gpdkd";
-"fontsize.source-0.1"="4pvk1b0ryv7rnf2k6ncsj6c5rwhsw7wc";
+"fontsetup-1.007"="d4n2r53a8r9adw18bg479rbks021wf05";
+"fontsetup.doc-1.007"="1cjkfjqgzdmlqksq2lyflkz53hxjs9vm";
+"fontsize-0.2"="jk625dm838g7qj0y9r9llhsgb8y3rpsx";
+"fontsize.doc-0.2"="lj2lj6pdvgainc1bgj5p4j86w3mkf4za";
+"fontsize.source-0.2"="7jrjdh5lz8shcxv7jabxv35dh7gh04wh";
 "fonttable-1.6c"="bljjiigal2igv0y004hwa9i1yc9i4b3d";
 "fonttable.doc-1.6c"="jssz79rldva4rmrziamjqi1krl4yijan";
 "fonttable.source-1.6c"="h3g6s458yvqsrlf0h7d8046ngi10698y";
@@ -4721,9 +4825,9 @@
 "footnoterange-1.0c"="488i0ahfgp8myja7i0z7cxn61wlqdb52";
 "footnoterange.doc-1.0c"="lvi0razyvdr1cll474cb4mkdyk62nz91";
 "footnoterange.source-1.0c"="6z89fiq5iffpdapn50jqagmcrgl10jby";
-"footnpag-2019"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
-"footnpag.doc-2019"="8kar3xxxjlrsjascd28122y5rckyv5lf";
-"footnpag.source-2019"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
+"footnpag-15878"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
+"footnpag.doc-15878"="8kar3xxxjlrsjascd28122y5rckyv5lf";
+"footnpag.source-15878"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
 "forarray-1.01"="682slfwbrz58fhqj0c07lv1xwab861ks";
 "forarray.doc-1.01"="i7v5q2pjc3sjmcv3mcpdi3sffm4qs4kb";
 "forarray.source-1.01"="q23rvw19x2rk8nv6yhgg76jxfs30qfys";
@@ -4741,15 +4845,15 @@
 "formular-1.0a"="1ccyslvhjbzqyqyk4m3zh761kw2v45xk";
 "formular.doc-1.0a"="lap9j51p3dsh02ym644576gnzm3a845i";
 "formular.source-1.0a"="v80wnhg3xsl24a6bbsj4xfn82cv7ajd8";
-"fragments-2019"="jjblkk9dj72nvr2gday7p509pnlpwy16";
-"fragments.doc-2019"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
+"fragments-15878"="jjblkk9dj72nvr2gday7p509pnlpwy16";
+"fragments.doc-15878"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
 "frame-1.0"="9bdydjkb9dsdvryibfq2p1q071zhhpxb";
 "frame.doc-1.0"="fnv3ssnby17l7zmbgkc1rf4b5hysw7a1";
 "framed-0.96"="n9an7cs91wwfnkalc4j9ccd0p0dg485w";
 "framed.doc-0.96"="bwmgdv9r6rffibrm0wabw95vqdkiryfh";
-"frankenstein-2019"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
-"frankenstein.doc-2019"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
-"frankenstein.source-2019"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
+"frankenstein-15878"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
+"frankenstein.doc-15878"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
+"frankenstein.source-15878"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
 "frege-1.3"="vczq96wx0icl69c5xqcqmfsy2wdw1ncn";
 "frege.doc-1.3"="h07nnplqxq2fyh6f0wh03jpism89ji0d";
 "ftcap-1.4"="7srhgl4z3zpicxv7aakm970xy2yxnpns";
@@ -4768,25 +4872,25 @@
 "fundus-calligra-1.2"="5jn0qbj8zgi1c0166c2vdwzs1a5i8qm1";
 "fundus-calligra.doc-1.2"="dd87040kysj4av2sq7grslyjv0gx4rmd";
 "fundus-calligra.source-1.2"="s4s97ga289ncgv0rpd90b8i7qh4n7jfj";
-"fundus-cyr-2019"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
+"fundus-cyr-26019"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
 "fundus-sueterlin-1.2"="4xlq7i6k1pqmq8vc6aq8h50gs1f02l3d";
 "fundus-sueterlin.doc-1.2"="i8q42q2rzmby64v4il8jkpk7azfcrrip";
 "fundus-sueterlin.source-1.2"="rl5n5rh9akf41ls7m2gi5l9hqq6wv8j5";
 "fvextra-1.4"="pah47ygjsmqpfiq42448kyz9fahgxs04";
 "fvextra.doc-1.4"="xwl3fw21ywkf6jwchx1axwn5sxr7xwj5";
 "fvextra.source-1.4"="8jnz82fc1n2mm00f32p6sr9gijmz2v5w";
-"fwlw-2019"="887p12xhlcgydw4pddr0npyvp4xr1azf";
-"fwlw.doc-2019"="2di5y3hhm865frn42j1sh87hflxlpc1n";
+"fwlw-29803"="887p12xhlcgydw4pddr0npyvp4xr1azf";
+"fwlw.doc-29803"="2di5y3hhm865frn42j1sh87hflxlpc1n";
 "g-brief-4.0.3"="dnx0f0d7qvfrvjczz6zfrkr7dprmgnr3";
 "g-brief.doc-4.0.3"="9z095prb74z0q8b4a7wppdkmmc0c34k5";
 "g-brief.source-4.0.3"="v6210yn1lfk3wkr6y2b2fq9vl0n8cpsz";
 "gatherenum-1.8"="ki18pb9dgca5cpjg723prb0kh2kin6qm";
 "gatherenum.doc-1.8"="w3s6z3566877vg2jshbvcqb8v757v1di";
 "gatherenum.source-1.8"="s37a7faiilrfxyr4iq77j2r3i27l9w98";
-"gauss-2019"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
-"gauss.doc-2019"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
-"gcard-2019"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
-"gcard.doc-2019"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
+"gauss-32934"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
+"gauss.doc-32934"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
+"gcard-15878"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
+"gcard.doc-15878"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
 "gcite-1.0.1"="z7ha969s3ry7g9ibv521f2d6vr9lcxx7";
 "gcite.doc-1.0.1"="3bb2z8jbygadc7qzmjz024dqzphncy4f";
 "gcite.source-1.0.1"="v3fbj2j823jh4gy1vrc4f74qsdbfqnpa";
@@ -4815,15 +4919,15 @@
 "gitinfo2.doc-2.0.7"="l2rsxd08m2y44wg53q2adl7d084r14cf";
 "gitlog-0.0.beta"="q64k3v3pwcvg8abw382rijglrgllfvwx";
 "gitlog.doc-0.0.beta"="29ysf5jz8cvwanmhad4ka66jcwxn9a1i";
-"gitver-1.0"="82v18vqp96y60wb50jk7ca2wnhx45i1x";
-"gitver.doc-1.0"="4ib0jxlml1dn8sy6x1al8p6m8n8sink5";
+"gitver-1.1"="h8a7jyl9vdz7va6ia9ncyal0himdc1ba";
+"gitver.doc-1.1"="v0w2s16f0xqrgfcj0zsrwbrk5788bncb";
 "globalvals-1.1"="cjs44i0mivi683bifs5icf9nk3jr7v8k";
 "globalvals.doc-1.1"="2pdq5ik88cr3z5x9j5jvqz1k6abkllm4";
 "gloss-1.5.2"="xacfn3b2z30pnj9lwh6mximrbsfvarfs";
 "gloss.doc-1.5.2"="4qial5a0p7ip784xgpqgkl6cmabd9hlq";
-"glossaries-4.45"="nw8b7c7zzrkxjwrgxn38xgwf3fkxl223";
-"glossaries.doc-4.45"="h6h684jjcjppk0k7jh6vnw9jkj16qi8b";
-"glossaries.source-4.45"="d1w2xfn501p0kyrdimrhj39fx0ms2g7p";
+"glossaries-4.46"="98jz6vs432yzrl7p9xxxg82mlvan3kqd";
+"glossaries.doc-4.46"="45hwssk4gbgbk0i21mpx6i9vqphniy2w";
+"glossaries.source-4.46"="xgcfsn8k1daf8db39zgflzg0il0hp132";
 "glossaries-danish-1.0"="hmaay0viwacnrz7bfz6xlpb03cmsphcc";
 "glossaries-danish.doc-1.0"="mxgh9b6vc63llhmfildmhkhjxd1s9kbq";
 "glossaries-danish.source-1.0"="s5ayfh10z40cpi9amn2d1wwpnby0qgaw";
@@ -4836,9 +4940,9 @@
 "glossaries-estonian-1.0"="3flqr7abc4hqy63p0bdl0bz0y04mq07s";
 "glossaries-estonian.doc-1.0"="dd2rrp43ix2hcwnrgcidfr8z0shsgdds";
 "glossaries-estonian.source-1.0"="8y8x5qqydmnvjf8nbbj8qj550kbvddg5";
-"glossaries-extra-1.43"="8c52kxd6al3blj6wyh2n0yl99zzv23bz";
-"glossaries-extra.doc-1.43"="5n435fcxbysbmwbqpj7dx0rp9iib4y5r";
-"glossaries-extra.source-1.43"="pjx2fh7klcy7si8lra3fjbnzmvmq1il9";
+"glossaries-extra-1.45"="mn40bwpsg1bl26jdlgl3v5cbp3240s8f";
+"glossaries-extra.doc-1.45"="ic32lsr85iyw5yxpsgwdg019yjv0b8ay";
+"glossaries-extra.source-1.45"="dqa4kk128s7z6vfv71zf1910lp33fhbv";
 "glossaries-finnish-1.0"="rq7ymhc4ispv4j1zpv5iy6mbn66wr3j4";
 "glossaries-finnish.doc-1.0"="f8rj41dbpqrdxbl7h94rxnbiqm77xcj4";
 "glossaries-finnish.source-1.0"="gnj8dlxpzapvi9yvzy04rhmrs5z7hmid";
@@ -4857,6 +4961,9 @@
 "glossaries-magyar-1.0"="fqbsz09snqw5j0zlail5bh3a13nmnhy1";
 "glossaries-magyar.doc-1.0"="zd4idxawfa6rm2j353dhyak90bq2jd5y";
 "glossaries-magyar.source-1.0"="s8xxg7bh6zgxq6rvzp5lv6sp6h8ywvr3";
+"glossaries-nynorsk-1.0"="vln36xzdfqnj5dpz4x9kqqfmgspajk7k";
+"glossaries-nynorsk.doc-1.0"="7qnj0sk8vbgi8sj3kkal7m39ibfs5fsf";
+"glossaries-nynorsk.source-1.0"="p5ybin8hdvpvd4mx7xpnd622m7c7y8aa";
 "glossaries-polish-1.0"="7alkf3zirdbg0mgv66grfaa6szhjy806";
 "glossaries-polish.doc-1.0"="hhzkv01s7m4f1cyib722liyaqchxs31r";
 "glossaries-polish.source-1.0"="6pkd4wg9srcd5m92mlaa1vniyh67ahvr";
@@ -4895,9 +5002,9 @@
 "graphicxbox-1.0"="6grrmcmr2wlpx8dbj1k1nggs2b6z7qh4";
 "graphicxbox.doc-1.0"="2blrwzsralqjrvlx6xjvyaqvsi764nmx";
 "graphicxbox.source-1.0"="1vl41sp02d8byjrapj58v5pg6i2g989l";
-"grayhints-2019"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
-"grayhints.doc-2019"="gayl01rd21rc9i5x6xnd376wm907qlz5";
-"grayhints.source-2019"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
+"grayhints-49052"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
+"grayhints.doc-49052"="gayl01rd21rc9i5x6xnd376wm907qlz5";
+"grayhints.source-49052"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
 "grfpaste-0.2"="wi95wbrs7k37di2dkqnix5h21p84cb1c";
 "grfpaste.doc-0.2"="7hn9vs80ksnpaa0aqdmbv7qzhrdxwr88";
 "grid-1.0"="hf1jfkwc5j27mhxi2skf3wjwq2y1ca0w";
@@ -4910,11 +5017,11 @@
 "gridset.source-0.3"="8rwfg7mylrv2cq277769k5h4al2mqz8l";
 "gridslides-0.1.1"="r9lxxzf51dpfaprn6kvv3n1j9hf54xa8";
 "gridslides.doc-0.1.1"="jkri2k8k8nzvchpk11pgig98kw327c3m";
-"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";
+"guitlogo-1.0.0-alpha.4"="ymqlz298jrwsfq7l1j4ayisg0gcjd3ki";
+"guitlogo.doc-1.0.0-alpha.4"="mpzyviawaizp5aspkwr6kpnnjpl4qxxc";
+"guitlogo.source-1.0.0-alpha.4"="jb56079xdr5qnzpcasv9knhgpd5javab";
+"hackthefootline-46494"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
+"hackthefootline.doc-46494"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
 "halloweenmath-0.11"="mz0f21y810b3vfcpm6z8fwcjbqwdapha";
 "halloweenmath.doc-0.11"="124kqyc9ls79pm11w1cjp1705p84l4pn";
 "halloweenmath.source-0.11"="j0ld7v0za7pvrl5qwarilnjwa8lw9r2b";
@@ -4934,9 +5041,9 @@
 "harnon-cv.doc-1.0"="a7012x0ckxnym7cpbj8m12ak993bz7nc";
 "harpoon-1.0"="88cndn21h4fshiq6yvd8p68gwl2d2nd9";
 "harpoon.doc-1.0"="z21q49fw0a7wwwr6chwdd73ypkwqz1x3";
-"hc-2019"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
-"hc.doc-2019"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
-"hc.source-2019"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
+"hc-15878"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
+"hc.doc-15878"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
+"hc.source-15878"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
 "he-she-1.3"="6rnp8qmascvlz9p0hgacblpx8svapf65";
 "he-she.doc-1.3"="xl7nf17g73pn4jc3z6nc6fknr11lsf3l";
 "hhtensor-0.61"="vnl54f4l78n4x9pllg95fr5dm79qs0jg";
@@ -4949,8 +5056,8 @@
 "hitec.doc-0.0beta"="c635j2194izgji0aqily4ha7slkzghkl";
 "hletter-4.2"="mq30k7g1v6cwmcfyizfzy3hmbxa74p5g";
 "hletter.doc-4.2"="rz2hrha5xf10050hfnm05r6f4b3mx53z";
-"hobsub-2019"="cx2wdj7vb13012mibaxf3f9q8vxws8n5";
-"hobsub.doc-2019"="2fc3l968q2awmd9974h07c98f9r5hkdk";
+"hobsub-52810"="cx2wdj7vb13012mibaxf3f9q8vxws8n5";
+"hobsub.doc-52810"="2fc3l968q2awmd9974h07c98f9r5hkdk";
 "hpsdiss-1.0"="9hca9lq9r7zs3frqj6lk6hybkpgcdfmb";
 "hpsdiss.doc-1.0"="2mxarcx6cm2v2bsab8gr7ks1mj5danvl";
 "hpsdiss.source-1.0"="k3k828ddx8vv2sr8lw644ny3z5kcl59h";
@@ -4961,6 +5068,8 @@
 "hvindex.doc-0.04"="9r6a8mfj7y9kyc2dbc79vf86aw73n6l0";
 "hvqrurl-0.01a"="sjv5nl58p4f2dmcgrfdlka2z64ddljwd";
 "hvqrurl.doc-0.01a"="1hyqmdrglg2m72285vpszfx2v5mg4zby";
+"hypdestopt-2.7"="mpz4vxvr7ba0p2jlq5ginc5srzcv04mv";
+"hypdestopt.doc-2.7"="5r7xhnkas3fmc22843bpbk640l1rd95h";
 "hypdvips-3.03"="vpmmrcrilqybs4ifvd927jlkn5ip28c2";
 "hypdvips.doc-3.03"="flvlp7a268z3pzwh0jpl185k3yifzap0";
 "hyper-4.2d"="xpwylfxrx74x9aw96ridad40im7xanw1";
@@ -4971,9 +5080,9 @@
 "hyperbar.source-0.1"="iydbmx9cvsd986n970lvc3k6m28ix2rk";
 "hypernat-1.0b"="25v0a423yhy68vf125ys0n6p0qhvr088";
 "hypernat.doc-1.0b"="0n4qzpmvhks66d0g9gnyizpl44jbh4pf";
-"hyperxmp-4.1"="qry3sw3040f8kpj98zg8apqdr21z0d14";
-"hyperxmp.doc-4.1"="3dhn63b11sf4lh9ng6zc781qhk387v36";
-"hyperxmp.source-4.1"="7ylf2spylwk91a5b96nbbjv09ni3bizr";
+"hyperxmp-5.6"="m6vqa9njh29d2qfz08zrkginll6z4ba3";
+"hyperxmp.doc-5.6"="hzmi4n5x1qwq2lqk8pg2fp2rzvp2pgip";
+"hyperxmp.source-5.6"="29ay8dqq1l59ibq1lh87mrk9y527wjg8";
 "hyphenat-2.3c"="wr2lhsafb13b0zira7190bx5s68fak45";
 "hyphenat.doc-2.3c"="z1sj3r1ny1lgixr2fcmsglz55b23f5lm";
 "hyphenat.source-2.3c"="x70g8xiz9ss4pw775lz82yncq0x7lxf1";
@@ -5005,8 +5114,8 @@
 "imakeidx-1.3e"="vgspaw7w4kjbm38vzdga08j12aaqf3ad";
 "imakeidx.doc-1.3e"="p39pl4z0xkr2029czqq9nkaxz3dwdypx";
 "imakeidx.source-1.3e"="cn51y6d129cc0kzw3yx3ybziwmxy9mbs";
-"import-6.0"="r52gkgjh1szydkybvydkb8khl71nxbng";
-"import.doc-6.0"="klm57iym1w8n6w205bpljzavmrzijp1w";
+"import-6.2"="y8dqd8lzb9my7qqrcilkd4aqc378y3wj";
+"import.doc-6.2"="8ckdw8i3p8g8svz47czhxzxhcdygxpcf";
 "incgraph-1.12"="n14gyn5g1am9dyfqvxyxrqsfxdkg39xv";
 "incgraph.doc-1.12"="sp235w68gh5k1d4xg2cxv7dadyjwqyiv";
 "indextools-1.5.1"="sb2fdlrh7xlfhd61g9n3h3s9if9n6wm0";
@@ -5023,24 +5132,24 @@
 "inputtrc-0.3"="vmk80jzg9sllpw28csmhsyjd13amp567";
 "inputtrc.doc-0.3"="dl0qs37bjj4aam7ijfdg64fpl135k7b4";
 "inputtrc.source-0.3"="1nx2jv4m63gc83iy3qp46gxr3v6wyw6h";
-"interactiveworkbook-2019"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
-"interactiveworkbook.doc-2019"="ldph57php6irhdbj9w497xk31n5ggxbz";
+"interactiveworkbook-15878"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
+"interactiveworkbook.doc-15878"="ldph57php6irhdbj9w497xk31n5ggxbz";
 "interfaces-3.1"="pja00rv19b492fv0d1afkj1cmmi09wm4";
 "interfaces.doc-3.1"="bj6l95whavxkrsa5rb8791d2ib4n5gal";
 "interfaces.source-3.1"="f7gxq1s477zab7wh212nyad94kcdacqn";
-"intopdf-0.2.1"="n94n5ajyig2qix0wzfm6h501jygqgb69";
-"intopdf.doc-0.2.1"="hn0ynqp3jc0kqay69i2g7awlnc4fk9qa";
-"intopdf.source-0.2.1"="rkj6i3mfa1kqkhhdc03nrfcj9mfsy017";
+"intopdf-0.3.0"="1dwjz934hfmw7wyglg8igclgmyvmlf94";
+"intopdf.doc-0.3.0"="m7m4zg2q010ccy7ii0nz1ibv4vn3p3lr";
+"intopdf.source-0.3.0"="xvpm4xzv0dixm2mkxqbpwancav408cvp";
 "inversepath-0.2"="8csfwygw95dd5wrawwj7hs4gmpxhdwd8";
 "inversepath.doc-0.2"="b3z6dkfmk19n96dklslzszn7vfrnlcn4";
 "inversepath.source-0.2"="zpg2i1sqr76xvi6jn5vrgxvs44dlfx9z";
-"invoice-2019"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
-"invoice.doc-2019"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
+"invoice-48359"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
+"invoice.doc-48359"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
 "invoice-class-1.0"="0hyhlrisqlng2zcs0l62d84r9i4g1hv1";
 "invoice-class.doc-1.0"="psxy04bnhh1y2v63pz89j5p4bl6b1q0c";
-"invoice2-2019"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
-"invoice2.doc-2019"="cjarambfqlfz664z498dpi142ik5l12l";
-"invoice2.source-2019"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
+"invoice2-46364"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
+"invoice2.doc-46364"="cjarambfqlfz664z498dpi142ik5l12l";
+"invoice2.source-46364"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
 "iso-2.4"="p6yl8v4jyvzq5fh3qw31kgalhrv1qv22";
 "iso.doc-2.4"="xs5sw6aw59hr3xlk187dhwkg223vycsl";
 "iso.source-2.4"="vrgvl97kvsb6n82w4acm2wfjsqq00cxr";
@@ -5050,16 +5159,16 @@
 "isodate-2.28"="chng6rcfh1gy25mwsg30ynxkb87lxv0i";
 "isodate.doc-2.28"="mh1wrizl78fgn2xzqd5brm9hwb8zldhl";
 "isodate.source-2.28"="81a6l211jzdxbf84x0haybl0w0pifjag";
-"isodoc-1.10"="kkbx31k2jizwydv67ahh0zlm9iiard4n";
-"isodoc.doc-1.10"="ym2b7c1yar7h995m2ykrgrghf4i1h405";
-"isodoc.source-1.10"="618ibayyh4kp273h7jcl6zp8wl7i0mai";
+"isodoc-1.11"="8x8m3pdqqllz3r80m27vslf2hsrivy2g";
+"isodoc.doc-1.11"="xrgyr1dw4srbf5al6q6gkk2dbi3b8c8z";
+"isodoc.source-1.11"="8zki0m4dzp45yq87aqsjsl5vci3nb7xl";
 "isonums-1.0"="50diljpihfk6390ak54ml6gxg6h3qarr";
 "isonums.doc-1.0"="qbnvabarywnwbfaxqjr1afkic152hhsf";
 "isopt-0.01"="0gyj9ri30pid0xymfv457g9r0nycy6qm";
 "isopt.doc-0.01"="q8srwcqk4w0mblrqzpy70wbqqrds2k9c";
-"isorot-2019"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
-"isorot.doc-2019"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
-"isorot.source-2019"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
+"isorot-15878"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
+"isorot.doc-15878"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
+"isorot.source-15878"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
 "isotope-0.3"="paqbsfz0w4sl82imkw2zqsdwg3nlzd9c";
 "isotope.doc-0.3"="f5mylfd5fga3jy0fsdvw1z5kya7kcg6b";
 "isotope.source-0.3"="sc8npgj5397qvqwvfrz2bq51xj5840l4";
@@ -5068,10 +5177,10 @@
 "issuulinks.source-1.1"="hmn5nsszd3vf27863sbk647fgfh5gxmd";
 "iwhdp-0.50"="j4m15vz6ky21yk2m95kjz1is1z91vxxy";
 "iwhdp.doc-0.50"="wphgycl74db9mxr5gjc2m80rbzkcqk3l";
-"jlabels-2019"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
-"jlabels.doc-2019"="fndgg419y1rp47d5qifv0k304b5iymab";
-"jslectureplanner-1.9"="f94sm4q6an81qf3a91z7mlylkijag3l7";
-"jslectureplanner.doc-1.9"="f3gx2fmbmvzhwcpbl1yp735l3zs69mvg";
+"jlabels-24858"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
+"jlabels.doc-24858"="fndgg419y1rp47d5qifv0k304b5iymab";
+"jslectureplanner-1.11"="vzd0f1283s5cqn024r0p9x8kfc8sm8ri";
+"jslectureplanner.doc-1.11"="zzcnik63rxszh5plgvg004w5q6h7d0yi";
 "jumplines-0.2"="acxl8nhlznvcwq20n01b41kamc5xmqdr";
 "jumplines.doc-0.2"="hjfl57a9hwdyf6lxl6ah0k7937r03jil";
 "jvlisting-0.7"="fi23ykvl6kw34qri5nz2k4mvgjqgbbyl";
@@ -5101,14 +5210,14 @@
 "keystroke.doc-1.6"="rlm1i14lgk00yj7hn6mp2njdmjanh1q0";
 "keyval2e-0.0.2"="cbm4pby81d33ldf01h348daihf05hwd6";
 "keyval2e.doc-0.0.2"="7d1mpnzh474k9pc293lh8v94fmy5x6gv";
-"keyvaltable-2.1"="xkfix0sk2nnjq7nr5x4vj1jxyav5hyg1";
-"keyvaltable.doc-2.1"="jjjgxbjwsadsdhd38nz22ky9dzz95yki";
-"keyvaltable.source-2.1"="kp7rzgg6p0mh8f8xwdgw60dppb7xyjcm";
-"kix-2019"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
-"kix.doc-2019"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
-"knowledge-1.21"="1x9mi6w3mb3lzshkwkmxw3nh1y5brz5v";
-"knowledge.doc-1.21"="raaxfqi8bkbj1j3xawl7x9d1j7wrckj5";
-"knowledge.source-1.21"="11dhy195bi5q8lbp40kw0dp0lw90b2k5";
+"keyvaltable-2.2"="j29dmcw44wl8anbpw9inhwa32vnq7kn8";
+"keyvaltable.doc-2.2"="jxcs978k59f5j5v50115xyrl6q17xj0c";
+"keyvaltable.source-2.2"="whlw4ask4ny1navpryjslgiv3cis7nxb";
+"kix-21606"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
+"kix.doc-21606"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
+"knowledge-1.24"="jxqysmwgavl1sv6zjbwhyy6z99x7wzzz";
+"knowledge.doc-1.24"="x2f9dary48l5d03r00gw77p6b9hhmvja";
+"knowledge.source-1.24"="0yl5wnn2fnzn24n35dswsrpnybk7hm7q";
 "koma-moderncvclassic-0.5"="s33qvgji09s9glq93mdxzs3smnzlamv5";
 "koma-moderncvclassic.doc-0.5"="dvzcb032fmh5xs804d9mbx6q0afm25r0";
 "koma-script-sfs-1.0"="s9dryf4f0zgcij3v5v93zppqs876p2nq";
@@ -5122,12 +5231,12 @@
 "ktv-texdata-05.34"="fdwnms9v43cjsjypsnlq6rw1j3c6zz93";
 "ktv-texdata.doc-05.34"="896wnbqpxncc640x8rsi6gia2wh5njxg";
 "ktv-texdata.source-05.34"="7wq3pi1mm3r1g209vq31im4n4ib21zv2";
-"l3build-2019"="nymjvw7lg984ks8xfp166554k9ddpjdk";
-"l3build.doc-2019"="w423ibyr9z6sqc60inh1sx01qb5k03qg";
-"l3build.source-2019"="q9y8dmsd4lvr69qwlm6nks2wwivb5xh3";
-"labbook-2019"="x7i28cyfski7ssm9hv28zrlac3inky0c";
-"labbook.doc-2019"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
-"labbook.source-2019"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
+"l3build-55426"="nayrp3fmcq8bz7by996g26g4jjlmc2ny";
+"l3build.doc-55426"="32j497j0gh0ds1hd3f4ld08iq3sa3cyp";
+"l3build.source-55426"="pdpplhwpd7g0c4wn26hz0qys4qqjds6v";
+"labbook-15878"="x7i28cyfski7ssm9hv28zrlac3inky0c";
+"labbook.doc-15878"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
+"labbook.source-15878"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
 "labels-.13"="rxcv9zw5jal0kr4kw0vlswjc87clgh8p";
 "labels.doc-.13"="70hfinn9fsd8r14bk23fmdc0px7n4x5w";
 "labels.source-.13"="7hps59wlxkqqjm9432dg15ml63n44x3g";
@@ -5142,19 +5251,18 @@
 "lastpage-1.2m"="i37ji3jp95j287rx34q4yajih7w1riy4";
 "lastpage.doc-1.2m"="jc40pwdbysv03k1wx113f2q0j8xf54dr";
 "lastpage.source-1.2m"="gika2qk64lahh4l6c6pn76r5l57rspf8";
-"latex-amsmath-dev-2020-02-01_pre-release_1"="9xjsd2xrwrsb9773gcyhbdx6iy848f88";
-"latex-amsmath-dev.doc-2020-02-01_pre-release_1"="hhz4qwg94jm0z4dwz4fdzgwdz9wfzc7w";
-"latex-amsmath-dev.source-2020-02-01_pre-release_1"="1vbdbglb2n7b1xjsy23c4mk083r5vzdg";
-"latex-bin-dev.doc-2019"="82mrm2257yhmsfy0azcraw0b33w6z33h";
-"latex-graphics-dev-2020-10-01_pre-release_0"="isbv5gplj6ygqfm0l34f7am4l53ifv4j";
-"latex-graphics-dev.doc-2020-10-01_pre-release_0"="yz0v1q4w3blh3gf0pp573qq3wqkjb2sq";
-"latex-graphics-dev.source-2020-10-01_pre-release_0"="3j1xwzxszbxbvagi240vp12k2zpaaawz";
-"luahbtex.doc-2019"="008csxdvdaaqygzb7rvrhj6vwhwsx4lh";
-"latex-tds.doc-2019"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
-"latex-tds.source-2019"="xdigsidx76bs121jl0m42wavzf4y88qj";
-"latex-tools-dev-2020-10-01_pre-release_2"="ajsd6fzsaqrw326bn22v641b0ypy9cq6";
-"latex-tools-dev.doc-2020-10-01_pre-release_2"="r8a8zw5cnr46sjqzvz8qixmpib27a3d1";
-"latex-tools-dev.source-2020-10-01_pre-release_2"="mq8c5yhgxrcx52d65ac4mpxcm6agpjzy";
+"latex-amsmath-dev-2020-10-01_pre-release_2"="9gxzfnx8figpi65w0fa40351g8rpv3m9";
+"latex-amsmath-dev.doc-2020-10-01_pre-release_2"="r92dc282pwfkf8kxayrxr3gzl9pibl1y";
+"latex-amsmath-dev.source-2020-10-01_pre-release_2"="lchxam34sm7r2kg2yy56001ig922kbq0";
+"latex-bin-dev.doc-56548"="qk6kfk6nham1q8xfvzd6jvk9iaxqlnm7";
+"latex-graphics-dev-2020-10-01_pre-release_4"="qvr5rcvddfgbsx4f2sxw8p0hc4ik7gv2";
+"latex-graphics-dev.doc-2020-10-01_pre-release_4"="kql79zdphnrgxd6z1wwk49nnk1x73ka3";
+"latex-graphics-dev.source-2020-10-01_pre-release_4"="kym0hbfd9zjnk8xrd2xyy71waysyfs1y";
+"latex-tds.doc-55777"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
+"latex-tds.source-55777"="xdigsidx76bs121jl0m42wavzf4y88qj";
+"latex-tools-dev-2020-10-01_pre-release_5"="hbrzqrai0j91n9jvv1ss8rrpqj0ykv9p";
+"latex-tools-dev.doc-2020-10-01_pre-release_5"="74nvwdl18m0wwplqv908r2wzfg33mgsh";
+"latex-tools-dev.source-2020-10-01_pre-release_5"="b8xgi581bvh5iyj6m1vwy1gigbhgcqr3";
 "latex-uni8-0.03"="kh4gfpkynq6f2aqg9r3wfp4b75wd3zaz";
 "latex-uni8.doc-0.03"="qany361f2byfy4p1jsbwr4za45x5j74a";
 "latexcolors-0.1a"="0izwkzw8h2rqlgnl9dsn2zwm0z2wczch";
@@ -5163,9 +5271,9 @@
 "latexdemo-0.1"="qjb630j87mqsczjbhvjgr4a187rg6wzy";
 "latexdemo.doc-0.1"="p14qs32q48w1f8fq0xmwz1maiijhw44z";
 "latexdemo.source-0.1"="vldkpqrsdaa84s356w6nd5a0q0gv40ki";
-"latexgit-2019"="fymcvzwl1sl173r3jgf0298hxzrv66fa";
-"latexgit.doc-2019"="sxi90m4zcf03fym5d2mmyycd9p8f1k0l";
-"latexgit.source-2019"="jgvdi7lnqw37v9c4w7ybl5424sxkzgsf";
+"latexgit-54811"="3yisqszxc6ss52ddbkjkq9d118f9l4z4";
+"latexgit.doc-54811"="smzhzypnyjwjrkxlhdghwmdvh8r3bka6";
+"latexgit.source-54811"="lmcfb2lgj8qrijjxa921z06hn9999251";
 "layouts-2.6d"="j5bph4p5drbgidk6k74k72n6ckzin1qq";
 "layouts.doc-2.6d"="4440l4n1kwphf99pkms09mk8ilbyd416";
 "layouts.source-2.6d"="hay5rjr1crxj98zqj1qm841dkxx55azg";
@@ -5188,20 +5296,22 @@
 "leaflet.source-1.1b"="l8g4n75f5d85dj4mfwbrc19bh87jzr81";
 "lectures-1.0.5"="vxrkqjn0y0lqgxp2c2ms8xxwhv8y7dmw";
 "lectures.doc-1.0.5"="93h48qv5h0c9g3v4ga95d3cmcml595qr";
-"leftidx-2019"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
-"leftidx.doc-2019"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
-"leftidx.source-2019"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
+"leftidx-15878"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
+"leftidx.doc-15878"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
+"leftidx.source-15878"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
+"leftindex-0.1beta"="ih107j31yrnfc9xkbvmrg36dg5dy88hx";
+"leftindex.doc-0.1beta"="nsjdjdh45lr519mj0bm152ld28d09hda";
 "leipzig-2.3"="id8f54infbs9shqwa8hskvy7ddlhih4m";
 "leipzig.doc-2.3"="qgavhs4pkjnqngv80fap4kla1bn4jlvc";
 "leipzig.source-2.3"="9byfkxnccdl5yab8p64f72b16gyqi2vx";
 "lengthconvert-1.0a"="7rfvx4n625g3rwinbxci25b0xpxrb2sk";
 "lengthconvert.doc-1.0a"="ngl9jfvcplmd9z7kwzfd90m45jp9lbpc";
 "lengthconvert.source-1.0a"="r2lh184znd42l741g816y2ljrsrbncha";
-"lettre-3.000"="cji81arz9mmmd0n31k9zh7pacq0w7df5";
-"lettre.doc-3.000"="szid42pk7qyrimafvma6z62407npv9dj";
-"lettrine-2.22"="i1qjxblg0abxqhgkij7fqy7d0iy69a1w";
-"lettrine.doc-2.22"="ddf39gxbshfml5bb511g6ajbax9f3i5f";
-"lettrine.source-2.22"="lyl09j8cffrs75l9awk4i3254vpaxmbj";
+"lettre-3.002"="f316v4xbin7m5bl72vmmj990ph9avd92";
+"lettre.doc-3.002"="ca6f1xfwz97c2k1291wc4wln9dk4bl1q";
+"lettrine-2.23"="94xvgqrb2xqp2vp9ingzcnzhsj1i1wjw";
+"lettrine.doc-2.23"="4a5z9v2nf7zbkprhnnvcqmn2ymdcd4nx";
+"lettrine.source-2.23"="7m5h453r7h8ksz1kg8mq8fmz386yqqj0";
 "lewis-0.1"="dc7cw320gc531z7m47z3pgby0zl5l6nj";
 "lewis.doc-0.1"="di515hv7q93g3mb76d9i4xdm7v35qabs";
 "lhelp-2.0"="47yixr326p1aaxdfbc8y8f051yk4blfs";
@@ -5231,9 +5341,9 @@
 "listlbls-1.03"="hmdaqr5466rlpkkrq78d4p5rfzm4fyxa";
 "listlbls.doc-1.03"="gmdiwdbadf66b6cchmxv1swlngdw6y5g";
 "listlbls.source-1.03"="8l3lzr022qmx9pw4jgp1n2fkacyl94vb";
-"listliketab-2019"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
-"listliketab.doc-2019"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
-"listliketab.source-2019"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
+"listliketab-15878"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
+"listliketab.doc-15878"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
+"listliketab.source-15878"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
 "listofsymbols-0.2"="9xg173d0qs233kqf04vm7qdl7ajha3w2";
 "listofsymbols.doc-0.2"="4vhmgkz6wrk2ad9bnzdv3sv3ii1np14p";
 "listofsymbols.source-0.2"="4g49piirj1spdl9hg02n9m1c8b5ql1k5";
@@ -5245,14 +5355,11 @@
 "locality-0.2"="mr4032njdjyscsy5p9xax5lw5kdbhnnq";
 "locality.doc-0.2"="98r82nbryc9zf5xyhwfnbkgrcybf7fr5";
 "locality.source-0.2"="4g29gqbn9n7kp36x0s44211p8bbmcfi6";
-"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-2019"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
-"logical-markup-utils.doc-2019"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
+"logical-markup-utils-15878"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
+"logical-markup-utils.doc-15878"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
 "logpap-0.6"="dhd61y6riva220cjnb193v9cjbjz33bi";
 "logpap.doc-0.6"="pps9ipn239h1vw0d8p2jlzbkmcd12czb";
 "logpap.source-0.6"="6y6gv7qgh503f3n8zrpqddyghkdvzngh";
@@ -5266,8 +5373,8 @@
 "longnamefilelist.source-0.2"="3ph503yw35mliqir4k60hv3i8lah3q7v";
 "loops-1.3"="0f0xz58wdvx6cvkynx3xmyxm08x823jh";
 "loops.doc-1.3"="6v1ghg77l3nrab23by4cwqwr014jjwq6";
-"lsc-2019"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
-"lsc.doc-2019"="ajdphikngmbihczhfyarwa94i9r3mg6p";
+"lsc-15878"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
+"lsc.doc-15878"="ajdphikngmbihczhfyarwa94i9r3mg6p";
 "lstaddons-0.1"="n797dx657x03zpkhb1fc2ygd0ppb023g";
 "lstaddons.doc-0.1"="w57l66903jqsb827q96f05as16fr5wf2";
 "lstaddons.source-0.1"="35c9b9n0qi3rjl2gg9dr158v21rh5cq6";
@@ -5283,9 +5390,6 @@
 "ltxdockit.doc-1.2d"="v442rbm6y5ncm6ijzx9b7xwdf0dx28pg";
 "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";
 "ltxkeys-0.0.3c"="kg0228ksc3vh9js3bgknkciga0dgip2c";
 "ltxkeys.doc-0.0.3c"="27k3rl3wvxk8a7qys8lmk2vzsgck80a9";
 "ltxnew-1.3"="xap2rn5bk0pjdrpyvfi47zad1i2r0jf6";
@@ -5295,6 +5399,8 @@
 "ltxtools.doc-0.0.1a"="hdmpfrkdycgs0qh3mcxgydcscilacfr0";
 "lua-check-hyphen-0.7a"="9lmqby4bc5pcfbfib7f45742x7jcxjmx";
 "lua-check-hyphen.doc-0.7a"="36n5ni2jzkydxwi4x4akv21109y0qmsy";
+"lua-physical-1.0.3"="47dm3cg17dziyiapaxhk4x75nhafsjcg";
+"lua-physical.doc-1.0.3"="i672n86lsxfy4dnf297j0i7f19m18nx4";
 "luatodonotes-0.5"="wxsysgg9ss4jqddkxbff6apfbd2840i1";
 "luatodonotes.doc-0.5"="w6d1nala52b88rhchzay618gd64nf2jf";
 "luatodonotes.source-0.5"="0i7332g3mmg7cpk3g6i6432xpq2jcivz";
@@ -5306,9 +5412,9 @@
 "magicnum-1.7"="9i8z8xih80aipni912f8ya9xsd52br84";
 "magicnum.doc-1.7"="q6m07x41lq3agmgb16y0q4kz8bx015l2";
 "magicnum.source-1.7"="gy4vhdgvbz1cwgxj8frx2zf825avg3sq";
-"mailing-2019"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
-"mailing.doc-2019"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
-"mailing.source-2019"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
+"mailing-15878"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
+"mailing.doc-15878"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
+"mailing.source-15878"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
 "mailmerge-1.0"="6zixn5f5rjq4fd65bbhkzwgijfhw262i";
 "mailmerge.doc-1.0"="wpim80lnxbf01an1ds6ksasm2271f54w";
 "mailmerge.source-1.0"="00r71m4cliyz9870yfxd5nl0b7b2px0r";
@@ -5323,38 +5429,39 @@
 "makecell-0.1e"="073c9wfpc83jhcbkmjlkpfbpmy082xyv";
 "makecell.doc-0.1e"="irl3sf564yjdnx538vbqbw6ji0x65m56";
 "makecell.source-0.1e"="qaw6f6hmvj4125v30wr0drnlq0piim3k";
-"makecirc-2019"="m4xbci3109krv6agm0nhvry9kd7wjs43";
-"makecirc.doc-2019"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
+"makecirc-15878"="m4xbci3109krv6agm0nhvry9kd7wjs43";
+"makecirc.doc-15878"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
 "makecookbook.doc-0.85"="jd6jxdslcigvj3gyxs8yy1wihycxq3hc";
 "makedtx-1.2"="1k3yp8ylmvcfx4xcf1kgmpnnrrin2nsk";
 "makedtx.doc-1.2"="shcl10mxk7f7g0i4y2n6fppjjs33g5i0";
 "makedtx.source-1.2"="blsivri3lnfa4grmk46wxlr2yz87djb4";
-"makeglos-2019"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
-"makeglos.doc-2019"="g4w2560v1pxm38dj5dsb3irgijzh221g";
+"makeglos-15878"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
+"makeglos.doc-15878"="g4w2560v1pxm38dj5dsb3irgijzh221g";
 "makerobust-2.0"="hx1305cr58cjaasg8l3z9p9d3pc49wv1";
 "makerobust.doc-2.0"="p6bmljy05xlknijnbfbyqz8v0af7m1wv";
 "mandi-2.7.5"="bgfn2zpydmyjpm0n2j78szn4nkkqnksh";
 "mandi.doc-2.7.5"="72r085a0f5nrashgm2xjf5p6ba35c9cd";
 "mandi.source-2.7.5"="baa7wn0s0z61x610jb45s48l31bf49cv";
-"manfnt-2019"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
-"manfnt.source-2019"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
+"manfnt-54684"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
+"manfnt.doc-54684"="vb7h8hwf2snbrmzsj1p517ark2by87ks";
+"manfnt.source-54684"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
 "manuscript-1.7"="h6a06qa8wdg942c9l85xk2drlc07k340";
 "manuscript.doc-1.7"="9lfydjsxnci0b6nfdmayjigm8gfvbiaf";
 "manuscript.source-1.7"="7s5sj7f198rxkggz1j96kk6fgr5s88ci";
-"manyind-2019"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
-"manyind.doc-2019"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
+"manyind-49874"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
+"manyind.doc-49874"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
 "marginfit-1.1"="a1cpx8n1camjfznxf5lqcjfaaji46gq8";
 "marginfit.doc-1.1"="c5rk8f7ac1xi00rz2xkh708s242wzfq8";
 "marginfit.source-1.1"="r5a53yzalhc6gmbsxk9z7bba5ns0552k";
-"marginfix-1.1"="00sy5lr6gy3r8nvfqk6pry6rcipvkvpk";
-"marginfix.doc-1.1"="hfaiqs9h55v4c896b6grnhj4xaqsawhz";
-"marginfix.source-1.1"="18sbg2vngagcka14wdl3xsx9iwy08q2a";
+"marginfix-1.2"="1cki548vhl8rdcsxpq7593fdmfmmlixh";
+"marginfix.doc-1.2"="2q8fw435qmgh3jqdrlisbgjk5m6yvsda";
+"marginfix.source-1.2"="0n923rs9k1skamk8n0w0573j8l69zm0f";
 "marginnote-1.4b"="98qa9kfiaiw6lbm0jsblq68vxla8a3z2";
 "marginnote.doc-1.4b"="k5mxj5j1ws3q1a71fj9k4f06n7vrj49h";
 "marginnote.source-1.4b"="i33692nz19pddmvmqw20xx3i04grxn7l";
-"markdown-2.8.1"="857g34dfh6sky0nplxyizbzlhdi0z27z";
-"markdown.doc-2.8.1"="f3vabnl8ksy6dgzwa8s634vbgkdbzcpn";
-"markdown.source-2.8.1"="33k7j1wd4xa734dirk10hnr1mnic27m4";
+"markdown-2.9.0"="4v8mxa4746s8v3bv3siaw793vanym9np";
+"markdown.doc-2.9.0"="i98agf42k5fa81sis2mkq5bh4lrixbdv";
+"markdown.source-2.9.0"="hrkj7ajdmii0vvd1y49cd6a3q1rxwmq6";
 "mathalpha-1.13"="wig82v4kfp76z48x8ipcl3i6p97j41j4";
 "mathalpha.doc-1.13"="8zibbm7ga8nk6dcbdvgp3f4xw13r19ml";
 "mathastext-1.3w"="ni9zvlwrjncws3485ix1qpdiywnnqmpr";
@@ -5368,13 +5475,13 @@
 "mathfont-1.6"="nyjwlfahrkds5qlvgvmvr5xljhd0m6zc";
 "mathfont.doc-1.6"="4rx7sqkjhp31hysc8bz9nmiah1a4bsc5";
 "mathfont.source-1.6"="cw0bm3f3ykacs3mcxhdwnl6dj13qyaps";
-"maybemath-2019"="b7n8bgmz0vizghas19svaf1asi7633ck";
-"maybemath.doc-2019"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
+"maybemath-15878"="b7n8bgmz0vizghas19svaf1asi7633ck";
+"maybemath.doc-15878"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
 "mcaption-3.0"="bxgcc1lkr9p5ghd80mh2ixnc1g4g49f5";
 "mcaption.doc-3.0"="mzbfyspjjjq3mhm2m06jmf9fic78i6bm";
 "mcaption.source-3.0"="ix6v7ldrgqw2kyb8mxppiw47p1fsxj29";
-"mceinleger-2019"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
-"mceinleger.doc-2019"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
+"mceinleger-15878"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
+"mceinleger.doc-15878"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
 "mcexam-0.4"="3r3kn0mpzsx4p8scl2zf57sj54q6q6n8";
 "mcexam.doc-0.4"="c2hpirn5sl7m6cdf7mw66l7nrpcmz1i9";
 "mcite-1.6"="q16a807pfbxbcqyw1s5f3vrj0yym2z86";
@@ -5385,11 +5492,13 @@
 "mdframed-1.9b"="kc60c77k0qwqhdmpbk3r777k4q857jx1";
 "mdframed.doc-1.9b"="pr5d7iqc4akn0arxjl7ynqsl6dlh64sy";
 "mdframed.source-1.9b"="xnqih0l0zng5bmrjfrprr43k6l645kvi";
-"media9-1.05"="mv201h1h0cxm5lq3xlms4i191zqkllbh";
-"media9.doc-1.05"="jx37gfxihxmc7lgq9acsi7fjz7dlza1c";
-"media9.source-1.05"="5gsdjfrriq5c76pwmzwappghcbx0asnv";
-"medstarbeamer-2019"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
-"medstarbeamer.doc-2019"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
+"media4svg-0.4"="a204dbddk3w8qi166qmpriqmxp68mcyk";
+"media4svg.doc-0.4"="b53xzg3z59z7czs6j90k3p0a2hbkkbgh";
+"media9-1.13"="8j3w5gbwcjdcjs6sysxpgw5046fq5wb6";
+"media9.doc-1.13"="c4pjdqfzgv449g6rx8kyv8m8pn3k3cjp";
+"media9.source-1.13"="5gsdjfrriq5c76pwmzwappghcbx0asnv";
+"medstarbeamer-38828"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
+"medstarbeamer.doc-38828"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
 "meetingmins-1.6"="d5x8znpkqcghi9lv4gby2l97smw6kddb";
 "meetingmins.doc-1.6"="mkxz4zi4a7rgq8sgwaqsc35n888gzs4g";
 "meetingmins.source-1.6"="5xridwnlmxkws7h293a1pg373mcb3gwv";
@@ -5398,20 +5507,25 @@
 "memory-1.2"="xbyqh88hgszrma77r32dzly4k928vwpd";
 "memory.doc-1.2"="97n5y37w8k1b1dghkjmdny2lgc2b0z4b";
 "memory.source-1.2"="xj785y1h8zncgikinri52ri4sp7av9cr";
-"mensa-tex-2019"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
-"mensa-tex.doc-2019"="cbym06lj2jif90dpqddc2sl36glwlm6k";
+"mensa-tex-45997"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
+"mensa-tex.doc-45997"="cbym06lj2jif90dpqddc2sl36glwlm6k";
 "menu-0.994"="601vvx1mrqc5l4ig4j65bq88yjzcc08g";
 "menu.doc-0.994"="s9wj7viflx78y49dbs3scapk5vslf5xg";
 "menu.source-0.994"="n1pq98wjrfr476cwy442c8l99n1k9f6s";
+"menucard-0.1"="7k5mxiwycgzqq8ais9d99ss9dhir44x6";
+"menucard.doc-0.1"="lv3amrvqjpl36rc3wmrf6yg8dw9w7lw8";
+"menucard.source-0.1"="p3sy5yj4gljpasmsyjbi8ndlnjvm69jl";
 "menukeys-1.5"="4paqhdrsa9n9vnlcih3lwbs7ig1cvpxb";
 "menukeys.doc-1.5"="vqip96fgdq26ypfs2xpp947qmjybxpxm";
 "menukeys.source-1.5"="g0i476r5ajhpj65sq4m3h92c236plbkw";
 "metalogox-1.00"="4xl37x2ng2chj7ds59rjkapvmk3fza5q";
 "metalogox.doc-1.00"="wk7qd75laf3wm5wqil70vsrcg1ch6q4n";
 "metalogox.source-1.00"="8yal3yny31s95vd72p10mybmkx7n11xy";
-"metastr-1.0"="zgxnrz7iw3zpmnzq0p046smwh2vn956q";
-"metastr.doc-1.0"="az3sfd2bg56l6ga0wzdbmzpb1c82b9ig";
-"metastr.source-1.0"="mjvy5i08fl91g6vg8i2wkhjwxi783qng";
+"metanorma-0.5.0"="lxfxrm0gny75rhwafmgim8g9gh3ihij5";
+"metanorma.doc-0.5.0"="cl9n1iq27ka2k556arggkl5dy6i8jrz9";
+"metastr-1.1.2"="mhbnzxgyzic8b12s99h1gfa8sivdc14m";
+"metastr.doc-1.1.2"="j3ilclww10wqrrm978q3yq5z3r5s9b4m";
+"metastr.source-1.1.2"="id0ha10mcax8rzrq1jrsqyw53g37wzam";
 "method-2.0b"="6lpy1619i1m75cvsi9c2vzjxbcs9ia5a";
 "method.doc-2.0b"="c54snw0hl1agj2fs4r3jqnk9gblxpvhp";
 "method.source-2.0b"="y3rnwdcn8d1zs9s74nsza1zscmfbskq5";
@@ -5451,8 +5565,8 @@
 "minutes-1.8f"="c864pfgi1a853n93jddnndgsp325sr1i";
 "minutes.doc-1.8f"="z3z8rxzrkwz7k6756b654v6wclx4f6rb";
 "minutes.source-1.8f"="w4skq6nprvgxhvqrf4xa2afccr1hsz6g";
-"mla-paper-2019"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
-"mla-paper.doc-2019"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
+"mla-paper-54080"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
+"mla-paper.doc-54080"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
 "mleftright-1.2"="djj8n1rrxi3iyj5zxm4y5lwnbrzq3vb9";
 "mleftright.doc-1.2"="krkpm7kc85q5hgb0vzvvx8gxznpr79d5";
 "mleftright.source-1.2"="mfllc0rhh6x67pg9qxr5wpbhazzg75l9";
@@ -5468,17 +5582,17 @@
 "moderncv.doc-2.0.0"="siyfv7qm8gbqwx21rqm1hq2l0fkq5zad";
 "modernposter-1.03.1"="hlb03arz5iv98iakvimihvcnb50zdf0k";
 "modernposter.doc-1.03.1"="qb4pglm91r4w85lbp7jdvgr8b9nqkmh4";
-"moderntimeline-0.10"="4vqk60zkhx4vk9d8h6mksfmhlxviw7z0";
-"moderntimeline.doc-0.10"="b5sac5b3hx1q2bigs27rp8s1xl128llc";
-"moderntimeline.source-0.10"="lj2nkwbz4d96ch7wlrvcx9i6anxkng6j";
+"moderntimeline-0.11"="r8siv13syzymkgi776xkpd15cjck7d9z";
+"moderntimeline.doc-0.11"="3w6bq6jlai07bv7g2l8iaal13h00n82p";
+"moderntimeline.source-0.11"="hbfh2pm3hmjm701k25hfbk83zh2dzjzc";
 "modref-1.0"="66l3h642swhw1maq3gd0l3bc59dlb9f3";
 "modref.doc-1.0"="qywhydcrg4qw4lkxa2gkdqdzjzsjc0j0";
 "modref.source-1.0"="a362js5xq7a69k1zawmyfj9f4p6254v0";
 "modroman-1"="yvhwr314ymch4fhvr9zq8l1rsp3jfinn";
 "modroman.doc-1"="2is4g9r40gr23cy469q2vk2kjj2jbkm6";
 "modroman.source-1"="1kddwifbglz7hlhxndcrr28dfgd0bdy5";
-"modular-2019"="gp555cnfp2izjp81bg1l1aij466vcfxr";
-"modular.doc-2019"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
+"modular-44142"="gp555cnfp2izjp81bg1l1aij466vcfxr";
+"modular.doc-44142"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
 "monofill-0.2"="jnv36mj3w2vihnq2f17pbm1yzrz2176w";
 "monofill.doc-0.2"="gr0mhc8f2w3dnd9r6flqvq5yyb388h4p";
 "monofill.source-0.2"="gmdpp4qn9x5bxk24afqs4xg7vzvaqkp4";
@@ -5499,11 +5613,11 @@
 "moreverb-2.3a"="w1rxv8g11dkpi1zyfq7xblgjjwi2dkw6";
 "moreverb.doc-2.3a"="70m0wiik9lqc2r4pi4nrdmm0rsx9d8cp";
 "moreverb.source-2.3a"="zxqcx8a12s33gklfq4zv3mci70nimpir";
-"morewrites-2019"="phc3742cpyisr8i8b9r30w7x28kaydx5";
-"morewrites.doc-2019"="x9cccfv21238zfsfikbnap6a2fj2aymg";
-"morewrites.source-2019"="gg8427vc6r2im1y5n541imkgq909ds99";
-"movie15-2019"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
-"movie15.doc-2019"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
+"morewrites-49531"="phc3742cpyisr8i8b9r30w7x28kaydx5";
+"morewrites.doc-49531"="x9cccfv21238zfsfikbnap6a2fj2aymg";
+"morewrites.source-49531"="gg8427vc6r2im1y5n541imkgq909ds99";
+"movie15-26473"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
+"movie15.doc-26473"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
 "mparhack-1.4"="5sq75r9p6laimfxiz9kl1j5cgplkzin7";
 "mparhack.doc-1.4"="6i835nghib094n03i095dc0p7zq30znm";
 "mparhack.source-1.4"="07xwzd4pvppkb7ywwzdrip3yk41d5wl0";
@@ -5515,25 +5629,25 @@
 "msg-0.51"="d74m4mhh3k9hmc4py38izy3n075f019r";
 "msg.doc-0.51"="3v872isrjh68l3j4i0bm86l2vk60vi7f";
 "msg.source-0.51"="gcmdjhil29pwakk8jdrf6zaxcp3w5ykw";
-"mslapa-2019"="xmci0mddxivrp23hxp50wnlyvl9kir04";
-"mslapa.doc-2019"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
+"mslapa-54080"="xmci0mddxivrp23hxp50wnlyvl9kir04";
+"mslapa.doc-54080"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
 "mtgreek-1.1+"="afbh9ydcsnf1k0c714ypmqrf0qjcas6a";
 "mtgreek.doc-1.1+"="pq9303jyrj7nq8rwgi5d7njbc2x3jn58";
 "mtgreek.source-1.1+"="6whrwjvzz5jrhirhgr7kymc3jczn2zmf";
-"multenum-2019"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
-"multenum.doc-2019"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
+"multenum-21775"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
+"multenum.doc-21775"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
 "multiaudience-1.03"="dcqxnkwsqd6vyk9wnwmac5b832dzb4ns";
 "multiaudience.doc-1.03"="8z6mbzi6yyv5cmp6pn2fsg5vlagyrlwn";
 "multiaudience.source-1.03"="5v4r06mydnjvq7hksjgdqd17m47b0g1z";
 "multibbl-1.1"="7nvyshlsgfcmlxc0gdn8b353sc6g3qw2";
 "multibbl.doc-1.1"="isxh2fz1yaz86acvpcv8k1hmwnazck6m";
 "multibbl.source-1.1"="z6wbxacy1rzz1l7wx6ppi8dsbipvc5s0";
-"multicap-2019"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
-"multicap.doc-2019"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
-"multicap.source-2019"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
-"multicolrule-1.3"="afncpkm0813g4z2l1h905crz07w3i7ic";
-"multicolrule.doc-1.3"="wqck9ry78z83xfg10v90isv1yq3y89mv";
-"multicolrule.source-1.3"="i5i7mb07lirlvlf1y0nhgvcbpm8jhd1q";
+"multicap-15878"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
+"multicap.doc-15878"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
+"multicap.source-15878"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
+"multicolrule-1.3a"="i3cfrfyyj0xjvk27dmrakzlh5baz9jyg";
+"multicolrule.doc-1.3a"="f9s3709g2mi3il3g1ddg5px0d41aifbq";
+"multicolrule.source-1.3a"="sks1vf0hd08gni9s5fl3an5zln2gpakz";
 "multidef-1.10"="5wsklk9lvznmwisl7jyhiai2zz8iizhb";
 "multidef.doc-1.10"="sq7a72nhiyd5384dx9y6k1c72gl8ia2n";
 "multidef.source-1.10"="hx6fbjirp5gmpn9bglp0hcmmhdjn1rsb";
@@ -5567,15 +5681,15 @@
 "nameauth-3.4"="7vf14i5aid38msdp6kxfmpczkbza48qa";
 "nameauth.doc-3.4"="b5hybqfylxwszjll75c651a8k5235kpx";
 "nameauth.source-3.4"="bb0bbr0635mpaiarr54dwmaaavfbk63h";
-"namespc-2019"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
-"namespc.doc-2019"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
-"namespc.source-2019"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
+"namespc-15878"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
+"namespc.doc-15878"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
+"namespc.source-15878"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
 "ncclatex-1.5"="vyc62gppwksnghphh3fch8ac3wji38qv";
 "ncclatex.doc-1.5"="i5klzg6hjqk8gq73g7ck9za6arh58rwx";
 "needspace-1.3d"="n3bhzw4qj1q1pml8yw40q3p8nzncygia";
 "needspace.doc-1.3d"="p8ahld3my116ynhgip3xfgxd58n4w36v";
 "needspace.source-1.3d"="2i7mdcxrdh8p54l31qqcfsdbrwjfiw87";
-"nestquot-2019"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
+"nestquot-27323"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
 "newcommand.doc-2.0"="cdy7kzxpazx56gc6a0s62nx1bq3x1kz3";
 "newenviron-1.0"="s27wb3f7q3qk5lv6ficrjs6kkxqal7hi";
 "newenviron.doc-1.0"="j20cd7xar8jxbx17dv9sqpsrck6cydd9";
@@ -5594,12 +5708,12 @@
 "newvbtm-1.1"="2khz8c8b8a5946h97w2rf2gmp6z8wvh0";
 "newvbtm.doc-1.1"="y1rlqvpv8y77ns1a35q6raksa88qqdnd";
 "newvbtm.source-1.1"="1ws90wkmj308mz4qa3hham4mxm3lrl5i";
-"newverbs-1.4"="jbkq6pkmd32mg6g7h424ya7yl08xp15q";
-"newverbs.doc-1.4"="d9spa4vwjarb29jq6ipvrw07nsfbii8m";
-"newverbs.source-1.4"="ral3f0z7s70ir5lwjpjrms6zvxga01lj";
+"newverbs-1.5"="pcyr9wqib6j9rjv7xlrd9g3lk1da1xyf";
+"newverbs.doc-1.5"="1d4icav7dd83b49jl85k7m8vmfja2jgy";
+"newverbs.source-1.5"="dq87niyhap5jl7wgisr0if7qwl1zbxxn";
 "nextpage-1.1a"="b7b41bpr8zk2z6m5il51q9vxb3c8h67j";
-"nfssext-cfr-2019"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
-"nfssext-cfr.doc-2019"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
+"nfssext-cfr-43640"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
+"nfssext-cfr.doc-43640"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
 "nicefilelist-0.7a"="crqgn906x51nq1d3z0s15f9kl29lbg3b";
 "nicefilelist.doc-0.7a"="a77wbb5ajkj4ab3dy1zzs3hchac77cwh";
 "nicefilelist.source-0.7a"="ng7drfgz7w69za7hmfzm4cv0m2awdx7l";
@@ -5609,9 +5723,9 @@
 "nicetext-r0.67"="i3lvy4awa0igc272xv8mn7n4dfaxm9iq";
 "nicetext.doc-r0.67"="iacnv3pa0a676wy34s3s261ypjpcl9gd";
 "nicetext.source-r0.67"="6d0mm3ghwivk44g63875mpq6pafbll8b";
-"nidanfloat-2019"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
-"nidanfloat.doc-2019"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
-"nidanfloat.source-2019"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
+"nidanfloat-48295"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
+"nidanfloat.doc-48295"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
+"nidanfloat.source-48295"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
 "nlctdoc-1.07"="z0azj8lyhdf45sa4vy172qlzck58vvic";
 "nlctdoc.doc-1.07"="3axalhgmiz8f9rikjwbkhckw0hshnpyk";
 "noconflict-1.0"="df9gs1xx7gymaadn2ji4dzir36z6r897";
@@ -5623,9 +5737,9 @@
 "noitcrul.source-0.2"="b8s8g15qwdsxm7ywvgj9g6307ws3hg0d";
 "nolbreaks-1.2"="1603r89wi8sninjv541na8k2islfk4sc";
 "nolbreaks.doc-1.2"="g0nm3i09kzxqqcrycrz2cak05d8qlvqs";
-"nomencl-5.3"="n794jld9gxx4y47csqh974qbkg92g6db";
-"nomencl.doc-5.3"="lbagmc6yigwvnprjivdkbz4h3jq33li7";
-"nomencl.source-5.3"="0fg5mm5yzmyaba8fffi0fff4drzyinlb";
+"nomencl-5.4"="s6hixgxx15y1pzn463005vxnarphp3k0";
+"nomencl.doc-5.4"="a3jlrikv7hick6day2ax9lawl0fnz90y";
+"nomencl.source-5.4"="cpyr0wj64q8lh7swsi0saix56980jz4c";
 "nomentbl-0.4"="k74vk3a9kl3sbrkmpyav1snh0cd16np9";
 "nomentbl.doc-0.4"="k2ggwchfqa253i96whp2lh4s3p8vbysk";
 "nomentbl.source-0.4"="al9s24x1ivpw91bbnn9sqrjp3rb5h0ni";
@@ -5635,8 +5749,8 @@
 "nonumonpart-1"="a121f2i1n005xp51qn642vx30ij74zgs";
 "nonumonpart.doc-1"="wcbvd9c2cv5ydbma4xxb6g2b2bihi0lh";
 "nonumonpart.source-1"="j2jy48jw8hgcs830h187s9rg85kd3rfa";
-"nopageno-2019"="59l05x89jv7q4mm7k73i06rmv467iimz";
-"nopageno.doc-2019"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
+"nopageno-18128"="59l05x89jv7q4mm7k73i06rmv467iimz";
+"nopageno.doc-18128"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
 "normalcolor-r11"="jfpqlz85fphm063mb51q9q2s61fcbnmh";
 "normalcolor.doc-r11"="vz9557sxw9c6l8m66aaagcv39x1vkfzz";
 "normalcolor.source-r11"="vs4y1p0zarr6nppqadcdcp03lc6nd2zd";
@@ -5648,8 +5762,8 @@
 "notespages.source-0.8.1"="sskq21wj4vhqyq8xzhrbsh7p8c701r7x";
 "notestex-1.0"="innwzn87vplj094lxw9w48ck6s5hmb5v";
 "notestex.doc-1.0"="p4lyxlar4125y9x3pb6sd5ysdn7w3vqr";
-"notoccite-2019"="ifpkassfd9j5926gsnq00954clc52sbv";
-"notoccite.doc-2019"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
+"notoccite-18129"="ifpkassfd9j5926gsnq00954clc52sbv";
+"notoccite.doc-18129"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
 "nowidow-1.0"="hf3wjpkn1j2yksdl8mryssv6cxqjn3si";
 "nowidow.doc-1.0"="w1an9iayppa59h2iprjr515w8g72qkg5";
 "nowidow.source-1.0"="b6i3ypchipa228x0s6i66vrvf7zc3hgc";
@@ -5660,8 +5774,8 @@
 "ntheorem.source-1.33"="fc0wyfgjnckzqrd7lf3a4n6yvbhwaal8";
 "numberedblock-1.10"="x1wlbk0d8xbl0b3mx0bxgymc9jd3vv5y";
 "numberedblock.doc-1.10"="866z5if0xryr7mmi70any7p9l93f0d38";
-"numname-2019"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
-"numname.doc-2019"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
+"numname-18130"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
+"numname.doc-18130"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
 "numprint-1.39"="7fd6ja6vw3c7yg824y30xrqrmrk3qkwx";
 "numprint.doc-1.39"="bbfg2cyh8cykgl3zk9c53wk3q3vbb8pn";
 "numprint.source-1.39"="cr7xjw77r8h4bcjihxc68iraxd760gh2";
@@ -5672,10 +5786,10 @@
 "ocgx-0.5"="28p11v602hf9w9q1vynbf8fyhivbawl5";
 "ocgx.doc-0.5"="6vx8iiz0zfipwj45xrk1gv9cvifv4y1r";
 "ocgx.source-0.5"="5bm25s1rgsky2qc14nrgg6v3n0ywwcb6";
-"ocgx2-0.48"="7634zxbbk43ci8in9jjm1705har1kxbq";
-"ocgx2.doc-0.48"="qcq15rj8ma0ixmk22f1iv9mhbn7cravs";
-"ocr-latex-2019"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
-"ocr-latex.doc-2019"="9cz06542a64k4ns92qgkx1hzm5sd275w";
+"ocgx2-0.49"="92ymcpawwxb3rh0xmk638wvzwk0dzk3b";
+"ocgx2.doc-0.49"="9349xdahrqaz2riwqmfcz1s6zaf33bp2";
+"ocr-latex-15878"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
+"ocr-latex.doc-15878"="9cz06542a64k4ns92qgkx1hzm5sd275w";
 "octavo-1.2"="fpv1fcrym9gplxjs0zsrrv4iziizqzxy";
 "octavo.doc-1.2"="wcd4cj4ihgmm1d0i36l66bf8dpw5cm58";
 "octavo.source-1.2"="30dsp7266fzc2l2kn98pqwwv6sdb75hr";
@@ -5694,8 +5808,8 @@
 "optional.doc-2.2b"="jg81vzayz3a2pvlxhvyrx8j3w1sw65xg";
 "options-1.0"="5xy1cf8yq8awm7bspjj23nywhbs7ww67";
 "options.doc-1.0"="gy13y93wl0im19p5jc011fjnr49afgsp";
-"outline-2019"="m192v07lmcfzq3zbv87cbckz8jwanbha";
-"outline.doc-2019"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
+"outline-18360"="m192v07lmcfzq3zbv87cbckz8jwanbha";
+"outline.doc-18360"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
 "outliner-0.94"="24bsa0d5zxz2i50i4bz0b3zsc5v7hp8d";
 "outliner.doc-0.94"="qgvvmjxq75fq907z1ya4vkir6iq7sbmq";
 "outlines-1.1"="0yh26641p29qj71w6zsx1z6hsr663q1k";
@@ -5728,9 +5842,9 @@
 "paper-1.0l"="wxk3akaqvdbc0q5whlwd2jpw0nvccwmn";
 "paper.doc-1.0l"="pppdcafd1gw0y9d5j91b2smzdssvvwyi";
 "paper.source-1.0l"="g5np7r4ncm9pyzpqm3f0h60cihmfbfsf";
-"papercdcase-2019"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
-"papercdcase.doc-2019"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
-"papercdcase.source-2019"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
+"papercdcase-15878"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
+"papercdcase.doc-15878"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
+"papercdcase.source-15878"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
 "papermas-1.0h"="xrl9ldvps0ffrygpgj501bvi4yb6cz2w";
 "papermas.doc-1.0h"="1p87yvwnn29mi2n2q4z1jsxfnq8gd73p";
 "papermas.source-1.0h"="6i3yx6ygswgf7yp1c0grv7gr6qc77r1l";
@@ -5740,25 +5854,25 @@
 "paracol-1.35"="nlp7hsfirg9x091qd1yjrpg2d9vanh2g";
 "paracol.doc-1.35"="mn2n3z3656wwk7rqii271778v9ca4yf9";
 "paracol.source-1.35"="zw0z1fnlqd1h9hgxgc6pqnj99rsbn679";
-"parades-2019"="bkr92ffb7s3zzl845jjkj1777517dwk1";
-"parades.doc-2019"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
-"paresse-4.1"="mjz05a7z528h2j2svmk4d8ycc6zfzbh0";
-"paresse.doc-4.1"="yahsg4ij3mnck53fl3mgcywibmnq7nhw";
-"paresse.source-4.1"="ydzd3zya07nc2kpvq3w1bjg5nbq4l37z";
+"parades-40042"="bkr92ffb7s3zzl845jjkj1777517dwk1";
+"parades.doc-40042"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
+"paresse-5.0"="586bf4v9x283902iq1rymkil2y30sjgg";
+"paresse.doc-5.0"="vp9b5jpsidh9004ji5yklclfalqvz318";
+"paresse.source-5.0"="a60vw2a7hangmdypia7lvjclcmn1jddm";
 "parnotes-3b"="42sal99phkqbw05k2d9x6by27iy7sc7j";
 "parnotes.doc-3b"="3hlfpf75qjahy1qzc8l3dl1n8pj323pm";
-"parsa-1.1"="xidmymf9dpzagbip87vik9svm11zbahq";
-"parsa.doc-1.1"="gf1lxfyl2p6m9jx30dyarhx1cqgs4jn9";
+"parsa-1.3"="iawcalgm3zpppbclhzn63i33bmnxk47c";
+"parsa.doc-1.3"="322amnin34r5p1r0rmg1phmgqbx4yj6h";
 "parselines-1.4"="krgfsp0vcnpgwgw70aw8iwbi9r9fnwsm";
 "parselines.doc-1.4"="ahspn4rw6wdwlk9sgd8f2jajb2cbm33n";
 "parselines.source-1.4"="n652xalrpp0s7yy0dvcdz24khybsm1cw";
-"pas-cours-1.6"="2dkbzp14iv265qbbpa5i9s4ir54ihf9c";
-"pas-cours.doc-1.6"="s7d7lps8aay695www7xh7sxpscg26dfd";
+"pas-cours-1.9"="1kqwk3hwllkrlajh6l3k0y1xxpql7jp2";
+"pas-cours.doc-1.9"="6anwqql5pn34njc0ysqr408d34vvxalj";
 "pas-cv-2.01"="zdvf8flk3kjln11sn5rs3cb265q8fgzv";
 "pas-cv.doc-2.01"="am16i8cjhh2jadlhqsmfx8vb2jyrj8fn";
 "pas-tableur-2.01"="ggwlvzkwdv3qhljir7c8v8fwivi9h7lp";
 "pas-tableur.doc-2.01"="942prkpjhj4zpvdg2d2k27ibvchw2mbz";
-"patch.source-2019"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
+"patch.source-42428"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
 "patchcmd-1.05"="asi7jsa5gwd1i2k0arh2p24wprnqfb2h";
 "patchcmd.doc-1.05"="8nxwjfkxc3nbj39wfvqm8bkxm4qs1y66";
 "patchcmd.source-1.05"="bpb3vc5kdmhiwh0s6sjvxjshvmgr7hrs";
@@ -5794,9 +5908,8 @@
 "pdfoverlay.source-1.1"="7zk1x6k04drra2hwdawf9f8948aimr4v";
 "pdfpagediff-1.4"="3nj0fki5pqm0i50fzacdvnnzhhf2b5a5";
 "pdfpagediff.doc-1.4"="8h093sqzw62ivh2csz6fhkbbkdg1na2h";
-"pdfpc-0.2"="v5jrbnn4lagxwj4lgw9g3znnp0a1q8rp";
-"pdfpc.doc-0.2"="2lc4z235rgzjxha7dqhnmn3bhs9x3947";
-"pdfpc.source-0.2"="083ybyfdwjkfzj85jials202mdhhv9n2";
+"pdfpc-0.4.0"="04dacl314awsqrfizil2rfszywb1ixi0";
+"pdfpc.doc-0.4.0"="rw7dp54s8pfj5jikqlhi0ggkzvvp1c2y";
 "pdfpc-movie-1.0"="la1blfvhk9kwfy2q0sp6x1ybw5c2i7jh";
 "pdfpc-movie.doc-1.0"="5qc0gdmlgspl5696zvng96nbhgr0j0m4";
 "pdfpc-movie.source-1.0"="2d4v3bwnsws65w57arhbs2j5gvm3w5f4";
@@ -5807,12 +5920,12 @@
 "pdfreview.doc-1.2"="xkd8140x13sfs5krj1l1p3zvj4vwjjf2";
 "pdfscreen-1.5"="5lwdmn4lxkq9hgn6fmr4rc2gdk3ms583";
 "pdfscreen.doc-1.5"="bcg3kviqc0jr3s5h5xa3in5g1hj46zkv";
-"pdfslide-2019"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
-"pdfslide.doc-2019"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
-"pdfsync-2019"="xqg7my569gq36snly1kpii240byrpx7s";
-"pdfsync.doc-2019"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
-"pdfwin-2019"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
-"pdfwin.doc-2019"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
+"pdfslide-15878"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
+"pdfslide.doc-15878"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
+"pdfsync-20373"="xqg7my569gq36snly1kpii240byrpx7s";
+"pdfsync.doc-20373"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
+"pdfwin-54074"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
+"pdfwin.doc-54074"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
 "pdfx-1.6.3"="1inx9kkwqj831ikgplqvffk8f0a8s6gc";
 "pdfx.doc-1.6.3"="c1grn1ahiddzp95biymw47x04fv3y23k";
 "pdfx.source-1.6.3"="6jj6972hpnhn46bzfzp1r201pmfnx87i";
@@ -5821,9 +5934,9 @@
 "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";
+"permute-15878"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
+"permute.doc-15878"="rz1569972rz72laqrxnkphxr3bdx1pxl";
+"permute.source-15878"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
 "petiteannonce-1.0001"="xv2yjs519vz0inbcy7m2a201ysjl3gwj";
 "petiteannonce.doc-1.0001"="9xvfy2ivdmlamj4fr1q5i1mfh6diys8s";
 "phffullpagefigure-1.0"="hp51s42ycsary7n2qngls1bm6j6mi5ab";
@@ -5851,14 +5964,14 @@
 "philex.doc-1.3"="r94769rncbhw6cdvzwm0s9fhwa57z7xx";
 "phonenumbers-2.2"="82hwh6yj11vqrskchkvgnimiyxhzcf7m";
 "phonenumbers.doc-2.2"="ac4b8860hyqw8pjpbcc58bbjzx1pzm4c";
-"photo-2019"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
-"photo.doc-2019"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
-"photo.source-2019"="70n1vi9qla3kl592hgay45af9m078l58";
-"picture-1.5"="shfq20nv42wnpxdlmswka854qrgz5adp";
-"picture.doc-1.5"="mlhqxdlb1lq569jbkgkdmscahhbwrxmv";
-"picture.source-1.5"="s40j42wx4qnb6znx96ss2fsjg00gw880";
-"piff-2019"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
-"piff.doc-2019"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
+"photo-18739"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
+"photo.doc-18739"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
+"photo.source-18739"="70n1vi9qla3kl592hgay45af9m078l58";
+"picture-1.6"="z9r12wc2iwp7basv33kdpkg114cwhxww";
+"picture.doc-1.6"="iy3lwfdgbqkhqfgx49h5978qbgwkfhv5";
+"picture.source-1.6"="0vd0z8k0mwa8zibwf6llarqj4j3f379x";
+"piff-21894"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
+"piff.doc-21894"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
 "pkgloader-0.7.0"="15p6m1152qc334ljqhnzdagic2ylvpgs";
 "pkgloader.doc-0.7.0"="k6qdk7x5pr11qspbx9ggabp18n88hlmx";
 "plantslabels-1.0"="yi1s2470aj75chj1f5mi9961w9if1mpd";
@@ -5877,11 +5990,11 @@
 "polynomial-1.0"="k11f7cmzycx5q6ww5vnrxfp7xf3238r1";
 "polynomial.doc-1.0"="ffr0i9z96w9ahr8k1jx8klk1kddd1zm0";
 "polynomial.source-1.0"="m844kmijznga9r259cm2h977w4zdmi3d";
-"polytable-0.8.2"="qzfi66r74yb3cvgd5aicyflm4b25f6li";
-"polytable.doc-0.8.2"="36frl3y5hmlbh3cz9s17qnl4rjda1l5w";
-"polytable.source-0.8.2"="768zbijzmx54yrz1j8qvg8an6xis2hmc";
-"postcards-2019"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
-"postcards.doc-2019"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
+"polytable-0.8.6"="ccn1r0s2nwbpxp5mmbasvnmbivcswhdj";
+"polytable.doc-0.8.6"="sy8gz8n84qky60r7kqpxariw0mj0nvbz";
+"polytable.source-0.8.6"="qiakbb7083n8cjzhp9dnnbx7d3ccp906";
+"postcards-21641"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
+"postcards.doc-21641"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
 "poster-mac-1.1"="vjpg0bc2f1qv0hr0kcxasymrchpwzn05";
 "poster-mac.doc-1.1"="8m0bk06l7y5bps6hn3xd40s6yb0m8c19";
 "powerdot-1.5c"="dq53xc4c6n4qpxcqkdazwn6b8v8z94f7";
@@ -5922,8 +6035,8 @@
 "properties.doc-0.2"="pdpdn0rbg28dq9qgry9w9j2wvzrl9sxx";
 "prosper-1.0h"="kwjg42wqipj8w4rmilmrpsl5spr8hzmp";
 "prosper.doc-1.0h"="9bfspx1labf3y4hhy7a7sv8ccfmqw4mx";
-"protex-2019"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
-"protex.doc-2019"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
+"protex-41633"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
+"protex.doc-41633"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
 "protocol-1.13"="2mpbqs6r1sl8x79dbkzgg0vh0xxs89pi";
 "protocol.doc-1.13"="fzvldl69vw5kxljg5jm4qwcar1k2zg8q";
 "protocol.source-1.13"="x52qwan5dahs53bdm8dm450h2ljr7lsp";
@@ -5932,8 +6045,8 @@
 "psfragx.source-1.1"="6ikq1jhicgf6109gdnd3ldng0ycy920w";
 "pstool-1.5e"="1niq51k7cvq7kqlxymixhrhrg811rs3q";
 "pstool.doc-1.5e"="y68jbyp1rzd3wkpwvg17kiz5fsfczmi0";
-"pstring-2019"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
-"pstring.doc-2019"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
+"pstring-42857"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
+"pstring.doc-42857"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
 "pxgreeks-1.0"="hdqmxzcwyd5llq80fakhjvx8whjxs8mr";
 "pxgreeks.doc-1.0"="hdm2s76j6vya85lid9lrkzhaj6bkvlda";
 "pxgreeks.source-1.0"="1i5jmxhyphz2mdhl742ydrzam336ix5w";
@@ -5944,12 +6057,12 @@
 "qcm-2.1"="d9xas7ra5n0hzkc22s6ky3qr752i1i2k";
 "qcm.doc-2.1"="ljb5bhy71jscf6hdw6xmxxyy3jyfa8py";
 "qcm.source-2.1"="zywcw16m4hk75ialbg92bx98snk64hpf";
-"qstest-2019"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
-"qstest.doc-2019"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
-"qstest.source-2019"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
-"qsymbols-2019"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
-"qsymbols.doc-2019"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
-"qsymbols.source-2019"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
+"qstest-15878"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
+"qstest.doc-15878"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
+"qstest.source-15878"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
+"qsymbols-15878"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
+"qsymbols.doc-15878"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
+"qsymbols.source-15878"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
 "quicktype-0.1"="40znnh6yxbhx1i7gsr0icvy5avhm68nk";
 "quicktype.doc-0.1"="ljcdha8k0ngr0ymwqbqbblgyslybvcgp";
 "quiz2socrative-1.0"="8wpvm4ysp513gkigsymd0d0sg3708m4r";
@@ -5966,8 +6079,8 @@
 "ran_toks-1.2"="wy1mkhb2d8fw1m9qnpxjvw104lh36rks";
 "ran_toks.doc-1.2"="w6g0w4da3lg7725bh13wph47qzfsippi";
 "ran_toks.source-1.2"="qm4h2n67hia3av9hch4941664b4r27gr";
-"randtext-2019"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
-"randtext.doc-2019"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
+"randtext-15878"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
+"randtext.doc-15878"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
 "rccol-1.2c"="31w19kr365k8wkvkx91qqcw46fnl0sbk";
 "rccol.doc-1.2c"="80zx3h1b0wjw8qgv81kb4la3zd9hh9m6";
 "rccol.source-1.2c"="sqkkyhka856h4iirnvy4s8bdqlailgxa";
@@ -5977,6 +6090,8 @@
 "rcsinfo-1.11"="y7cymhiac6wvahhzkmsrkchrp2i5i9fn";
 "rcsinfo.doc-1.11"="v6wc6q5xv5rwbcgcvfrlkbk8lw3h4qz0";
 "rcsinfo.source-1.11"="86ss0sk5rzss6m4b5n96dwfd0vjh2acs";
+"readablecv-2.0"="h33x1fl7nxzp64c2nah5wvzvvz9dxlgc";
+"readablecv.doc-2.0"="5wxwrsjfr9kga73w648cx59vw505br31";
 "readarray-2.0"="6f0daia3lp0ipi8swprpgl1pzh44hwc9";
 "readarray.doc-2.0"="bgfhvri7xh8kq5y1qykhzhjrv0vcss2m";
 "realboxes-0.2"="frdrijzjm4yi20fddhxb6gp314qg6bsx";
@@ -5984,13 +6099,13 @@
 "realboxes.source-0.2"="2sj5y6k08cwcp8fs0ay7z7ik02is7vly";
 "recipe-0.9"="ya2zz3axlaax8f7qkz3rwkfwl6kc7hqw";
 "recipe.doc-0.9"="nrgg002rpx1gw16yx9pl4xfiyjg2lk16";
-"recipebook-2019"="z2m105warknssz9d0b5f0fg13mdjrwqv";
-"recipebook.doc-2019"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
+"recipebook-37026"="z2m105warknssz9d0b5f0fg13mdjrwqv";
+"recipebook.doc-37026"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
 "recipecard-2.0"="ywrn03f3hy5hyzszpghn9rnjkj9a3kqr";
 "recipecard.doc-2.0"="1g67mikrdxmhpn4xgpnlriapp4als1wx";
 "recipecard.source-2.0"="7g35xa8kbcsrxxmp9xxk3rgvas158m9h";
-"rectopma-2019"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
-"rectopma.doc-2019"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
+"rectopma-19980"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
+"rectopma.doc-19980"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
 "refcheck-1.9.1"="llb529mc4gj9wf4zzs7jz9p2qgngwxy6";
 "refcheck.doc-1.9.1"="hvcfjpx9g9wiaqr70vmrpkgqy4i7xikg";
 "refenums-1.1.2"="8zxc6yyp3c597ydikw4zc36ri5xhlpid";
@@ -6007,25 +6122,25 @@
 "regcount-1.0"="bxa9jg03phjn6ibwfils5jkl9p6r427x";
 "regcount.doc-1.0"="knh85nxr5m3g1ljcmp7z58q0xi4rc46g";
 "regcount.source-1.0"="gr39ifiwslrh971xgq7lz5r81cx4vh6h";
-"regexpatch-0.2d"="ly17zaklhj63kiwpak0h0jn3ci6kfzrj";
-"regexpatch.doc-0.2d"="z576gsq7a8dbxpz8072n24wh4nqqnbmd";
-"regexpatch.source-0.2d"="d0vyjn4ywkcmf876mxqyps2ps4grqbl0";
-"register-1.9"="f7fv3fbc7h07nbb3g0a3hhpib1hs0q2g";
-"register.doc-1.9"="q2r2vr7wkmphr64xrh5l021xij612iym";
-"register.source-1.9"="rjr1x4n5806d9grnavzkzcqkdy1ygk0z";
+"regexpatch-0.2e"="mchi56y621s862p0y62fm43yyx159c7k";
+"regexpatch.doc-0.2e"="n92ngbdn7m4vs0vv10dkfzspyknk74c7";
+"regexpatch.source-0.2e"="5vfgzkbv3808v23k5x88lvlnv1j6bclq";
+"register-2.0"="1jaiqnzqsvdqg9mdbqw1z5hbm8crb65r";
+"register.doc-2.0"="p9j8dlw9jmvsph1b6z8m941rmj52w5wa";
+"register.source-2.0"="7hcssqiflls84k2596qs26m3w3jl3c0x";
 "regstats-1.0h"="zkxc3cbq3fr5rpwv3lw3znrs9sn1ajmc";
 "regstats.doc-1.0h"="5ddawlcn7rqzs7i7mjjj8zi3q60qpal9";
 "regstats.source-1.0h"="kafv0h7yl5qhzgq4j4ay54cm9lqgd1w3";
-"relenc-2019"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
-"relenc.doc-2019"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
-"relenc.source-2019"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
+"relenc-22050"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
+"relenc.doc-22050"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
+"relenc.source-22050"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
 "relsize-4.1"="l9n0cv3vjwqlhxw58bnj4gh1qr0mbkh9";
 "relsize.doc-4.1"="bmv72xvd2n40rclz0a5cw128a4m1khl2";
 "repeatindex-0.01"="6zzlr3miqb7p0q3h1kyaly6ykzwjlq0k";
 "repeatindex.doc-0.01"="gjkm3why0hf1269kqbpg70bwwmcagdwb";
-"repltext-1.0"="l85dk7256ydw2j7hihvjrbl2s70izgns";
-"repltext.doc-1.0"="qggf1dm3xwpz8p0yyy0b2gnw4zxa0bjc";
-"repltext.source-1.0"="rnsd3hg4mcyqj903igcsalp56pvg6g32";
+"repltext-1.1"="mzzqdjgmzzal0yizvdncqim8b80rlhll";
+"repltext.doc-1.1"="j81qiaara7zdxi5dyxfqcmkf3cycc43n";
+"repltext.source-1.1"="wxy0rsiihw5f9xzaix6rlnqkiij3cggp";
 "returntogrid-0.2"="qvyji03hqf95f50pkv4jj773a8ryv694";
 "returntogrid.doc-0.2"="8s3dy7s20sl37qhayb7vz949k3nsz2k4";
 "rgltxdoc-1.3"="li2cq0q31dicm59lrnz5vkgxd4m2lksx";
@@ -6034,23 +6149,23 @@
 "rjlparshap-1.0"="584zbnkzrqjydg9hz42ayl9r806sd4cw";
 "rjlparshap.doc-1.0"="g4bkg84j236faakga1kl593bjw1p9wq6";
 "rjlparshap.source-1.0"="gys3kddji7j89c63a2kzz7z8xjdakpg5";
-"rlepsf-2019"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
-"rlepsf.doc-2019"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
+"rlepsf-19082"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
+"rlepsf.doc-19082"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
 "rmpage-0.92"="iqvgmj8ygy8mcqffj9wl5xr3l4g19w7f";
 "rmpage.doc-0.92"="nzm10y262ql87jqmlvbx8s5izflz8nk7";
 "robustcommand-0.1"="pclwgpigb6jf5myrirrgb35jdsrc1r54";
 "robustcommand.doc-0.1"="8236m9s2klnlvii7733r9vkr28ma0758";
 "robustcommand.source-0.1"="a6wczmjbnvfqfqg0cxbnq7srr71w3l6c";
-"robustindex-2019"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
-"robustindex.doc-2019"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
+"robustindex-49877"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
+"robustindex.doc-49877"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
 "romanbar-1.0f"="77m3d5fv4abc2xx6nx5cvzpkshnbkmr8";
 "romanbar.doc-1.0f"="7ha3ybbzivbkc7fllhfjv1mlvq20k6i0";
 "romanbar.source-1.0f"="3jn06jd260yipslvs8xjflwd49pzrcqb";
 "romanbarpagenumber-1.0"="x8gs1z6nn976praar888l74avfd1ha6q";
 "romanbarpagenumber.doc-1.0"="cyfpy1g5g14jlxl83a7ngcl631297a58";
 "romanbarpagenumber.source-1.0"="qs1ia3flkqsd1psbha7bfms1anfg336v";
-"romanneg-2019"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
-"romanneg.doc-2019"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
+"romanneg-20087"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
+"romanneg.doc-20087"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
 "romannum-1.0b"="8l5hrx8svnn1pv9qd3c7y6gxy25fr5r8";
 "romannum.doc-1.0b"="1wlc0m18vg6vl8sgxvj4i3ca4kyfl9c0";
 "romannum.source-1.0b"="h9rkrds6v7b0pvgap090ja271k5jnc7h";
@@ -6061,8 +6176,8 @@
 "rotpages.doc-3.0"="fh2a3xcl4f5mq95d2ibsgmml6pq95cd1";
 "roundbox-0.2"="g1k35s2jqgfm0ih16zf59w470kzv450f";
 "roundbox.doc-0.2"="97dr0pg7689mm504pld75cmnd3vq61rb";
-"rterface-2019"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
-"rterface.doc-2019"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
+"rterface-30084"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
+"rterface.doc-30084"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
 "rtkinenc-1.0"="bgvb6v03sbayxss84awkaa98i1hza4rm";
 "rtkinenc.doc-1.0"="ggkmbwp3kxa1zs4c5f7v3r5lk5v8pdjr";
 "rtkinenc.source-1.0"="iavp7gzq742v267gf3hjq8vwi1ywqfbj";
@@ -6071,6 +6186,8 @@
 "rulercompass-1"="bhgf5s2zj8xdxg5jhh3c4wdfyv87p9j4";
 "rulercompass.doc-1"="bc9m9y239rjdnmbrj6s6rmqadmd32mvd";
 "rulercompass.source-1"="9l57jpav5vpsvsg42gw79mym778q7623";
+"runcode-1.0"="javlwy36s82j5dlr63zrnx790cgn5qwf";
+"runcode.doc-1.0"="f8n5d05jbkq4h0vfma2wl6gwj52lxfjr";
 "rvwrite-1.2"="fmxfnps659r2swx7gr9bdxcij2s7vdn5";
 "rvwrite.doc-1.2"="c1wrdxjnjn345siv4xivjxcw8gd5fi8p";
 "sanitize-umlaut-1.10"="nfavxvmfn7klbszd9zxvlbma32dmvmym";
@@ -6095,21 +6212,24 @@
 "schedule-1.20"="h730zhbkd5wwb6jmvjwaaifdn4sia6bj";
 "schedule.doc-1.20"="m45jrx0nks1q26j75h9s9f3zacdc433q";
 "schedule.source-1.20"="gsclgm1vyfv8gnb5lcrgjz35ipvi4wv8";
+"schooldocs-1.0"="78kvxzxhp8lq2pxhcbdzy3jydq7dj05f";
+"schooldocs.doc-1.0"="zsa4c28bnhyz5n1gnhp35fvpc9886qci";
+"schooldocs.source-1.0"="s2vbjcsgjg3zrdrs5r645lz1hgfm4q55";
 "scontents-1.9"="hh97r1s523a6v2ay9b704cqv744iny10";
 "scontents.doc-1.9"="34jdskkym5x8vmhwjkbfnvwdvk7x98pv";
 "scontents.source-1.9"="jx3mw5l964zggyczpxl8x30g8xcbbg21";
 "scrlttr2copy-0.1d"="jw87bnb7phfp7nmvp4gvbi6nhfwifqph";
 "scrlttr2copy.doc-0.1d"="6pfnhhnjm97ap2zbi5bjj011wqbr2yg4";
-"sdaps-1.9.8"="22qmi8xlyg3h67sw4w5dhspk0pfiyl8s";
-"sdaps.doc-1.9.8"="265rp59fr7b1ws33d3pc597rn480d1qm";
+"sdaps-1.9.8"="swij4rm5szzjh3pwqi7a2b3jzzmnxkwp";
+"sdaps.doc-1.9.8"="a6aif8szw295jihhn782lygi1k6sx1i4";
 "sdaps.source-1.9.8"="4h7km9vs0m0va5k8msmjwhxnqcl2lyca";
 "sdrt-1.0"="2pcbwfywj14n08187899xjdhrjr3zzlr";
 "sdrt.doc-1.0"="85y00dj8k3xd2dkd42rzwscq70rhhxny";
 "secdot-1.0"="xb2kkwqh8dwdly3pcd20k3w2y68avkg9";
 "secdot.doc-1.0"="ngfan1hhwcnppgfpvkm0y0a3bjab1fz3";
-"secnum-2019"="v0d0340lzkywygf6p9sfl31cyczf6dcd";
-"secnum.doc-2019"="4zxhvxfwiihagwp6pjg9mmim8k1n772h";
-"secnum.source-2019"="1kadpq20yaj2l8pljjy42scsj5hn1mpx";
+"secnum-53657"="v0d0340lzkywygf6p9sfl31cyczf6dcd";
+"secnum.doc-53657"="4zxhvxfwiihagwp6pjg9mmim8k1n772h";
+"secnum.source-53657"="1kadpq20yaj2l8pljjy42scsj5hn1mpx";
 "sectionbox-1.01"="mxhi294c4y7knbwiz1i0h4akmlgi0v6d";
 "sectionbox.doc-1.01"="2gapb7fvm8l7m021gp281j5vdq61s1if";
 "sectionbreak-0.1d"="gpda9n0rg3clldz9yck9fqxhz7gkcvjj";
@@ -6125,11 +6245,15 @@
 "selinput-1.6"="f4xcvq61azvc95rvijmiij8mhjq2ams8";
 "selinput.doc-1.6"="6pwfj1pn035vm2jb19sz1qjc523zirqm";
 "selinput.source-1.6"="hv4gdy52gpza79867li3img657779zq9";
+"semantex-0.461"="b8nv8fpq8x20bkcr1rcl9vylcl10kdjx";
+"semantex.doc-0.461"="9mvjv4sii7ljcp6lxawgw0f6vp2gcqpb";
+"semtex-0.45"="mb7w1wbpfwpjv9dcnzyfacw4p9612n76";
+"semtex.doc-0.45"="f0cwzvv4bsfn1jgvbyavr6455w5r684v";
 "semantic-2.0"="ky4ggvzl5171nda0329151c9vbaxs7gp";
 "semantic.doc-2.0"="b1hyb592d0xx35p5dqppyfgykg37xx4s";
 "semantic.source-2.0"="4fwjw0axn8d3ychsqmmdy6x73ckciv9p";
-"semantic-markup-2019"="8x44h8x0qlwz95gh7wmgcq59ldwx59s3";
-"semantic-markup.doc-2019"="24d8xyxdibsx9k7jqdcsidpssfbvi7qn";
+"semantic-markup-53607"="8x44h8x0qlwz95gh7wmgcq59ldwx59s3";
+"semantic-markup.doc-53607"="24d8xyxdibsx9k7jqdcsidpssfbvi7qn";
 "semioneside-0.41"="62v5zs95qqi1i0xpm2jmhcx9pa24jymn";
 "semioneside.doc-0.41"="2z2azzz07gj105jrarifhx3ldjc9v09a";
 "semioneside.source-0.41"="31d1fggm0km56jv6qr5yjv7da6y0ifsv";
@@ -6151,10 +6275,10 @@
 "sffms.doc-2.0"="kqfjz0yn615f068v6349lgdp72gw2wkk";
 "sffms.source-2.0"="h5sazi91347l3qdkn6ghw6ywyp5ddryh";
 "sfmath-0.8"="mkmjhc5jg8ylbjdzx3yal2r3spxv3npz";
-"shadethm-2019"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
-"shadethm.doc-2019"="iv5jbkrj3gc4iajykq4bm6g1lvpvjk76";
-"shadow-2019"="xifs7y18wdkg1kj656swlvx7cpswmgma";
-"shadow.doc-2019"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
+"shadethm-53350"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
+"shadethm.doc-53350"="iv5jbkrj3gc4iajykq4bm6g1lvpvjk76";
+"shadow-20312"="xifs7y18wdkg1kj656swlvx7cpswmgma";
+"shadow.doc-20312"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
 "shadowtext-0.3"="m2qsn137ij2l4lq4h0s5mpw1vvic0k4l";
 "shadowtext.doc-0.3"="894a2s4awyxc0vc7d94fp0dfahjq4021";
 "shapepar-2.2"="hps8xx8z0vviywd61vhkh8l758c0gndd";
@@ -6175,9 +6299,9 @@
 "showcharinbox.source-0.1"="v0mn2l95n4mhmxglwrqzwcs9h31hb99j";
 "showdim-1.2"="8pk9x9rwpa46lxxxcrdrj8qvifs30x19";
 "showdim.doc-1.2"="g9zbjc1awcan45gik1czyz2ggnygzzpy";
-"showexpl-0.3o"="d6w2jrriv8w2vplqpgdi67wyl6wfaf7g";
-"showexpl.doc-0.3o"="v8jfqrzrsjxfvxw26qfw7ifj6n56q1cm";
-"showexpl.source-0.3o"="fir737kinjxq1w6igrsncks7bj2asxy6";
+"showexpl-0.3r"="1wshjyficbi1qpl4nb5fi0qq3da7jmw6";
+"showexpl.doc-0.3r"="qjp19z2m2yy5zhgapg9zyhnpbxw91mha";
+"showexpl.source-0.3r"="8v8qzvwymgj93gvd1rg3ic0n083q13i2";
 "showhyphens-0.5c"="fcmfcmzkv9k6k2d6l2brhwwvffzz3bcd";
 "showhyphens.doc-0.5c"="451qz6c2k3mvnr488s138m8wmgsf1zvs";
 "showlabels-1.8"="qpsrz097whnqv7phnrpff1j4spc0ccrx";
@@ -6186,9 +6310,9 @@
 "sidecap-1.6f"="2fcmjz54dxmvynqhmyp5wjlim72rmd7h";
 "sidecap.doc-1.6f"="c4j5qlprbhhki237x3ribn1hhwjiznz5";
 "sidecap.source-1.6f"="22q6s65b782lb9pxqi5iplf6nmf5ni8y";
-"sidenotes-1.00"="28y9hy8h1sfpz19s2d8lxbp292fnlrxy";
-"sidenotes.doc-1.00"="5ikghxxbd0ap3lwr2gqnsia0916ygnj0";
-"sidenotes.source-1.00"="dq548cxifbq345z7ky4xi4nan76c57j7";
+"sidenotes-1.00a"="h7vx68dxv5l7g8yzkx64zbp53jcv5fp0";
+"sidenotes.doc-1.00a"="nhdavdiw3am7jy49kyqwiwawk7xyxnkj";
+"sidenotes.source-1.00a"="b7qjs3cp62w3mya7sg1l2z6gsmp0hp26";
 "silence-1.5b"="nabq9i9ix7b42zkk5zq38bl47fhc46vi";
 "silence.doc-1.5b"="9rb3mgnavsarwar2i58s9fp4m13pckrs";
 "silence.source-1.5b"="i3siq83ph2lkjfrvc2zbmn5l2i5ssxkc";
@@ -6198,17 +6322,17 @@
 "simplecv-1.6a"="yif1v302airw953py87hf8xw4vdvcrh1";
 "simplecv.doc-1.6a"="172h9r26s8zjpla2g0ah86z1r9k06cy7";
 "simplecv.source-1.6a"="rqyp3gq1k6mbbfmvxi437dxh50qrp7n2";
-"simpleinvoice-2019"="kib8y509s61mzcg5rzcc7s30ii39f88y";
-"simpleinvoice.doc-2019"="47f3zyl0g351p2xihryq6p21qrphi62i";
+"simpleinvoice-45673"="kib8y509s61mzcg5rzcc7s30ii39f88y";
+"simpleinvoice.doc-45673"="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.5b"="s8ra69c9il3rmxdxrxpnpzndzyl6ka0h";
-"skdoc.doc-1.5b"="1fcygnqycyj387wgg3ngqgl6smby3nw8";
-"skdoc.source-1.5b"="a6ag2iwqkmrxh0x7dwksxax40n361kpf";
+"skdoc-1.5c"="v3dwsf3zbh5qpcdav60rjjgjhijvr8br";
+"skdoc.doc-1.5c"="jf85c6whs90zinlbl6q707gmb3d8h7vp";
+"skdoc.source-1.5c"="rbi9j4mgp4aqlgsixgp8ffkh98cbg4rw";
 "skeycommand-0.4"="w3sqnw1xyx8l1qb9h7j8jg8z3f6xsnvi";
 "skeycommand.doc-0.4"="y8kcbdpydw0an53vfw75nvs8f5rhp5f9";
 "skeyval-1.3"="r39dajvb7hh6437jbq3gly44i22im66z";
@@ -6219,8 +6343,8 @@
 "slantsc-2.11"="mnqakna7b6f0pygw4c66jmxy2r2srpyq";
 "slantsc.doc-2.11"="p4z9p7p33xchy1vqjqpiyw38is5irja2";
 "slantsc.source-2.11"="8c2vrhsrgfpqb47wxik1inq8xpa5r50g";
-"smalltableof-2019"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
-"smalltableof.doc-2019"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
+"smalltableof-20333"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
+"smalltableof.doc-20333"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
 "smartref-1.9"="7pvgdpjcdvdxbkb1ag4dal46c1hg4d53";
 "smartref.doc-1.9"="hj0c7i3climwjy64h98ddab5skczf3mh";
 "smartunits-1.2"="z3kj39xpdk8pa7bzqdjd6g6qlhwx2vhx";
@@ -6230,11 +6354,11 @@
 "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";
 "soulpos-1.1"="908fbjhq1zkq0p3qg4ihs62zxd18988i";
 "soulpos.doc-1.1"="7l3pl7mbjmkpr9fwkrdcyjkhqvw2jfdn";
+"soul-2.4"="krkmw15blkx20x947657pddl5kda59il";
+"soul.doc-2.4"="9p399dgxvrfrlcsqbv9sknia9sb68xm3";
+"soul.source-2.4"="hk83yzxa8d8nqg0jyx8wzxwvydhvwf7v";
 "soulutf8-1.2"="90gd4zgr0nsq5ccx27cj32b84rnbk7vf";
 "soulutf8.doc-1.2"="0hlg0wmni0qswpm7l3yzga6lc6wl2pkr";
 "soulutf8.source-1.2"="pspazx53c9dn73absjhpv43wiycncbgb";
@@ -6245,8 +6369,8 @@
 "spark-otf.doc-0.05"="y4v051bqbhwc91ipzdfqc1yqrzd5hg0x";
 "sparklines-1.7"="swn54z70rhmbk917dpl37mfr3sx21525";
 "sparklines.doc-1.7"="mjpd57symvhnv6jjzynalmpqy3l4szfa";
-"sphack-2019"="gdrva3zalq63d7j737247ja9a22abdxq";
-"sphack.doc-2019"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
+"sphack-20842"="gdrva3zalq63d7j737247ja9a22abdxq";
+"sphack.doc-20842"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
 "splitindex-1.2c"="72wrcsz1vmka4qal90la093asf12hs6j";
 "splitindex.doc-1.2c"="gf9j1mi46ih0xanr4lzl43gpfjpjws14";
 "splitindex.source-1.2c"="1y60d6s6ws70dgjhn239h4x8c77hjmdz";
@@ -6260,16 +6384,16 @@
 "spverbatim-1.0"="cpn7cc2f4ila3xfq8yrr5456y2p5navw";
 "spverbatim.doc-1.0"="bnw2p20z8ga1zynk3v8khpgfgbjb5jpx";
 "spverbatim.source-1.0"="ivjx22khzgn0xgzbkb5y8q36i9wh3n49";
-"srbook-mem-2019"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
-"srbook-mem.doc-2019"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
+"srbook-mem-45818"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
+"srbook-mem.doc-45818"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
 "srcltx-1.6"="pamgi7alvxixzd4dy68p502ifdlnz7fa";
 "srcltx.doc-1.6"="1lja1az3vfzxkf2d7pl4cyxbliqml0hc";
 "srcltx.source-1.6"="wk74304mhb77p653l52gmhc990ic0dfh";
 "sseq-2.01"="rypda83sq8zgcnd6fmip2nw85dpqkb2h";
 "sseq.doc-2.01"="2zw94ka78zap6914m7r3xc9slzjr0vig";
 "sseq.source-2.01"="1fw0mc1crac3fps3s62rskzhn946zffb";
-"sslides-2019"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
-"sslides.doc-2019"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
+"sslides-32293"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
+"sslides.doc-32293"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
 "stack-1.00"="p32bbliciimyyfpizvi0cdrw7nzkmlx6";
 "stack.source-1.00"="x3hkdwa9hip4zp8paipd8yjjz10pysn6";
 "stackengine-4.01"="nivan4carz07sqpiymvlkjxswkqa9mjd";
@@ -6288,9 +6412,9 @@
 "stealcaps-1.0"="8q97ghfyfnsmjp2jw2brp925hr82sprn";
 "stealcaps.doc-1.0"="3sdy3dqpi4axamhvshixk7hdqmspv446";
 "stealcaps.source-1.0"="xzysv6jy1bzcp1dww6imz9358id28lqf";
-"stex-2019"="gaf5gfk5kwfy1m8m4wwfkhx0cppxj58b";
-"stex.doc-2019"="rga6abj8kqig904y3wm4lmzi7lw9jccy";
-"stex.source-2019"="x7x55ags2g5ks59zpcphv1m37dc91192";
+"stex-50489"="gaf5gfk5kwfy1m8m4wwfkhx0cppxj58b";
+"stex.doc-50489"="rga6abj8kqig904y3wm4lmzi7lw9jccy";
+"stex.source-50489"="x7x55ags2g5ks59zpcphv1m37dc91192";
 "storebox-1.3a"="kc1a9kwyd31s1376b16hidk21cz2q2zv";
 "storebox.doc-1.3a"="qhjcw6fzxlkzpgnk0ra7l6fqp10byiv6";
 "storebox.source-1.3a"="6zzmya7fcjajy73i8iys9584bldh18z2";
@@ -6322,9 +6446,9 @@
 "subfigure-2.1.5"="rnd1mc9gr078d2vna7vwnhv420mnndch";
 "subfigure.doc-2.1.5"="zpsn8d5b6h8s9cwbl4fd9iv6w7hypmc4";
 "subfigure.source-2.1.5"="10lv7vivb3hggcyv8hkygjhhly6ixxlf";
-"subfiles-1.6"="6420jdqcvjxvwqb9zlqw8yla8hh4gpkc";
-"subfiles.doc-1.6"="8qc5kwvsddpnz32zvrkbjnlxvw7xq4cd";
-"subfiles.source-1.6"="viinb1ny5z1p6zgxwh5dgzlsv12hwhw5";
+"subfiles-2.0"="zhzqc6hlsb7q827v3blxfdyn8whmisml";
+"subfiles.doc-2.0"="7mq48iicimlhggw3pkr3dp8b3ps952pl";
+"subfiles.source-2.0"="l20v3cnafk2as4iyvg5ci83fivl1990g";
 "subfloat-2.14"="l7d8iz54q7zfi5764jfl8v786wihisw3";
 "subfloat.doc-2.14"="rx97nj1mh981n89pby4prni2wfmqisj9";
 "subfloat.source-2.14"="3a8hj83wyvwrsfk0v6ibzmz4ahzvbkv7";
@@ -6333,9 +6457,9 @@
 "supertabular-4.1g"="2rh3aa8ch5jm9yc4iaj349cd339wabw6";
 "supertabular.doc-4.1g"="5n3nyqcxgn9fszv2njl59rgadnbg2n45";
 "supertabular.source-4.1g"="vi7q7isd5xw019q888apkp0rdqjzzi76";
-"svg-2.02e"="7rqzw5zqz1wqpgflzwxw3pvda053fw0k";
-"svg.doc-2.02e"="4cz9v0v46z9qzyiwjbxngmxs7ypra6fb";
-"svg.source-2.02e"="q95l5si7948jcilizjrrf2lix1d95wim";
+"svg-2.02i"="p48dvxfbd8w95fgmgqcl98mnfkdpmrym";
+"svg.doc-2.02i"="1z476mvi6fhl11mlb0bqifpb23g1a2n6";
+"svg.source-2.02i"="4221dfaf1xaw9rzrj38jb6ac0rsbw0s5";
 "svgcolor-1.0"="ld3wccj2cxdhv0xyz7qmxcvr6saab2s2";
 "svgcolor.doc-1.0"="nj7w6bihmr8hmvcykya9nkxlkhmlcw6r";
 "svn-43"="hv7xk90h5qb4ilx7f4a6zybijnhba9ic";
@@ -6347,8 +6471,8 @@
 "svninfo-0.7.4"="761kpr460h6nfczsf1vakdj9r947in1s";
 "svninfo.doc-0.7.4"="qlhr7rj98m7g55kgrms1jjw3wp3k7z4v";
 "svninfo.source-0.7.4"="xsf1rs0ar8ris0dh8qbslxwx5i0ci6ck";
-"syntax-2019"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
-"syntax.doc-2019"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
+"syntax-15878"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
+"syntax.doc-15878"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
 "syntrace-1.1"="02njfsdqh7ssnjcsnpmzi3iwxz2yfj9f";
 "syntrace.doc-1.1"="v5q7643l6spib4kf6mma67pl7xm8aaqc";
 "syntrace.source-1.1"="qqmfivdpilm8qp26v7kf3lcvfp582jv0";
@@ -6358,8 +6482,8 @@
 "tabfigures-1.1"="spwphj1m563rip8gq09fb97mz85yqwiw";
 "tabfigures.doc-1.1"="l68l551i2skm8yns6r2f1ji0kgxhx56a";
 "tabfigures.source-1.1"="6r4li6abzpgpv008xhy0x3lyywpy2w5d";
-"tableaux-2019"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
-"tableaux.doc-2019"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
+"tableaux-42413"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
+"tableaux.doc-42413"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
 "tablefootnote-1.1c"="axmzyplpbyfmhfx7jsijk3aaqcyc7c9k";
 "tablefootnote.doc-1.1c"="z65aphzdy953r1r3a5lzpvizmhs638g7";
 "tablefootnote.source-1.1c"="a1qbk028v26pld26654hsl3j3fc90js3";
@@ -6406,13 +6530,13 @@
 "talk.source-1.1"="mvqbaz1vwya42g0idhhp948dxmb5z0q8";
 "tamefloats-0.42"="biipxghplzwd03drjpiisijhdzr4i04i";
 "tamefloats.doc-0.42"="mnmrchq7k8n04dx35r1plzxcw46hx4cj";
-"tasks-1.1a"="sbvg3nzjsmzwcr0366sin8q76zavhqq9";
-"tasks.doc-1.1a"="ahmrq90xd8cpi8067jl9p22cm6aicvwi";
+"tasks-1.3"="3p5bihxk5zz5sbmgsxkyz8ld7smwwik9";
+"tasks.doc-1.3"="5h2cfrhh60qcifsqzzrypax8fmhkgkc3";
 "tcldoc-2.40"="r9i94qmf78q9j3adkzfly43riv2bzdmr";
 "tcldoc.doc-2.40"="fh6a7m41gxn4988pwr90ph25gg26ky40";
 "tcldoc.source-2.40"="p007ccff6w6d3nlpsp3q476vg9m4rjq9";
-"tcolorbox-4.22"="q9drs71lw7ri3b1qw7yj784z3kmd94rk";
-"tcolorbox.doc-4.22"="4fzbrllkiy8ck4f02hca47l8my5mx5sc";
+"tcolorbox-4.41"="vccsv3l6zis6lipj4z2lv2qf14jxbd8m";
+"tcolorbox.doc-4.41"="04ffj3ccvx31hxd0y0gk59ghnqiwkagv";
 "tdclock-2.5"="dzb2gj8y1dv7qm5mn7xfgzdq9aydqjk8";
 "tdclock.doc-2.5"="sgdpiwcnkifms1lx7xicl3xj194lfhbg";
 "technics-1.0"="cav50vxgp01465wa07bmza4blgsv49wh";
@@ -6420,9 +6544,9 @@
 "ted-1.06"="2rd9qzrp0i0yk9qzz4g2zsjafswd6m91";
 "ted.doc-1.06"="02zyzvjncgpgm4iy2nxkx209l8dhgkm2";
 "ted.source-1.06"="isk5yz52jxsdqq8vzcvr99xjcg5sy7pz";
-"templatetools-2019"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
-"templatetools.doc-2019"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
-"templatetools.source-2019"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
+"templatetools-34495"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
+"templatetools.doc-34495"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
+"templatetools.source-34495"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
 "termcal-1.8"="brb1gf3h9zaa07s0ppbvgjiava0yh9k9";
 "termcal.doc-1.8"="3k8kgf7fy8b24n2jbx79a55awzs54far";
 "termcal.source-1.8"="k680hlhzp03wfxnxld82sgsnaggfw38g";
@@ -6435,9 +6559,9 @@
 "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-label-16372"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
+"tex-label.doc-16372"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
+"tex-label.source-16372"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
 "tex-locale-1.0"="l1ivcvf81xx7g4qm4jr778ssnyzf6m92";
 "tex-locale.doc-1.0"="01d792zq1yc408zzs3lpx3zffv7bi85f";
 "tex-locale.source-1.0"="ak4a3mf5q29g02rx6iy7yv2kp51gdqjm";
@@ -6460,27 +6584,27 @@
 "textmerg-2.01"="k9zrf9l5a75pzf1c30fxx48kly07m2rj";
 "textmerg.doc-2.01"="bjgcbyn95fi8kpq91kkhhxbarw5dn526";
 "textmerg.source-2.01"="4kws4jyfmh7w7z258clr3dd4x7k98iqj";
-"textpos-1.9.1"="9y69phigp9a3mnpxm8pz73scqkjrajfc";
-"textpos.doc-1.9.1"="xlp3qhzsccwq3dsxs86pn66kjd0hpnfa";
-"textpos.source-1.9.1"="617mdm7hify7hwjc7w0af3fnc0d65hs1";
+"textpos-1.10"="m4i81jmy2p4ggyp0s5csr76bk73i5wnr";
+"textpos.doc-1.10"="9nx53mmh965w20qg5mkijvsihqzby1w9";
+"textpos.source-1.10"="465vdydvrrmphq1qyyqnwnw5xq8dvgzq";
 "textualicomma-1.1"="99h4pfsjnfy89xpwh4djj8fnhkwwxi3z";
 "textualicomma.doc-1.1"="10pyym40s0jszs7632hqxna94x3czwrm";
 "textualicomma.source-1.1"="14fqq28b54pw4b65kv1kwxif9fcr175p";
 "texvc-1.1"="x48959hg957jqqqf4ijb6wiifbrm71sj";
 "texvc.doc-1.1"="pxgl51bvjh0dq9mbs3p65v8giqz5p4zd";
 "texvc.source-1.1"="snic6z1hg65qvljsg4c5faqrjy7hk9qg";
-"theoremref-2019"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
-"theoremref.doc-2019"="846wd88w325ganigw2g9rvhcs9is6ziv";
+"theoremref-54512"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
+"theoremref.doc-54512"="846wd88w325ganigw2g9rvhcs9is6ziv";
 "thinsp-0.2"="flil5f3fr9ghxa0bffvqy7wackrg7q27";
 "thinsp.doc-0.2"="pk93sirkywa7hmqggnapklyz0bqy04c2";
-"thmtools-68"="r18kybkrcn6j2dj4k8g0wv1z9d0bdv5m";
-"thmtools.doc-68"="b08ppips1cylxm86x66qmwwx8zcvbihq";
-"thmtools.source-68"="q1plsdxk38jp54s26aqw79rlsxgrgmlx";
+"thmtools-72"="3pkj810asyqi7da0lfg5kbaidvcs4kmw";
+"thmtools.doc-72"="bqgckfjp266gi9vi6cbqx9525ifisf6l";
+"thmtools.source-72"="kica26al0rd71l3isdl4hv5hwizh2faj";
 "threadcol-1.0"="jwbi62xbc0cmzv65spvx1i6dijg34w6n";
 "threadcol.doc-1.0"="j6v3gi6c2cnhs8z5pm0j1cwg7ayi4hxj";
 "threadcol.source-1.0"="0irgk3ajakrjf1bgbfd71qvpy35fklmb";
-"threeparttable-2019"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
-"threeparttable.doc-2019"="4y119m8549dk5kv4sbhh614nijlv0vx5";
+"threeparttable-17383"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
+"threeparttable.doc-17383"="4y119m8549dk5kv4sbhh614nijlv0vx5";
 "threeparttablex-0.3"="7slkq5cfxlah9ckr408l1wqxxc9x5hkh";
 "threeparttablex.doc-0.3"="46r8874q74dgja9ivs4i3wcg35lwlv0b";
 "thumb-1.0"="knz4ixhqam9i803vpaq6qmghx6n7h9hq";
@@ -6495,7 +6619,7 @@
 "ticket.doc-0.4d"="c6d6arnzv37pczxs39h99s1isldk36fi";
 "titlecaps-1.2"="lf0q66qrj3kw5hs90fbhr93dz7ik1gx8";
 "titlecaps.doc-1.2"="qb1mj8p7srqz37f77wqs1igfcpl8wsg8";
-"titlefoot-2019"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
+"titlefoot-15878"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
 "titlepic-1.2"="psapnhni7mhwd94s2qmki4hdlpbq3dbs";
 "titlepic.doc-1.2"="c363symm32mhjg8cxw9j4xsmyhdl58kg";
 "titleref-3.1"="1ai0w05ipy1dlxm0n78jzvpdgp42j19j";
@@ -6508,9 +6632,9 @@
 "tocbibind-1.5k"="f5kf8lxqhg6hn7qjnxxmrwphi11ndgk6";
 "tocbibind.doc-1.5k"="v5vwh1sm8bzqky6lbabvk6j3gjp8bxx6";
 "tocbibind.source-1.5k"="xq2f0iby2zafyghn0a9pjbvv1hw6z6fb";
-"tocdata-2.03"="k4q3rr13qywdl798lg7rx8zgqyhgc0cf";
-"tocdata.doc-2.03"="11pgqzlzvx5hxgw2fizyjrq670d1154d";
-"tocdata.source-2.03"="adp7jfmqm6p1l7gn7p07j7d18jzg7i63";
+"tocdata-2.04"="yal5m2rnbhhv5b327qqwcbfqyqkvycdl";
+"tocdata.doc-2.04"="h0k923201mgxy4cd30m5476v5cm216fw";
+"tocdata.source-2.04"="dkj8b681ynkird2j5jwnmjxwcadcm4fl";
 "tocloft-2.3j"="i855nlns30831ls5lgzc0blbnjg3v4rh";
 "tocloft.doc-2.3j"="svwwfcyppadikp7jq1mfp5f24nrpv3m4";
 "tocloft.source-2.3j"="pqry1z1zpr1309fnah8frcz1mkx2iqk7";
@@ -6520,28 +6644,31 @@
 "todo-2.142"="2ydakqj3py3dsviz4npq41s593blhag2";
 "todo.doc-2.142"="hs7ghig9yh4xhyr1y6n570vkiwmimv8r";
 "todo.source-2.142"="3gwsvfv1rhr1c6jb1xdgm9ycws6q8m2r";
-"todonotes-1.1.2"="k9dcrj6jpppwhp1hkibcdpwnpm3fmx32";
-"todonotes.doc-1.1.2"="6lwri4ybslcrfphvg8cah3fsw1lv5liz";
-"todonotes.source-1.1.2"="xyjg7n8m9aq7ykawy9lsa677jpylz730";
-"tokcycle-1.12"="1ar98zdmgr3c5n4nwk70l3ypd01badjk";
-"tokcycle.doc-1.12"="a5m1mcpm0q2jx91m9ki19rpc25rdj29g";
+"todonotes-1.1.3"="z59z4qq59ysrycwcykda58y9rpz9l0zs";
+"todonotes.doc-1.1.3"="rnyl5f5jhaqc9xarwr9fqri1kk44j15q";
+"todonotes.source-1.1.3"="0dhfvw53zzk56z66r8pj75psqllc4g1b";
+"tokcycle-1.2"="66dfyjxd3dnc31l8fam9kg0b14f9azk1";
+"tokcycle.doc-1.2"="yjgjz42wgvwhsasaa30iab3wkqiqynms";
 "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-2019"="a6wpasrna61fbpcb35m1gighj3xshfrp";
-"topfloat.doc-2019"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
-"topiclongtable-1.3.1"="039ngjqqsjqslmsy4wj9j8lvysdyg2d7";
-"topiclongtable.doc-1.3.1"="66a5bw5zvxrn4dkcyiz8vi9l8qqjcqxb";
+"topfloat-19084"="a6wpasrna61fbpcb35m1gighj3xshfrp";
+"topfloat.doc-19084"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
+"topiclongtable-1.3.2"="q985hj47w7zsf523mm9nx95lzj2sx7lh";
+"topiclongtable.doc-1.3.2"="b49ssbcvgqdl066vzsj62p6n2aj4kwjg";
+"totalcount-1.0a"="2xwhxznqfj62vnp9crpxs9nv89l578j7";
+"totalcount.doc-1.0a"="ylkzk9saf2h0yzv698slhqrw3kasi4pm";
+"totalcount.source-1.0a"="j1mblnmswzlvw6pfd8lla7i6hrnb52k6";
 "totcount-1.2"="mjp1wrksnwg89cj9si72fj1zjyrw9szn";
 "totcount.doc-1.2"="q1j4ja1xiqc4aahh7d02cnm8pvb356r6";
 "totcount.source-1.2"="g56d6lcx4g79iqg8af4nazv3lf3973ic";
 "totpages-2.00"="5lxvigm3prx6djwih6imgxf27d57sw2f";
 "totpages.doc-2.00"="9kxxf13pfksp7whw0rkx554qn9dbbbhj";
 "totpages.source-2.00"="y4d9lbpab1xlfdd69q2558c5d0ka5mrj";
-"translations-1.8"="5i5sn9yv3zr4am821m5hsf94x5v69xb2";
-"translations.doc-1.8"="m0fb1phz8al5rjw4fsb0ni287335chcd";
+"translations-1.8b"="pd0xy1whysmnz3cn0r7dbpm9hshwmws0";
+"translations.doc-1.8b"="q9qlq3kr1hfn9ygw4178n9g5dxz4nxkr";
 "transparent-1.4"="dmcm4nfjmkxj8ycc0y7lgzklbfafm5cg";
 "transparent.doc-1.4"="w7vkf495ybi15ir7vpdv9n85wlarlfl3";
 "transparent.source-1.4"="hxayqrkm3ann09p5ffqq8i7vhn89k86z";
@@ -6564,17 +6691,17 @@
 "tucv.source-1.0"="85rsysj0whl6f07njaxigyk14ij204gc";
 "turnthepage-1.3a"="kiaa5nrr0q0zdgbl22349ilfl23hlzvl";
 "turnthepage.doc-1.3a"="akqb1g5iyf9f7shvsm0v5wqzi43w8974";
-"twoinone-2019"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
-"twoinone.doc-2019"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
+"twoinone-17024"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
+"twoinone.doc-17024"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
 "twoup-1.3"="9zz59lr969ia2fr0kawfiibwfvjz8803";
 "twoup.doc-1.3"="scznf4yfaq02nd7yq3fkjxn2cnzhd0s8";
 "twoup.source-1.3"="rksz35jmn56sd5s5m3fmsp7a33rgk0c0";
 "txgreeks-1.0"="6g3vnp9prv91yjr054dshpgdl2f62w2x";
 "txgreeks.doc-1.0"="rvca7hs2rrssy46nd855knh10jkav8s0";
 "txgreeks.source-1.0"="aifnmmsvmda0vs6xvw2xrl3dyvr6sxkn";
-"type1cm-2019"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
-"type1cm.doc-2019"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
-"type1cm.source-2019"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
+"type1cm-21820"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
+"type1cm.doc-21820"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
+"type1cm.source-21820"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
 "typed-checklist-2.0"="nb46bydygh6n37z3w9rcl4vdlgd0jlyj";
 "typed-checklist.doc-2.0"="wpqkpzji27rp6zvrhy988fgjf1mf9hn1";
 "typed-checklist.source-2.0"="yp6qcgrbhlggv7c7n5g40gmiz6azflz8";
@@ -6592,9 +6719,9 @@
 "ucs.doc-2.2"="z3jxd58nlj0lkch4gc3jg4nwc2aqgzwr";
 "uebungsblatt-1.5.0"="9z0cwx5jfib1mfyq49bq2yl0yfacwg89";
 "uebungsblatt.doc-1.5.0"="vps5ya9a8z6hv7lynd0fwizwxdxyb52j";
-"umoline-2019"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
-"umoline.doc-2019"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
-"umoline.source-2019"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
+"umoline-19085"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
+"umoline.doc-19085"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
+"umoline.source-19085"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
 "underlin-1.01"="vp1wvsy871d28x0z1rw4pgxw9abkr8yg";
 "underlin.doc-1.01"="8cbapdd7sbqfxs6s2fx6pv0d8x6b0sjs";
 "underlin.source-1.01"="52j0xlhajihpgw5mp5zgpnsaiqkyfr62";
@@ -6603,14 +6730,19 @@
 "undolabl-1.0l"="d93inn1bzkj056nz3syf6zplallmmjy5";
 "undolabl.doc-1.0l"="qjjvwf6sn52vcnsdqz8my9ahbvv6h26j";
 "undolabl.source-1.0l"="1cjwgz2bwq3rwmqq1q23jbk6dzzawfl1";
+"unitconv-0.01"="sda97fa30kkspqkcgcsiffsr2wik5z2y";
+"unitconv.doc-0.01"="1a5fiy50i32255z85pzvc1p2glfcqj4n";
+"unitipa-0.1"="qgnmsv4lq9qv3r8k5k7frjfpx2qqniyz";
+"unitipa.doc-0.1"="m0yxrybgsay2f017zlzbn3bsy3ljfh7w";
+"unitipa.source-0.1"="6ik8hi7b52k9xsn9pjpm1yycbxn4kqms";
 "units-0.9b"="b92vh3z7cr8q1lp5cqzkiw2dhfbla7cg";
 "units.doc-0.9b"="3c1a9x0y99lb2qw8scb0x70jzbh5kjkl";
 "units.source-0.9b"="ha3bz0p0xanqznz0nyfsa02j32wjdl88";
 "unravel-0.2h"="6ngqd1mpj3akcrf6r25g5y32w18r4cym";
 "unravel.doc-0.2h"="l75wvabv32isssh3lsma3h3ziir74yay";
 "unravel.source-0.2h"="lzscffmk9ychmzcbwqanqzv7qr2rzxwn";
-"upmethodology-20190928"="kx48p4k7pcw622vsw0r4d2mhkvg3kiyv";
-"upmethodology.doc-20190928"="h5vqrk88hfxaqp86r93jkg59hhsjvsgg";
+"upmethodology-20200406"="z03ic80fkbnnsg5j9xk3ipp8j6102w64";
+"upmethodology.doc-20200406"="ama62wdhmsalan1y77ii0gzb6pnppgwn";
 "upquote-1.3"="3pr0j9wkyd8fzk026qk6vzsv5hlyccy7";
 "upquote.doc-1.3"="ilclzgj5m6nxhnz4398f5nwypf4jp2gh";
 "upquote.source-1.3"="4j1q8nck1g1cg4paz65l2zpvyimkf31r";
@@ -6622,8 +6754,10 @@
 "ushort.source-2.2"="jhn6sxdjyff94x69jhax021qfx39dca7";
 "uspace-0.04"="mc9j21cj64djdxspryc0knx00xm2krvm";
 "uspace.doc-0.04"="72420339xc9l7a1xaz1pdkn7clkdrm7w";
-"uwmslide-2019"="zf5gky1nzsjd1jp5kq843in2prllnk36";
-"uwmslide.doc-2019"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
+"utf8add-55291"="37ai49lg3vmkark7jwyvjbcs165awqh8";
+"utf8add.doc-55291"="1s7a52r5qjrzkvrhymf6ksjl9k8n8vph";
+"uwmslide-27354"="zf5gky1nzsjd1jp5kq843in2prllnk36";
+"uwmslide.doc-27354"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
 "variablelm-1.1.2"="gmqg9y7mmqmzl04n1zh8gfxzglhh4afx";
 "variablelm.doc-1.1.2"="d12x54ynkf2lq50m97p9s3wh2jr1y5jr";
 "varindex-2.3"="isp8j60q76fms3g4nlgf6d6da6f2y0xg";
@@ -6633,6 +6767,8 @@
 "varsfromjobname.doc-1.0"="inwn7n9dn0lym3nfh2szc3vfszhns7vn";
 "varwidth-0.92"="z2p07dqsj6pmdk6wm7snd0bih1s1q2dr";
 "varwidth.doc-0.92"="i4p58c787avqjqn5qqlcd19k8chxpp96";
+"vcell-1.0.1"="g4z68vrb7qslxdq1f31nawlpv5cma6za";
+"vcell.doc-1.0.1"="vfsfz1lzpcaqbrdcyrpjc99xylk5inss";
 "vdmlisting-1.0"="8kkhifiignvk7ilb9ka1b0bssgc7vv1v";
 "vdmlisting.doc-1.0"="aqw59yhbm5sxfp4kmhy63npmlywh31dq";
 "verbasef-1.1"="i92bhi5drkn26s6lc8kwdm2z5f2qr0y0";
@@ -6645,6 +6781,9 @@
 "verbdef.doc-0.2"="dak1qyfi1gpb4j16nklvyjh7gldb4b2g";
 "verbments-1.2"="wvi7plkxcf920mdw7qrhbi2fjph1fxa4";
 "verbments.doc-1.2"="3zc8bfvz8a707jzh7zdbmb3rkxwfv2yq";
+"verifiche-2.2"="j2hfcfwzf4mxnps1d2kdn6m4kn4s9c8n";
+"verifiche.doc-2.2"="5qlb2by953p5jn1s1z9jmfrv18qckgw4";
+"verifiche.source-2.2"="lasl08n7448nbw0wrw7dzsdla88ixlif";
 "version-2.0"="q06mavcr844zm0dlnk2fm43np58nvjlj";
 "version.doc-2.0"="7hcfbpwhb2ifxy3y84g6rgw2f7465hgj";
 "versions-0.55"="c1vn4pw5im1a93xpp59i3xcf5az1n326";
@@ -6683,9 +6822,9 @@
 "warpcol-1.0c"="91kcbm5m59ym7kfjbhzdq20p9rhi7ci4";
 "warpcol.doc-1.0c"="q72m3zkgkm7fxfq1453jsmqidgacb2bh";
 "warpcol.source-1.0c"="lmr3rlbqz9q7j05glz4s8fyfrlm6ah43";
-"was-2019"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
-"was.doc-2019"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
-"was.source-2019"="cwqcmdh86sm58073zm929dxibw3flc02";
+"was-21439"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
+"was.doc-21439"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
+"was.source-21439"="cwqcmdh86sm58073zm929dxibw3flc02";
 "webquiz-5.2"="9qq4an9pcpirgzrfa7jx1mc74zz5y55q";
 "webquiz.doc-5.2"="36ykfxg7dqx2wzn5k15f85s9wm99c4xd";
 "widetable-2.1"="sv2di7hvsz6ivzb6a0s7dccrqwi2d0xz";
@@ -6694,8 +6833,10 @@
 "widows-and-orphans-1.0c"="ywmnrcjhxsc2s072xqpqgsf2842ykbw8";
 "widows-and-orphans.doc-1.0c"="rcn8xvbawa9gvr1gsk3gnw4kcs6q3rla";
 "widows-and-orphans.source-1.0c"="4x1cfnpi3ff1vpf09d2i2iz1w9asn1kb";
-"williams-2019"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
-"williams.doc-2019"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
+"williams-15878"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
+"williams.doc-15878"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
+"willowtreebook-1.01"="619dav4z2qv4llwbn8md0zh7kd7xchnc";
+"willowtreebook.doc-1.01"="13ipsdh703cr8ivw4slg5ddfqpdxddnr";
 "withargs-0.3.1"="scpyc35ch6zjsdi10iqajg7fs2i9g4gz";
 "withargs.doc-0.3.1"="wsagxy5bb8psai9zilrqxvw1hdbvkn94";
 "wordcount-1.7"="wn4d84kxf5phfn6f5imv91draca4wxap";
@@ -6707,16 +6848,16 @@
 "worksheet.doc-1.1"="dwab8sjshckkcm8vmrxr80rmrd31jih6";
 "wrapfig-3.6"="0r2wm95j00mxbiqgyk2d5vsb4l013zdw";
 "wrapfig.doc-3.6"="bb3z98p5kkhh2cw6qm0as75xv914l84d";
-"wtref-0.3.2"="427q1xixm8dz8wfh9z2bny6brs3s9i3j";
-"wtref.doc-0.3.2"="s02aiynd81ksydrfxlksamrdfkhhhfqn";
+"wtref-0.4.0"="p5kwcxjfwpcdr847651c129jjqj5vvlj";
+"wtref.doc-0.4.0"="zn0kkfbz04w28b0ybaqxyg8w6gw9x64c";
 "xargs-1.1"="s6g70azr1g9mg42k7lgii1ngmyjad657";
 "xargs.doc-1.1"="d8y9n347qlv5ybr4ahfqf51yb4g9wjzy";
 "xargs.source-1.1"="zvlns27k99jmi1iy7nyc03kyyy8kaycs";
-"xassoccnt-1.7"="9gjhxbaxdfqadbywhka6kqnyyw9wl5ls";
-"xassoccnt.doc-1.7"="38p065jjmz5c8mjc0lbvz0jg793nlr53";
-"xbmks-2019"="apn51ljhxljrg6m2wrx9fgq9cvw7plh3";
-"xbmks.doc-2019"="pw86h72c5alcqi96l6i3f04yzv8m040h";
-"xbmks.source-2019"="1gqf2i24lbvbnbyybyqmmm4zx103xw8f";
+"xassoccnt-1.8"="8zs4hif0l7mw7xllcwg78zk4m8yrsvaw";
+"xassoccnt.doc-1.8"="pmsjqv3b0ap1j4ax0lc0q5lhsv3sql6z";
+"xbmks-53448"="apn51ljhxljrg6m2wrx9fgq9cvw7plh3";
+"xbmks.doc-53448"="pw86h72c5alcqi96l6i3f04yzv8m040h";
+"xbmks.source-53448"="1gqf2i24lbvbnbyybyqmmm4zx103xw8f";
 "xcntperchap-0.5"="qbrmbcwfdhy1as9i732naj5xnqd8zl7r";
 "xcntperchap.doc-0.5"="ql3z0qizhd2nxxjb5i4hhxvb43951rs1";
 "xcolor-material-0.1"="08zazp49lpmm92ang9i2q34kvx7v4rli";
@@ -6739,8 +6880,8 @@
 "xellipsis-2.0"="x7m9da1658cxs5896bhn8cjdj0va03xr";
 "xellipsis.doc-2.0"="332vcqlqjbpm5hsqbcfq23avmmgjl837";
 "xellipsis.source-2.0"="3r007qgvxxcfvnd7942yafsznza0jdk0";
-"xfakebold-0.06"="yc4gyj4m6z1bg1wy4z3ag4zqdwl9230s";
-"xfakebold.doc-0.06"="z85af4igv97150qh2bcay8kz42s76107";
+"xfakebold-0.08"="yr38vnjrqgxnlzdrv0vjk0wkcpbn96g8";
+"xfakebold.doc-0.08"="pw6zlgy6qmlmi6gxb5p9fji5drzkhvr6";
 "xhfill-1.01"="6c09h61nlwbviwc1vfvmr4jhbrw2fs24";
 "xhfill.doc-1.01"="cw2rx4v66138fsh1vwxhq9smyai1xlr4";
 "xint-1.4b"="iri239wyn7wyc0pcin97syrgxc8a4z0h";
@@ -6748,8 +6889,8 @@
 "xint.source-1.4b"="nws3kzv8aadv37kyvrh5hjc6halqvflz";
 "xkcdcolors-1.0.1"="2g1glnkhcq4709y8hkkn3f6b3a4wh5dl";
 "xkcdcolors.doc-1.0.1"="ni52wb9gdcxdwzwdl78988anxhj5ay61";
-"xltabular-0.2b"="rgv3ixm0aynqzfmf8s1682n52ga5mcm6";
-"xltabular.doc-0.2b"="0d48lsksnxlyhaxrhcc497f95k4xjcvl";
+"xltabular-0.2d"="xr6zzhbymh3v7z16ixdaacbv7z47cl28";
+"xltabular.doc-0.2d"="76yq255vnakwh7h10dkaczkhfkg5nisz";
 "xmpincl-2.2"="wjg1lw656zbn3h41pxqzwwag9mgrk3h6";
 "xmpincl.doc-2.2"="dczhfj7g5h3gf3vg7wncvccn1q3xavqp";
 "xmpincl.source-2.2"="0pfma5c8agil5jamikja0qh5fnyd9wn0";
@@ -6757,9 +6898,9 @@
 "xnewcommand.doc-1.2"="i6hx2x96hwjs712zzrp5h8l020b7j0yh";
 "xoptarg-1.0"="dpvgxh3j4vz7k25vbi1a6936pxsg901p";
 "xoptarg.doc-1.0"="hlx9h66iaychpvzkxnwldkffj7fdn45m";
-"xpatch-0.2"="8yzw0fgd1yk8cg1x5dljlywpzbijz485";
-"xpatch.doc-0.2"="zi1mwf1l3li8gghz99408f5v31jnfrm4";
-"xpatch.source-0.2"="wb88mjd06mbw0k8q0ha242zjyy6fr31l";
+"xpatch-0.3"="0qkzj03rh652wh954p3fjnh6jldph1xm";
+"xpatch.doc-0.3"="89fvzh1q664qilll13jgd8lf2753dbhk";
+"xpatch.source-0.3"="cqisb4m9n98yns96j1iglqdjjxhn0h26";
 "xpeek-0.2"="3dbw2vm05dirfvskchrmgdlv7l3n46nw";
 "xpeek.doc-0.2"="vr8bhx79vb9d4nb8ik4aa5xgiyr8sfp8";
 "xpeek.source-0.2"="cr6cxj638iwax50pkn60az0mawpx7m86";
@@ -6768,11 +6909,11 @@
 "xpunctuate-1.0"="n3mxrha0440l5ngic93idrqw2agmisah";
 "xpunctuate.doc-1.0"="lrvqrndq151vfz34ycvjnh3sw77v58lz";
 "xpunctuate.source-1.0"="cmmzrijia2ir3mrhcq4s531la5kx18fj";
-"xsavebox-0.15"="dw7n10mr7nflbhg6lb1g6jd78acxy40k";
-"xsavebox.doc-0.15"="f2g3w356y1fm145pvl61rb4jfvmmf5aj";
-"xsavebox.source-0.15"="3n19vz70bwxcgx02q77gw062z7vr0n98";
-"xsim-0.18"="s3cidc8j651m0zdg80mg6wg47dkjicms";
-"xsim.doc-0.18"="cxk9nkfkhrfsq6d0v0lxlv4zf7038yfw";
+"xsavebox-0.16"="myx02rad0qanxfvg93k228jagaw6fjg4";
+"xsavebox.doc-0.16"="0mkzdmjphmqlfh6kpjab1mg7ws7iysff";
+"xsavebox.source-0.16"="1z7sspx03mj51vshqhhpbfxm5ysj91am";
+"xsim-0.19b"="6f3j377cyrrakq7ykmf843l17xshxm12";
+"xsim.doc-0.19b"="ii58y2yp3lmm8i2k20fi0z5wkcl7f1qx";
 "xstring-1.83"="imwhw4cc68bs6q4f9a00sp7f4y6kvg6v";
 "xstring.doc-1.83"="5ad5zk5vvbk6wpgssvzs905b6nq6x8fx";
 "xtab-2.3f"="zqrxzgk3pn3kw19jm28bvg0lch9lc7sm";
@@ -6793,25 +6934,25 @@
 "yaletter-1.1"="br7r3x3n8h5nlfy36csx8a5ji3cf12wl";
 "yaletter.doc-1.1"="x5mhsm4pxjc2klcnwqyrz10gbq4kzw0x";
 "yaletter.source-1.1"="c1la5n24hxfi3paxwxd8m7lxpd083k0h";
-"ycbook-2019"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
-"ycbook.doc-2019"="piy9cpdcikzknnrdp27dfrciidcjspzz";
+"ycbook-46201"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
+"ycbook.doc-46201"="piy9cpdcikzknnrdp27dfrciidcjspzz";
 "ydoc-0.6alpha"="4di93jv5wpv4bdng1ibkf0ma6m0bknz9";
 "ydoc.doc-0.6alpha"="80hq2xznj76kgj0zb6zv6li578kc3r2i";
 "ydoc.source-0.6alpha"="39128wyw2py0j8f334r7drff849ad2sv";
-"yplan-2019"="rm8ln7pvl6i672107i8hxic85s994g6g";
-"yplan.doc-2019"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
+"yplan-34398"="rm8ln7pvl6i672107i8hxic85s994g6g";
+"yplan.doc-34398"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
 "zebra-goodies-0.8.0"="p6f693z5cywmpln2i6qqxy0g4c0wv78l";
 "zebra-goodies.doc-0.8.0"="0d9dcng2qivm4p2h8112ii3pjrwl1f38";
 "zebra-goodies.source-0.8.0"="dgvli6fpzrs7jgalqvm8m4a8fqldkfnh";
-"zed-csp-2019"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
-"zed-csp.doc-2019"="5p8s701yk431qyngw010qws6b9shx588";
+"zed-csp-17258"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
+"zed-csp.doc-17258"="5p8s701yk431qyngw010qws6b9shx588";
 "ziffer-2.1"="jv9y39n2mj1csaixb3pdfp0qggc16b04";
 "ziffer.doc-2.1"="3ys31swbmm03zmnlvfm155aii3nrd2sm";
-"zref-2.28"="yblpvj047hrkv6raf86rz0k511vgnv8c";
-"zref.doc-2.28"="img48xnnmlbbla4ahhmrmzv4ib61g7ns";
-"zref.source-2.28"="lg2fm4z4njavllw9lqsgivp64icmzn3f";
-"zwgetfdate-2019"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
-"zwgetfdate.doc-2019"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
+"zref-2.31"="8m0k34dxidh1r4803ff6rnbjb5al80sl";
+"zref.doc-2.31"="6dyiph2mr5d1v7glk8dsi0yzil6hw883";
+"zref.source-2.31"="61h6655gkdcjpfiz9k7xb81wadzc2lbd";
+"zwgetfdate-15878"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
+"zwgetfdate.doc-15878"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
 "zwpagelayout-1.4d"="h3kdf67z95ghbzw3fjm7rq9jra2qwnkg";
 "zwpagelayout.doc-1.4d"="12l7jzz3ab176z5rgrjv69fsmli003ii";
 "addliga-1.0"="v46mqcn3yabd6lliclwabya62hvmvpgs";
@@ -6827,30 +6968,43 @@
 "chickenize-0.2.5"="bh3kdbw0yvz28izgmxxw3psmirwmfcd5";
 "chickenize.doc-0.2.5"="hqyyggfs1is65gfl4ck1mki9wgm6238v";
 "chickenize.source-0.2.5"="xhybj8jxyv1fghx7955dcgfcl9kjgbkw";
+"cloze-1.6"="6fnj9fvkd2969p095lrsk2rxvp3bqzx5";
+"cloze.doc-1.6"="sp2jppmdhd3w1z6ivi3kga393bhwqw6m";
+"cloze.source-1.6"="5b31196q2dpj278h0wjbwr193q96p0fk";
 "combofont-0.3"="kqlh6sp2y5ssbp38jy6svzgdva4m4sh5";
 "combofont.doc-0.3"="99h3xmx3jv5il99g6wc10csqkmpm5mg6";
 "cstypo-0.03"="4iqsrwnw7pnzhzzspr686pf6y4img6zp";
 "cstypo.doc-0.03"="3s9dsniw0yz2j7iffbsycsgrycfbjlg9";
-"emoji-0.1"="vgrs6i9qrl2yr9gclszjlqlzcjhhfqnz";
-"emoji.doc-0.1"="14p0pnprlp4nkqzyb9433qdr5xryz72x";
+"ekdosis-1.0"="7zg59f9z3sb50vbj4z5224dypbsmywxb";
+"ekdosis.doc-1.0"="rf0i1p4092qb9my1vlp425zzlgp1j2as";
+"ekdosis.source-1.0"="iqj4hqnja5l7si40a4ds2wrjzc8nvycw";
+"emoji-0.2.1"="v664b6kkikc2bclfv4c2p4bh4l4fwjan";
+"emoji.doc-0.2.1"="51iq1l5488652ns99wl3irf3d9qsgwzl";
+"emojicite-0.3"="ycvzy0rk6ilmzv8jlbn0a6502j6n0085";
+"emojicite.doc-0.3"="52pdr7097pj8grg2m0y4h09cgdd626sb";
 "enigma-0.1"="1d9g45cwjgz5imk677zrza79fhwvz3cz";
 "enigma.doc-0.1"="57pmvf7xx9hp23jxaj4sfam0526y652q";
 "interpreter-1.2"="pk1rbxzpaf3gida3dcshcgl5c12rgxzi";
 "interpreter.doc-1.2"="p249plg4a7qmq65rm84qfs5xvjwywnw4";
 "kanaparser-1.0"="klyk8bqv233cxpg18q10nyzkhql9pqiw";
 "kanaparser.doc-1.0"="kvcxqykqyjdvca2zcga0p6hxiv17vhhj";
+"lua-uca-0.1"="wklxkis107v86c1zlyd5siqz7pjnykj6";
+"lua-uca.doc-0.1"="wbij33n1h6i7xc0rxbwdmbpxgpfjq2r1";
+"lua-ul-0.1.0"="jh326nr1sjlynpk1cniyrpk1566fzhqb";
+"lua-ul.doc-0.1.0"="6bvkddxzxigyhkbs1g11ir5fg5r8qiz6";
+"lua-ul.source-0.1.0"="hrcnn0m4bfqqqznfx5j4fxn72aqiglkn";
+"lua-uni-algos-0.2"="52pjhipq7788hbldi78i78y5pk90v0l4";
+"lua-uni-algos.doc-0.2"="pkw96m767bgcms4k8hypfbzm1xb872fi";
 "lua-visual-debug-0.7"="dc1d0z6fxpdsligy9qf6ij32sw7y99np";
 "lua-visual-debug.doc-0.7"="abkl63vyaxlvp9hbl33lwlkkr5ml5ykz";
-"lua2dox-0.2"="f8nhx5l1x2vqsrnh0amwa4nrf77b6zjl";
-"lua2dox.doc-0.2"="af422a39m2llgqkjghlhh9ix120jdrbi";
 "luacode-1.2a"="8ckzckz94cdkygfjyh2dfldhr1pwa8dl";
 "luacode.doc-1.2a"="2xzk8133632231pnn3v0afb003xhl33f";
 "luacode.source-1.2a"="dw3p52gn6g103qkp5v8vmgxpj2b4cwb7";
 "luacolor-1.15"="bk11q7qiq9dkqcqxjky0id8p27azjw9w";
 "luacolor.doc-1.15"="4f0mpmk3n3zxvirmvxkijdbb0ddsff4d";
 "luacolor.source-1.15"="v6j6i0311iz8cjw9rs787fjlh4n45ljm";
-"luahyphenrules-1.0"="lpkklcbarmvfm4y9d5zgm9is55y66f56";
-"luahyphenrules.doc-1.0"="ch7vc8skad88crgb1blh85ig9sn97l3f";
+"luahyphenrules-1.1"="5arrxlvdlvh3njfllkvdsd6w2a6yhbqd";
+"luahyphenrules.doc-1.1"="3zg4gjpik75ri2f8rbvjapydfzkahsc1";
 "luaimageembed-0.1"="0cc3hfkj5jqldnv95ifz4j6ls9vj44dj";
 "luaimageembed.doc-0.1"="66vlh8a2w7q9ng1na9sraibw5ixxlyc2";
 "luaindex-0.1b"="hlzsr82cp5vs41bvnp22f8jc3kkwyk4y";
@@ -6860,11 +7014,11 @@
 "luainputenc.doc-0.973"="jyiy6f96v5nvrr4lp765vpvhrl96j67q";
 "luainputenc.source-0.973"="5v1n89k8wg4g43fnx0wz53gdxp7cvgji";
 "luaintro.doc-0.03"="gcz5ihcqinbpnqza158xsgw65h17lgi5";
-"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-doc.doc-30473"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
+"lualatex-doc.source-30473"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
+"lualatex-math-1.9"="4cgzpjyrs5ndbs3b3x5sxn68pbyykcvd";
+"lualatex-math.doc-1.9"="dagvjsxx05430vhk8lqp3lbp4nxq6xss";
+"lualatex-math.source-1.9"="53dads0ml8318r00g8xk22ig3491b587";
 "lualatex-truncate-1.1"="imd10qn2sh19fdz4zp8qz57rqs0kh2n9";
 "lualatex-truncate.doc-1.1"="xfanw53qhm8qhqg45ykvvf213j3q5dy9";
 "lualatex-truncate.source-1.1"="sv3j09xlab2gfqn670wd41xgdk3rjc84";
@@ -6873,35 +7027,39 @@
 "luamplib.source-2.20.5"="sk5w1r0bb36gbr304ck9px0xf568rlrf";
 "luapackageloader-0.2"="gmc8hizbl18cka1iq0xhy8bp65yrl4gw";
 "luapackageloader.doc-0.2"="ilsqrigd8gvczbfkcbr0ci54qlryhyhg";
+"luaprogtable-1.0"="cyzviwzjdg10rh7xizm90d9vbsqjscir";
+"luaprogtable.doc-1.0"="gc199zsnqkiy7dzb6x28frjf5xmmfkwv";
 "luarandom-0.01"="cj3pzwmgrh4d477fv551rlp7afxrsj0a";
 "luarandom.doc-0.01"="zfvmr0649ca85n06y0rdxx7plxrsk6q0";
-"luatexko-2.6"="bjcchrap58z6g7ymqfs0p13m94l0j5dl";
-"luatexko.doc-2.6"="lbzs38ags03z2zbcn7lh0wz2lnwpc2qi";
+"luatexko-2.9"="86iad1dy4wmh17gmvnm68hdwxp5npjbh";
+"luatexko.doc-2.9"="nifcya04s6hw0dh2p3vas41ibw6sjvz7";
 "luatextra-1.0.1"="xb3dbgfnm7ww87n60ydpilkwqczj77lz";
 "luatextra.doc-1.0.1"="4pfnnxaynvw166pp1ivb5pjp061n2bvi";
 "luatextra.source-1.0.1"="3ajlrmqc27xyxlkn4vbprh6zzlqpf0xd";
-"luavlna-0.1f"="2wzwpzgr9gkdzdsbj8i9sz7x878plhyv";
-"luavlna.doc-0.1f"="flc13baab7rhg9lqsrcxg81rpyw70q3g";
-"luaxml-0.1l"="z1abf6izw5yakycwjiyc13bivpmi0bmc";
-"luaxml.doc-0.1l"="0lmrd1fxl26m4cs49qm571ds05fx1njq";
-"nodetree-1.2"="7x6x6xjd3aqhvz1nchhxckfhzjllfr21";
-"nodetree.doc-1.2"="jnpfcdpwafza66wmlvgv4jkmisfc9k46";
-"nodetree.source-1.2"="877wmvyrnhma4v3qdlq4r1pbk1bldlv0";
+"luavlna-0.1g"="q0d5901smibj9xiarwd9hcyvw6wqjw4j";
+"luavlna.doc-0.1g"="zkdgb3grkrj1ixvbwc4v0jd19p7jnv52";
+"luaxml-0.1m"="9f5jxdhxdpzbmx5inhr2jnhn5w1jcqwa";
+"luaxml.doc-0.1m"="6r2q16a1cf8mmrgkhx1nkk09kzsfhbnr";
+"nodetree-2.1"="1b11kq5f9944iiq0j89kyavrfrvnnj2r";
+"nodetree.doc-2.1"="w55dx9d3i1000zw75079agf2bfgll91j";
+"nodetree.source-2.1"="jd25q55yzgr1smkjf87yyb4j27x9zl3v";
 "odsfile-0.6"="1h0vzwknsi9w3vpk008mdk87l3c33ffl";
 "odsfile.doc-0.6"="4wvljjvknahcyfnwkpnpbmzg26zaa9bp";
-"optex-0.05"="hqwhqns2kgb4s8x8dfli8vpf02fd5x2s";
-"optex.doc-0.05"="v13g2ml81y8njwg5a95l015yahxl95ry";
+"optex-0.15"="di7cx8pc36wrc7rdazyw444gvj6knr6c";
+"optex.doc-0.15"="9pkhsdjk8hpz6m804nqa4hv8lm5x8015";
 "pdfarticle-1.0"="gp3238h9g1kcamcamvhndgs1h9wav9ld";
 "pdfarticle.doc-1.0"="zh97mill1idcik9zhb8cp6wyq32lm7i4";
 "placeat-0.1d1"="rkzxsay49qp6qpiy3wpd6r3byzrm4hgy";
 "placeat.doc-0.1d1"="x954mm7qhyffqbh9hrgrxa5khh5h70p3";
 "placeat.source-0.1d1"="l19sqs0ipd1pgpl6kzggfizxvc1cb1p3";
-"plantuml-0.3.0"="a2lka6lq0fvp5zdwb1f7958xishxg6hc";
-"plantuml.doc-0.3.0"="p2xlf2hcj3hqj6j5l7gjn4l6cg4bs75f";
+"plantuml-0.3.1"="76bdwic6y2h4hprqnfxkp7pnsyf603vr";
+"plantuml.doc-0.3.1"="mirs5886m6i4z34r0rjzh1hgbxif684a";
 "selnolig-0.302"="gw2nwscxyg2p83bs90nnbg47wddkh0i1";
 "selnolig.doc-0.302"="d73jxs6xck7m5y95hx6nfls1572za6qh";
 "spelling-0.41"="kajpixvypcfl8ivqqnscfcd1fb1vv78x";
 "spelling.doc-0.41"="r0sqb4qz4n2w8n0092qik847f3dziq0a";
+"stricttex-0.2beta"="v46yv1014blp25l6zard4i6wdkbnsfzk";
+"stricttex.doc-0.2beta"="a4hz60n22504k60j2hj2ip3fc5pn874z";
 "typewriter-1.1"="4xbzb4igw0cd0p9ry0xxii4p8gj7y8w3";
 "typewriter.doc-1.1"="vk3rzpx4vpgs5mwq8hmys9m0vv6gmmdj";
 "12many-0.3"="kzixh8p9qmbz0hxczir6pixx8k6zc1an";
@@ -6915,30 +7073,32 @@
 "SIunits.source-1.36"="6v2lr8gjm3f2kyqh7pc06ay5iswbi7p2";
 "accents-1.4"="8vq1cj9iyijb5lcz28w4d09j3gaw598x";
 "accents.doc-1.4"="qqgb9nrldq4bss1b90qn080zb278vxb6";
-"alg-2019"="2z4gi58401dsjwivwji0b169ihz3assx";
-"alg.doc-2019"="43bcrdwkqnx6rharxz9l106cxycm408z";
-"alg.source-2019"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
+"alg-15878"="2z4gi58401dsjwivwji0b169ihz3assx";
+"alg.doc-15878"="43bcrdwkqnx6rharxz9l106cxycm408z";
+"alg.source-15878"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
 "algobox-1.3"="7skblnz1s8jzz079j3cn4igaldvrbvxd";
 "algobox.doc-1.3"="f9dyljs5j5f19wf4zxn0aw76yfda6gy2";
 "algobox.source-1.3"="jkwrxj0z1j2gyd1322qadqzfrw86f8m2";
 "algorithm2e-5.2"="w36nldd3zkmg3v74jzg22kwkw0vhja5b";
 "algorithm2e.doc-5.2"="b2g0vk8jb1yqqi9fnkvxizpdhlaqjn04";
-"algorithmicx-2019"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
-"algorithmicx.doc-2019"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
+"algorithmicx-15878"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
+"algorithmicx.doc-15878"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
 "algorithms-0.1"="s07h59vabig8jdk2d7r98hdnxpyq52sm";
 "algorithms.doc-0.1"="vwq0lnznxpwi4zpp4hjaljdfc3c2h6yw";
 "algorithms.source-0.1"="cskf3mpv2rk435przyidljaijx46fiy9";
-"algxpar-0.9"="v12ss83spk41rl0jxdcbrfh5xlkcdrxb";
-"algxpar.doc-0.9"="kv6r18qlkqq398cwplsivg1a57i905k9";
-"algxpar.source-0.9"="nygqf7d258b95q5abzhp0w225dc7c7bf";
+"algpseudocodex-1.0"="i0mj0y496zmm7x9ry0qzaww2z2aaf46g";
+"algpseudocodex.doc-1.0"="qz16lkffljsiwsv0062vly9rq5cz9hmv";
+"algxpar-0.91"="017p08grkzqagvbv99kj72rnddb6grah";
+"algxpar.doc-0.91"="ap7d7x4siyizyavia6lcavbni1132znq";
+"algxpar.source-0.91"="nm2dlsxkp0j07agz4dy3cbh2b2ixr548";
 "aligned-overset-0.1.0"="ghkj6baw3sppp8vi9msny8ffaf3f0mb9";
 "aligned-overset.doc-0.1.0"="falszy2yd14yzy1gzscp7d3arsb02pv1";
 "aligned-overset.source-0.1.0"="gcapvfxcx8s1qgzcf8f52l4w0dd33b5q";
 "amscdx-2.2x"="73dyfrnv14jh8gavjgivx0ldyczqlazc";
 "amscdx.doc-2.2x"="ya3ljfxmirpyaz7kj29mkyrwrhvz61y5";
 "amscdx.source-2.2x"="da89in5nc7m37m5padb246ra9gl6cjrq";
-"amstex-2019"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
-"amstex.doc-2019"="8rkjw766mwbnpifcn10gjkdap6p8gcch";
+"amstex-56070"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
+"amstex.doc-56070"="fsvgc0caxsbw7gqzaqz97fsz9c5x3qi9";
 "apxproof-1.2.0"="f4p5sn16ygfnnx6lzjmz6gwhdy2pd88q";
 "apxproof.doc-1.2.0"="xzlmlck028ri44c49sd5vr5ksawjg62b";
 "apxproof.source-1.2.0"="nhmzdgibha22wzmr1ppvinifbq2vs49w";
@@ -6946,8 +7106,8 @@
 "autobreak.doc-0.3"="lzi2q6g0mrv5l8kb3b9yg0ykiiwimyfv";
 "autobreak.source-0.3"="62cm1l24gp51a8jnag36y8gm1bwya7la";
 "axodraw2-2.1.1b"="g9vd6wfm1v77c7rsl2y7cpa9rl1921zn";
-"axodraw2.doc-2.1.1b"="f3xsbsqdmlax1m27khgh3imji3iij2f1";
-"axodraw2.source-2.1.1b"="jfcj5zj3b003mslj4h6iwjbdqvj1hmyr";
+"axodraw2.doc-2.1.1b"="n0fkhvyg9ld98n22q29jihwl59a225cd";
+"axodraw2.source-2.1.1b"="6zfwir7mna3qnrvmip5by5vx73ka24zl";
 "backnaur-3.1"="y970wq88dx80mbdsaadw18lckbiwgrx4";
 "backnaur.doc-3.1"="426dp81fwq04wqhng79sy1zj4d8igpgh";
 "backnaur.source-3.1"="pflnxz44r4vwhv8yhcdqkfcl5n0y0zfg";
@@ -6956,18 +7116,18 @@
 "binomexp-1.0"="5jlh0g22c7b1i94n2qicn0j6k4zmami9";
 "binomexp.doc-1.0"="vh653aqsqkvcsmrvzhw1h4sqvirxg3yv";
 "binomexp.source-1.0"="jairxsdavf3ll4160dlbc39hriyyyrdr";
-"biocon-2019"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
-"biocon.doc-2019"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
-"bitpattern-2019"="s1gn3l5lfz24xgg768032s318gzx96zy";
-"bitpattern.doc-2019"="8nq9nd4qsrixnnw32saxp6272d26w040";
-"bitpattern.source-2019"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
+"biocon-15878"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
+"biocon.doc-15878"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
+"bitpattern-39073"="s1gn3l5lfz24xgg768032s318gzx96zy";
+"bitpattern.doc-39073"="8nq9nd4qsrixnnw32saxp6272d26w040";
+"bitpattern.source-39073"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
 "bohr-1.0"="5r65jri672mlqzhd26dmys54sj19c8kz";
 "bohr.doc-1.0"="8gsrm5xrxfqqgpljlyizlcdz4lw3xk9h";
-"boldtensors-2019"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
-"boldtensors.doc-2019"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
-"bosisio-2019"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
-"bosisio.doc-2019"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
-"bosisio.source-2019"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
+"boldtensors-15878"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
+"boldtensors.doc-15878"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
+"bosisio-16989"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
+"bosisio.doc-16989"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
+"bosisio.source-16989"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
 "bpchem-1.1"="c1qr5s3jp7zg06sis026ll5b38axvni2";
 "bpchem.doc-1.1"="54qyy00y03jbbhg00az5as1bc5h9i2fr";
 "bpchem.source-1.1"="r4bya1mqkjjnmzc14jlbv676ls312ynl";
@@ -6985,28 +7145,31 @@
 "calculation-1.0"="sss6l897zlki1lidr2s5vp60rv1jfm0f";
 "calculation.doc-1.0"="zwcix1a11s0s1hh7ccy28gbdxylz1n3k";
 "calculation.source-1.0"="asdip95ln7gna99vk7hjiq8n1hfcqg1x";
-"cascade-1.01"="8jvsrpg9rf2471bymqmkgf7gwlzdh18p";
-"cascade.doc-1.01"="cnc5din98sb97037mdjy4i6zsjgwh1gi";
-"cascade.source-1.01"="f0v9m4xm3lj2pmjz7b7a1whgmksl94sm";
-"ccfonts-1.1"="11ghrz5bz02nw40srb3ih2v3r6pmsvq5";
-"ccfonts.doc-1.1"="vz7iqli9bwplwd20xvpdkpswc7r5zvlc";
-"ccfonts.source-1.1"="iylfqg59y0yadrzjb1xcb6nbw7rkjfr0";
+"cascade-1.1"="xl13i2yr1fy3awaihp637h4lz7g5d7gj";
+"cascade.doc-1.1"="3jivxwvfqdwlc240ks4q52q07zrp06m2";
+"cascade.source-1.1"="ggqhq9cl5ia7l54kws9yqvz20s46y3dq";
+"ccfonts-1.2"="im7vh7a3c8ja312745mlndwmndg1jvh3";
+"ccfonts.doc-1.2"="4ayp0gvbvmf0jxnfw8ciwz1jfmvbf3ds";
+"ccfonts.source-1.2"="8sfbbqrr9fq9jqbvapgrx0ghhh6r1hkc";
+"ccool-3.0"="wp017y73kf8csvr1p3vbplxbjqw87sz8";
+"ccool.doc-3.0"="sb4c3l8jqhj51ampn05zdj0c5z5kicld";
+"ccool.source-3.0"="iqz2hjjcygw2hww5yh9jk21airqw4dlc";
 "chemarrow-0.9"="mb0i68z92909632g3xd1m3ahvmg0nj72";
 "chemarrow.doc-0.9"="h7g7ldb9837ngsxbmxm2c902bk0k2wdg";
 "chemarrow.source-0.9"="05g345ir5pvd4wik23yykarizwp0l506";
-"chemcompounds-2019"="7m2snwdxnachamq617zap92fsgdqhay3";
-"chemcompounds.doc-2019"="imzf21bm33j290wmy96hx88ahf5zgbff";
-"chemcompounds.source-2019"="nwcxbn1ivdiswdqyr319y93l76527amj";
+"chemcompounds-15878"="7m2snwdxnachamq617zap92fsgdqhay3";
+"chemcompounds.doc-15878"="imzf21bm33j290wmy96hx88ahf5zgbff";
+"chemcompounds.source-15878"="nwcxbn1ivdiswdqyr319y93l76527amj";
 "chemcono-1.3"="kppxwgnwc7f62n7bwi2gnb6zndxv4bag";
 "chemcono.doc-1.3"="r527psyb3zf91x0xd6ywiv429b0rmicp";
 "chemexec-1.0"="szl9xw9iiql9yi7la6hwcwx8frhdxkck";
 "chemexec.doc-1.0"="q7rkw9ny7g93m4xm5jvs17v8x4nwb2p1";
-"chemformula-4.15i"="smd02jfgais94bg4j28449m280z269pm";
-"chemformula.doc-4.15i"="cmg2grv69x7f9sdsgpxkx0yavrylfmvd";
+"chemformula-4.15j"="dgk33ik72xs6arp5r4xywbs03skqn073";
+"chemformula.doc-4.15j"="h2w5zvnxgrf803w2s6jz79w0jiv94h1r";
 "chemgreek-1.1a"="9jhyby4636bybvzq4ppvrjp7md499vp3";
 "chemgreek.doc-1.1a"="1v4wdq6k5yjcyi8v976la6ldskmh061a";
-"chemmacros-5.10"="xlpd68407z76kvvrx1c07slrxyi9jk6y";
-"chemmacros.doc-5.10"="y53bdf8l2m100wwb8933fl9zj8k0jk8l";
+"chemmacros-5.11"="8bpw8jl33idm8pywy53j5v5qci9m9v0p";
+"chemmacros.doc-5.11"="bp5wxh0z4zdaw98x1fhhc6zzsca7zb1r";
 "chemnum-1.2c"="4az4s50lwaray904pnfc9z6i2gqi7a5x";
 "chemnum.doc-1.2c"="wbikxk89zq84klsqq67a5ds50jaf28nx";
 "chemplants-0.9.8"="mnsmsmh4gsllxqd8a8590sggv7844k03";
@@ -7022,30 +7185,35 @@
 "chemstyle.source-2.0m"="v52wrccz5gh3pswpfilm4qs48bplws5s";
 "clrscode-1.7"="6w0y1xknbskhhahx05688943y4pqr22s";
 "clrscode.doc-1.7"="hwrsnwvcd7yabwdz6qgy52c06hcz65y7";
-"clrscode3e-2019"="0fz3frh68k47pdn3way6fbpiagyillgk";
-"clrscode3e.doc-2019"="ql7vbwbr3z87rb0bnks5z3r1a53jhfmi";
+"clrscode3e-51137"="0fz3frh68k47pdn3way6fbpiagyillgk";
+"clrscode3e.doc-51137"="ql7vbwbr3z87rb0bnks5z3r1a53jhfmi";
 "codeanatomy-0.4-Alpha"="lnz0qqi52i7rnbsdw5k7s5bspm8i5ysl";
 "codeanatomy.doc-0.4-Alpha"="bzj63h79ral4caiqbx48vrmkgmpd9wph";
 "codeanatomy.source-0.4-Alpha"="4n9lrpl635drmnjbv0clv5xby8p51pwh";
 "commath-0.3"="qgkl9s5w0dadgirg3aqg0si0zm8swxss";
 "commath.doc-0.3"="ririan3s31h8cwcamjlwglbj4fyvc8b9";
+"commutative-diagrams-1.0.1"="w7b0kq60d7nwmp0s90jzszcc73dx74ay";
+"commutative-diagrams.doc-1.0.1"="9g20z3xalhz029cakmn8dqgg5caaqrly";
 "complexity-0.81a"="id7q2in24z1r6mi47jdh98r7d9gkxdxh";
 "complexity.doc-0.81a"="jppdvfvs5wy2vbkzvizzirgrhf9k6sy5";
 "computational-complexity-2.25f"="hs6ja0ghmdhvkm2m5zk4bsyhr0z0z8b0";
 "computational-complexity.doc-2.25f"="nr5kmmq6nd2ppdyy3pygb2fj6ilz9gfr";
 "computational-complexity.source-2.25f"="br0rz33ycmvpsn5fdhvcjlpffhssnw08";
-"concmath-2019"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
-"concmath.doc-2019"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
-"concmath.source-2019"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
-"concrete-2019"="8076kds0h67rl93yygsicgp8hpk6cfz0";
-"concrete.doc-2019"="xddpal4gfl1km582kqvn79q925mixskv";
+"concmath-17219"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
+"concmath.doc-17219"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
+"concmath.source-17219"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
+"concrete-15878"="8076kds0h67rl93yygsicgp8hpk6cfz0";
+"concrete.doc-15878"="xddpal4gfl1km582kqvn79q925mixskv";
 "conteq-0.1.1"="r5vmidbf2afm771ijgph43qc66safd3r";
 "conteq.doc-0.1.1"="6ki2nz31r0b86kd2p9w9a5ph8g5dnj8f";
 "conteq.source-0.1.1"="6sd4m9i6zv68gr0b8r80r477qcj6cbpx";
 "correctmathalign-1.1"="vip10w09k4kq9a67pfp73r64mk75095h";
 "correctmathalign.doc-1.1"="51qjv6v507ahi1jhxd9sp406bd93vkdz";
-"cryptocode-0.3.0"="76si0msbfpcq1dhbk4cysf3ffpyk2rrq";
-"cryptocode.doc-0.3.0"="7zsrddafkyhb2r6259x69brgz2hnr4yv";
+"cryptocode-0.40"="2v0vwspdr8xvy4s1hx41abssrgl6lpyr";
+"cryptocode.doc-0.40"="q56g76fx90pyi6qc2kq7mnccnl96l4n7";
+"cryptocode.source-0.40"="y27wial5c2si94j1alf6zrssghvykmlv";
+"decision-table-0.0.2"="sbimxm7awix68mi53s6hlac8cqhmhabw";
+"decision-table.doc-0.0.2"="85fyr1l1fqlhshixhfgdzhyd8d03vwc1";
 "delim-1.0"="q2f4p0f8bg1nwim31i272i5rpnjibxks";
 "delim.doc-1.0"="5k874svcycyk4y5qalbs4h0x4zkviwc4";
 "delim.source-1.0"="bglajqs1gdzhpjayh5d4afw7h09wln22";
@@ -7054,24 +7222,25 @@
 "delimset-1.1"="ag5z8f5h7gf5c824v8rj2xxfz6fbm3lz";
 "delimset.doc-1.1"="40vxv4mmpij621v80ly8mb4rz71r98n8";
 "delimset.source-1.1"="r4j60mdx3nivydxja9mnacqh1s071l93";
-"derivative-0.97"="pj119sspi9zgy3mjfgx1q9mrd0laqx0a";
-"derivative.doc-0.97"="6jld9fkhbl19ngv8p5h5xnwkc1djcwmn";
+"derivative-0.98"="if6y0qgylpw26alcd44dykb3apk29laq";
+"derivative.doc-0.98"="qi4nfzw0acqnjf1fdyqkfgr6hwmqgl8h";
 "diffcoeff-3.2"="s6hqlww5wgs4y66ibvy476hf3cgl6day";
 "diffcoeff.doc-3.2"="mkg33h04jif3fzpyikfi6gymdj2cb1zz";
 "digiconfigs-0.5"="r2ph2xkdaslj50qk54n7a1xx37n8pq19";
 "digiconfigs.doc-0.5"="vignfzc0zrhrx0jgybwmfcgyfcgaqhim";
-"dijkstra-0.11"="25p95xl60c29w1b8z1ggvys4fs3szv9q";
-"dijkstra.doc-0.11"="xn84bb3zgv8jk4slwrr314680l5xybmb";
+"dijkstra-0.12"="1knmbz9g8ifi4wyjjr09rhjshzdsiw21";
+"dijkstra.doc-0.12"="10wyqgpb3znwnnk4smxqbmsyd8ncvxm6";
 "drawmatrix-1.5.0"="pl0mscrd3i4h9m8zq947ajh45apms3fj";
 "drawmatrix.doc-1.5.0"="qxljjk2vh5cc7l9xxn6kicknw2csdk4p";
 "drawmatrix.source-1.5.0"="89lglkdc257iwip9aiwnshzqwhvcqz5b";
-"drawstack-2019"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
-"drawstack.doc-2019"="plmy162h6z23pzimj4i5wjpih0m21z3p";
+"drawstack-28582"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
+"drawstack.doc-28582"="plmy162h6z23pzimj4i5wjpih0m21z3p";
 "dyntree-1.0"="820wp3d1dcdm5vxihmk93wqc8qw4rqf4";
 "dyntree.doc-1.0"="j334vdgmzrhlv3x0ihzpa9j2rbbd9xhz";
 "dyntree.source-1.0"="ha5c29s0f6j3r5f3b2v7v7bgxaks28b2";
-"ebproof-2.0"="5ic2h08ff6km04b5j7ya8grg66q00a9j";
-"ebproof.doc-2.0"="3hc5hiis4cssjh2l5a89df29yhjg3h69";
+"ebproof-2.1"="2h0l3mygsc3l5z4yafaizpa9knibrl6h";
+"ebproof.doc-2.1"="931pqlxdbld1gp1mnl13j748khjjnkb1";
+"ebproof.source-2.1"="9i7bxwxrz84fxndwlzyk61458hz1817x";
 "econometrics-1.0"="4b5wmgy2zn8mflr9zdfhyc0pcw707h9j";
 "econometrics.doc-1.0"="5rm8ml9qmmq9nnyx9b5x7cfm54qdmqpz";
 "eltex-2.0"="n3kq7kl8i0b1k89i94i4k30qcy31lhfz";
@@ -7089,11 +7258,11 @@
 "eqnarray.source-1.3"="bwkjz77mw47z33bwbgsx81wbw9i4n2n5";
 "eqnnumwarn-1.0"="vz6kiciv5zhrh16ddisfrik5y9g2qr8h";
 "eqnnumwarn.doc-1.0"="py5m5187p7i643k6wgsm7zyznh6awp4s";
-"euclideangeometry-0.1.5"="h2z76n33d8x8z5ajp3rzw0g400nc9ssd";
-"euclideangeometry.doc-0.1.5"="jfv5aqq2b0lrfif14hr267bjpkpns4cc";
-"euclideangeometry.source-0.1.5"="ags2akra36889zl66yirlnzmhhjmjlby";
-"extarrows-1.0b"="6fa3hrvqa3qf7wqahhb7k168sz6pzmqd";
-"extarrows.doc-1.0b"="dxnpkgk5iirpmzhznidklfk0xy1y5l3v";
+"euclideangeometry-0.1.8"="86vp8pn1467dqaxd7gvc9ffl6n3jp0mw";
+"euclideangeometry.doc-0.1.8"="f5ll9a02fbfkczcy58q5w3is4hbb6piw";
+"euclideangeometry.source-0.1.8"="zamjpkc9mb9pcm372vw5qv2zf3y49an6";
+"extarrows-1.2.0"="pb0rm456xq2s929nn9dwjzlmqlfwhacc";
+"extarrows.doc-1.2.0"="i9b8z46rn96n83904flai1wjvdgz395l";
 "extpfeil-0.4"="0yaa2siwn8yvcsd1xy6q3shswdzfzq8j";
 "extpfeil.doc-0.4"="1c0q3h8z0vfy05gmgvi5gbk628xw2pwm";
 "extpfeil.source-0.4"="fly5cib65ppxgrbgq1h8vcxx7m6340bb";
@@ -7108,9 +7277,9 @@
 "fouridx-2.00"="lxj3924da4bfn7605g2akgd3ccynizqc";
 "fouridx.doc-2.00"="ic4hkzvwc05qm91h90cx645gpskcm8f4";
 "fouridx.source-2.00"="zgb2xfg0wl5ld4b5v8rn72mxmfy3qy38";
-"functan-2019"="68wga1s4yiamylxfjma76hirgk867yym";
-"functan.doc-2019"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
-"functan.source-2019"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
+"functan-15878"="68wga1s4yiamylxfjma76hirgk867yym";
+"functan.doc-15878"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
+"functan.source-15878"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
 "galois-1.5"="b8khw120ihwg30l5wiyrpigb0n76j4pg";
 "galois.doc-1.5"="pl6jyfxfim7igp5lhhsdghiz6awrsf42";
 "galois.source-1.5"="pf7dxm40jcipslw88sqascls74wnvhyn";
@@ -7120,16 +7289,19 @@
 "gene-logic.doc-1.4"="nzraabszgvj8b0j503f7h892grbqjjrp";
 "ghsystem-4.8c"="dmzs6zybhwyirv48xcj7k34f5zx1n0jz";
 "ghsystem.doc-4.8c"="rzhffv3xxgyyb8rcl1ibqa6zw8zjk9s6";
-"glosmathtools-0.5.1"="k54clj6x7h0zz6b5r6q3v49vld7fqsv8";
-"glosmathtools.doc-0.5.1"="fdyfp8145xg7fc5j377bhk5p2nbc1h89";
+"glosmathtools-1.0.0"="9ncr117yxkad5rfad9bgsr9rlc9jscfy";
+"glosmathtools.doc-1.0.0"="bc8xj31ffw5x6w5bs9q82nmvmqkjpyav";
 "gotoh-1.1"="lmsc2xb42i0w7ysmq1b7v69798xz6061";
 "gotoh.doc-1.1"="2nh9cbc9jvlwxlg3rhayjx63xyjcq0c9";
 "gotoh.source-1.1"="mbdzb4047z6wzr4gam5dfs5199hq02c6";
 "grundgesetze-1.02"="cd0rxykb2favdbw1f945aalhy0shxcih";
 "grundgesetze.doc-1.02"="7h4rhzzj2jak20jrgv9nnjri35iiyvdb";
 "grundgesetze.source-1.02"="dqxmkagx54l3zhsqm2iixizzqmcwqabv";
-"gu-2019"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
-"gu.doc-2019"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
+"gu-15878"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
+"gu.doc-15878"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
+"helmholtz-ellis-ji-notation-1.1"="7py9xih6irxxqc6fw4yi8rmjbcjcawi6";
+"helmholtz-ellis-ji-notation.doc-1.1"="qspb7iwxmsjkf6lxy5n5s0hhivy3zs79";
+"helmholtz-ellis-ji-notation.source-1.1"="mkpv3j5zy3wngww37ajjc6rl8mabwwyf";
 "hep-1.0"="f70qsf585a6rw0lzizd5ps7lcv2qqsl9";
 "hep.doc-1.0"="aqaxn42inmw854cm1qps4fkcijc11fm8";
 "hepnames-2.0"="3f4dycnxwd41da8gh67gs89xcb3l7zl7";
@@ -7138,8 +7310,8 @@
 "hepparticles.doc-2.0"="34viq0myldrs90f8y0dflrjxhimnzkq7";
 "hepthesis-1.5.2"="2r81h1qwl4g5gh8xbmkqycmxcsaralmd";
 "hepthesis.doc-1.5.2"="l6il72x8l8c3jj81yjaci4fbbi080aj9";
-"hepunits-1.1.1"="a3yzdj6ykcd4522cknwng48wbig08kg0";
-"hepunits.doc-1.1.1"="x8d9hwb5z12ng0ndny3b9vgja741bg9z";
+"hepunits-2.0.0"="xfl2120y4vv8bc8sdp9ijbili4vl0pcm";
+"hepunits.doc-2.0.0"="9sprxl76nl39nyrxicy814y54ds8pqqc";
 "includernw-0.1.0"="wdc8hhcr4fciy57k7sg28rkli26ybbq7";
 "includernw.doc-0.1.0"="xl68qyik71z5mhzvv2wzh8k6shk4mzbd";
 "interval-0.4"="ihq8vx6xlxsa3nbyx62l072y79s88wnc";
@@ -7151,35 +7323,35 @@
 "isomath.doc-0.6.1"="nhpi08b738hs457jqv7139b44z35xy5j";
 "jkmath-0.1"="l4nykjpkg2p19fdvy4a6h32ik4hcimdq";
 "jkmath.doc-0.1"="79bfybh585f88gcyc82b3ds7nx92jng6";
-"karnaugh-2019"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
-"karnaugh.doc-2019"="85z4avy6yfziaqd7b4w077ys394a3y4z";
+"karnaugh-21338"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
+"karnaugh.doc-21338"="85z4avy6yfziaqd7b4w077ys394a3y4z";
 "karnaugh-map-1.1"="mryi5vdfqia142b35n97pwzvh267y6bh";
 "karnaugh-map.doc-1.1"="3zmcy9jclc8q01d3jz642w6j96ksrpx7";
 "karnaugh-map.source-1.1"="8zpvpcrxb35311nynqsxdpz4iqjai964";
 "karnaughmap-2.0"="52mx0flzri3z9y5fc1rgg665z2rpk01n";
 "karnaughmap.doc-2.0"="8m2xi7580kgrxq9v5dkcfcxhn757i7zm";
 "karnaughmap.source-2.0"="47f879r3821kwn8pwpyhh5874adx6f3i";
-"kvmap-0.3.2"="76wq1id92vsrxsp2y26zgy7zy93fsp0p";
-"kvmap.doc-0.3.2"="ak4vf9nhr2hyj8q42vb9bvi5yfcqkip2";
-"kvmap.source-0.3.2"="4a84i6amh66v4xmjpm823wlysnpvrwj0";
-"letterswitharrows-2019"="x7210si2h45zzxpdlgnlwhb73chi3n8s";
-"letterswitharrows.doc-2019"="gbb4284mb5q7nyavj0azf9ac8bbjk71g";
-"letterswitharrows.source-2019"="ai6h99xsyx7519rx4zqfyvf2hgb7h0rc";
+"kvmap-0.3.5"="81wbq2ivxqnyy6mm8dn24rxqxhm6ls1i";
+"kvmap.doc-0.3.5"="g61zawm9xaq09835fskxvwqprs8h5gm0";
+"kvmap.source-0.3.5"="qf3a56ilm3b60x8pnmzyr4z53d5688yn";
+"letterswitharrows-53709"="x7210si2h45zzxpdlgnlwhb73chi3n8s";
+"letterswitharrows.doc-53709"="gbb4284mb5q7nyavj0azf9ac8bbjk71g";
+"letterswitharrows.source-53709"="ai6h99xsyx7519rx4zqfyvf2hgb7h0rc";
 "lie-hasse-1.0"="qdqlw1r3r8dvzlm38bg09gvwfqwskrk7";
 "lie-hasse.doc-1.0"="6w441bchfvv1ga31aikz881qj97845jk";
-"logicproof-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";
+"logicproof-33254"="24sbq01252ij7ldzb8achg4m73fakhas";
+"logicproof.doc-33254"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
+"logicproof.source-33254"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
+"longdivision-1.2.0"="47csxxlz8niy7pnxd2nbmp36irc9ywf4";
+"longdivision.doc-1.2.0"="3pz21q6q3gp86q7ggm1s76mi1va0fbqb";
+"lpform-36918"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
+"lpform.doc-36918"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
 "lplfitch-0.9"="wxiv9ihwv4jdmr4ij0kvggbbnhbkh19c";
 "lplfitch.doc-0.9"="lzz01n3w8zq7p9bn7lpb6rp6zkgmmxjs";
 "lplfitch.source-0.9"="4lxhwsf7366gs7dkq9qk4pyphjv13ya7";
-"lstbayes-2019"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
-"lstbayes.doc-2019"="y00fm320wqy608v16idmzc27n8z4q4p0";
-"lstbayes.source-2019"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
+"lstbayes-48160"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
+"lstbayes.doc-48160"="y00fm320wqy608v16idmzc27n8z4q4p0";
+"lstbayes.source-48160"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
 "mathcommand-1.03"="6i9g221942874w40gb7wy3h86qmwnjns";
 "mathcommand.doc-1.03"="zkx78ghaz6kf1b4w1h1j63spijrlsshz";
 "mathcommand.source-1.03"="0ypyz0612ys99ig6g2c93zs86awfiib3";
@@ -7189,6 +7361,7 @@
 "mathfixs-1.01"="8iskcy7ibbkfqq63ri2r65x6q7bq99zp";
 "mathfixs.doc-1.01"="ql7y723mdci6cz9qjnfpk6ck71kqb0w4";
 "mathfixs.source-1.01"="62f1zvd1s17arrg42ba9ydr9yyv3znhh";
+"mathlig-1.0"="hzc0bwnfhjbp5qqk4kkm9wp1hl5wlj60";
 "mathpartir-1.3.2"="ka1crqmcwlidnxb6n91dlfnf16hir45r";
 "mathpartir.doc-1.3.2"="0qn7ym4gl6m9g7vvx0mjnwyq2fjvy9cj";
 "mathpartir.source-1.3.2"="vx38w09k1cfrprj4yr0vy1gkwkssw6yw";
@@ -7202,13 +7375,15 @@
 "mattens-1.3"="v9rf7qmiardpzq3zzqzz0p3qnh4lp1ck";
 "mattens.doc-1.3"="dnnzxlvc6vrfy4rrm4vw5w0g85fr886d";
 "mattens.source-1.3"="dw4c26cwsg1hz3wvldlyi8q4f60h3szk";
+"membranecomputing-0.1"="bqxhzm00kp19sknfqbnq735d2jmcyl0y";
+"membranecomputing.doc-0.1"="n0p0kfvcyr2n1wm5hh5ax3krcwpiqhn3";
 "memorygraphs-0.1.1"="8cg3g5pasqglsxnhx6q1bl3jbp2hr8di";
 "memorygraphs.doc-0.1.1"="00j88plcg7qrjwjzhjlmpcwwjn19l6h0";
 "mgltex-4.2"="99vi0f32fla2hmsabmf0d2d3c93kay29";
 "mgltex.doc-4.2"="m4m59xlcjgnd6pbsjsa36da37b61ydlx";
 "mgltex.source-4.2"="k3yw9bfjgkqha34712n3mplxsaqg6j79";
-"mhchem-2019"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
-"mhchem.doc-2019"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
+"mhchem-52662"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
+"mhchem.doc-52662"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
 "mhequ-1.7"="a6dc7zsnfim8vbrwy8jzbhqhphwzh29j";
 "mhequ.doc-1.7"="im348hlavjvbkg67akz24kcx6hxa8w2h";
 "miller-1.2"="vgpbb05dlbyp2phs7cpwrl9l8v7yczdb";
@@ -7220,69 +7395,70 @@
 "multiobjective-1.0"="g6fgsq3fzl30yd4hrw2l6v73ldm957gz";
 "multiobjective.doc-1.0"="187syyaknws2i7i84xxzsnl9mj22z731";
 "multiobjective.source-1.0"="qhsg6vg0djg5h279gbs2lbally9vbrj6";
-"mychemistry-1.99b"="8swklvjnvwzm43kg3q8ydiczfl8l75xy";
-"mychemistry.doc-1.99b"="immlivqi6jjsf5g4mkkr1nls63hb5nqm";
 "natded-0.1"="q4nx9b58zsmfmpap3h2qs8pr28vap5v0";
 "natded.doc-0.1"="bkhf1ldr1hzsyc06bcp7rld2dbf7p4rk";
-"nath-2019"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
-"nath.doc-2019"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
-"nicematrix-3.11"="xbl0z3fcz31h3vdzhh52al7xnq11kmga";
-"nicematrix.doc-3.11"="nk082y0mr776zi8q0zw684cpmhgmkbdb";
-"nicematrix.source-3.11"="n1ybg6r8dcf9jbykrk2fcgswgn5awq6j";
+"nath-15878"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
+"nath.doc-15878"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
+"nicematrix-5.4"="yxr2pc09mjxan41k7bx3m10cjp05l9x6";
+"nicematrix.doc-5.4"="911bm7fh52yrhr6qhqaj4cpp4ydii41f";
+"nicematrix.source-5.4"="2k5d0m339g5p0ywxzqik7b9lypwi630l";
 "nuc-0.1"="4mmxcaippf5kwp6sgcwbcf55m4j415ma";
 "nuc.doc-0.1"="b0pkc17fxlgygmfvr84gq1gf58w95a30";
 "nucleardata-1.1"="b76hnd5fpl3f1hfh8pwgrsnqkadqi2zn";
 "nucleardata.doc-1.1"="vm4jq8b5fs0jx5k2vb8pii7dk548r4vs";
 "nucleardata.source-1.1"="0zzzwn1vrb841l2264mz4cip65va3lha";
-"objectz-2019"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
-"objectz.doc-2019"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
-"objectz.source-2019"="62cr53ff66gqjf6y2i01gr70bblhn18z";
+"objectz-19389"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
+"objectz.doc-19389"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
+"objectz.source-19389"="62cr53ff66gqjf6y2i01gr70bblhn18z";
 "oplotsymbl-1.4"="xzbszdakjgy7svbksd8w1csc7akwbg8p";
 "oplotsymbl.doc-1.4"="g6zpsvgp1kar3i9rmig6g7y60a5mmk0g";
-"ot-tableau-2019"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
-"ot-tableau.doc-2019"="gcfni2sp25f6qswns4bfl585gfi36vy8";
-"oubraces-2019"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
-"oubraces.doc-2019"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
+"ot-tableau-44889"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
+"ot-tableau.doc-44889"="gcfni2sp25f6qswns4bfl585gfi36vy8";
+"oubraces-21833"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
+"oubraces.doc-21833"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
 "perfectcut-2.3"="ca48sxakrgh4g53i30xa7n9288r9wr51";
 "perfectcut.doc-2.3"="iry7v9xajbzxyn4bbq0pr7qah8a1iy8n";
-"physconst-1.1.0"="dqlks7fba3zf4h8xw8bgjss2l8nkglnw";
-"physconst.doc-1.1.0"="56iad44dpmb3aw4yba13xv655c7irj3d";
-"physconst.source-1.1.0"="ykx51slabggwsficfjx9l8q17ii0s6iq";
+"physconst-1.1.1"="10wm0p9svp1arq3nk974v8m3z5a1hx80";
+"physconst.doc-1.1.1"="i003nf04hmplhsqnkswn7621j0lxlp4v";
+"physconst.source-1.1.1"="gw2qp24ppwg9clamq7cxrfbzhdb0cm50";
 "physics-1.3"="y7b93d3qrc6674j33cy58v5c6fhlg3dy";
 "physics.doc-1.3"="ksf5jd2gfrq4dj2p1x2iwpgik5vb4pl6";
-"physunits-1.0.3"="4cx804ybcb52z4p6gavkcsrcx6pbcs4b";
-"physunits.doc-1.0.3"="m43hy3mb9g9zm8hkwgis87m8c9jwkzm4";
-"physunits.source-1.0.3"="8y3f9vhp6158qasfv4y8q7fqda66gwig";
-"pinoutikz-1.1.1"="b7l6pih6074b4981v5k3ik7cqpl4v1w8";
-"pinoutikz.doc-1.1.1"="rvsnqganf7x394vsisl9fl5n06c4qrsn";
-"pm-isomath-1.0.04"="a768qpbak06xs38g804s8rr4lc9ad4kq";
-"pm-isomath.doc-1.0.04"="3ahd6gy58lc04pirlz20fvyhpd5qw4nd";
-"pm-isomath.source-1.0.04"="d2mkfbifgmjm56i9vbrhwkvhyn2pj6bm";
+"physunits-1.0.4"="3nzwsfih1lwi9smpjn66wfghpcpkm5r7";
+"physunits.doc-1.0.4"="xv1a2sby7jsifg37054kghwc8ahbyki2";
+"physunits.source-1.0.4"="bwj0mas8fx3csw3ij081znnz5mrq2nw4";
+"pinoutikz-1.1.2"="dzb6wpz2hywq4i4cxi49s3yssxhxkm3v";
+"pinoutikz.doc-1.1.2"="9iyyk8vp4yfnc7jy990gh6z449mxqll6";
+"pm-isomath-1.0.06"="cy9qc9l9z8hq2mlv90vbn4i3nfnyi0ak";
+"pm-isomath.doc-1.0.06"="fy7shz0li68lm894cx9754fhwikklj0z";
+"pm-isomath.source-1.0.06"="3my6scxs3dmc013ccsxb81nsa6jxg6qr";
 "polexpr-0.7.5"="20yvnhmb8dy7p1jwlimayaflwm3sw2q6";
 "polexpr.doc-0.7.5"="3zbnfkrlxphvikk3w1jrd21dzrsnkad7";
-"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";
+"prftree-1.6"="jwghbxhmr9lnai4rh4gnrrd5i98vqi1j";
+"prftree.doc-1.6"="7a0lrs2rak9c45ayjfmn8ghx89zab2pg";
+"proba-15878"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
+"proba.doc-15878"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
+"proba.source-15878"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
+"proof-at-the-end-51194"="w5hmk64hm538mzqal4i9gxzadqpxp30a";
+"proof-at-the-end.doc-51194"="q8jniylvknscicjp5m5pd1z3751b06m7";
+"proof-at-the-end.source-51194"="nk3sbcnk3176zk76yf9nzj05q94ab006";
 "prooftrees-0.7_svn_8641"="rfmxpnzn1lkxx7b9ylvpnwmk1rag2nda";
 "prooftrees.doc-0.7_svn_8641"="zx19hnafp63xl2vas9frf6blm8974b94";
 "pseudo-1.1.3"="cxzf3j22aj491bs9k23rqlfbia9r15b7";
 "pseudo.doc-1.1.3"="scpzmw6ssq40wmxm9fmyybjxwc31kxjr";
-"pseudocode-2019"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
-"pseudocode.doc-2019"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
-"pythonhighlight-2019"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
-"pythonhighlight.doc-2019"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
+"pseudocode-54080"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
+"pseudocode.doc-54080"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
+"pythonhighlight-43191"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
+"pythonhighlight.doc-43191"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
 "qsharp-0.3.1901.1401"="fq2s3z8j8fy6y3sm07p4rqmxk0zkq6ky";
 "qsharp.doc-0.3.1901.1401"="kh8kj39fd45k25zli0w26kl2j0fvvxiv";
 "qsharp.source-0.3.1901.1401"="fz446cncrzdyjyxi0zvxnr9aizanr8v0";
 "rank-2-roots-1.0"="7nm53w0h83yyzgg9087bblnz55f3xjq7";
 "rank-2-roots.doc-1.0"="x84hhyxp10nhqk3vh5zwsxdqmkifwc10";
-"rec-thy-3.01"="h60l0869fxcadlsypsqxsw8g683zbsjw";
-"rec-thy.doc-3.01"="9x6x9wvzb8bvncrxy43jjql283bc36dv";
+"rec-thy-3.4"="gyi6qbzryvr8w0cvq40g05pw2d5v72nf";
+"rec-thy.doc-3.4"="dp8579zcyw7wp3b89k0apgm4h7rvf82b";
+"rest-api-1.3"="06a2z40gg5zr9mqcr5l9l62pikkzpgq6";
+"rest-api.doc-1.3"="v0h4q30pb18gdv3z6n32giq2y94mid1i";
+"rest-api.source-1.3"="hzxhbfc7451p9g3l4b74432gglvjdfim";
 "revquantum-0.11"="ciws2fb27v2jkmvacgxx5f5rjypxwhxj";
 "revquantum.doc-0.11"="3yx0fd96b5sxmf0950wy2yfswfn5k5j2";
 "revquantum.source-0.11"="a3lxg56ihykvv3wy0az60hbd3n721grf";
@@ -7321,9 +7497,9 @@
 "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";
+"spalign-42225"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
+"spalign.doc-42225"="s49kpxsa940l85yc6wzmb71i789874qw";
+"spalign.source-42225"="ahwv44vd19kn8vzbx7ya6275ysnp3q25";
 "stanli-3.0"="6ws3b75qs69jhag24aki76ndgryb9f9s";
 "stanli.doc-3.0"="iygalq6h7fdik4cfjyv5i62mid9gdr1k";
 "statex-1.6"="h8y1sw298ilqajy8vmi00yl9wpklf5fa";
@@ -7352,8 +7528,8 @@
 "subsupscripts.doc-1.0"="9yhhgbj7i83v21flfr3gkr35vkdxpx6m";
 "subtext-1.1"="dz6mm9cy33qhlw46fkirvzlqhsknjnak";
 "subtext.doc-1.1"="bllr8v8mflvi6ih3z3r73b5y6vmprafl";
-"susy-2019"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
-"susy.doc-2019"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
+"susy-19440"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
+"susy.doc-19440"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
 "syllogism-1.2"="gx6hjs32rq3d1sk28cs8ng8m2i1xwgrf";
 "syllogism.doc-1.2"="m6nv4hcwmh5qa7m411vwm8c6s1xbdbx4";
 "sympytexpackage-0.3"="x7b456c7l5nkwaf19g29rpc4m6qz27h2";
@@ -7361,8 +7537,8 @@
 "sympytexpackage.source-0.3"="lzsz5ly9rnzph5nxnaqbf9nf5abm302c";
 "synproof-1.0"="bv32jflr6n3jdm93xxpbvhz1lrhc3i9v";
 "synproof.doc-1.0"="i74i5km7n20hglq2icb62xcc2pl1fawc";
-"t-angles-2019"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
-"t-angles.doc-2019"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
+"t-angles-15878"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
+"t-angles.doc-15878"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
 "tablor-4.07-g"="fs9vl9gi63j8bqgiv06dbhbgs2vl1c8r";
 "tablor.doc-4.07-g"="k3d87x83igkq78j1yvav6b08y818qgz9";
 "tensind-1.1"="f76zwp7giabai57l4ryzin9s4b412g93";
@@ -7370,17 +7546,17 @@
 "tensor-2.1"="4gzhhxr2w1bbwb0yf799siazn5d6538j";
 "tensor.doc-2.1"="j4hxlj9f804ffrdp8pf06mj79yb8j6qy";
 "tensor.source-2.1"="89fmh96xlj21pm07c80q9cgiaj2a3c3r";
-"tex-ewd-2019"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
-"tex-ewd.doc-2019"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
+"tex-ewd-15878"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
+"tex-ewd.doc-15878"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
 "textgreek-0.7"="m1b05a740x322la70k6ib44sk6cky167";
 "textgreek.doc-0.7"="vah190cds1677yv86nfcyriccln296yd";
 "textgreek.source-0.7"="cqc5zj4ck54rayydvml5m3n4hfnykglx";
 "textopo-1.5"="rvcbhsz8win1g08s6az11ji6ryd9b1fl";
 "textopo.doc-1.5"="3f9w8nbyyjismgdxb5daijc88hfp8m8k";
 "textopo.source-1.5"="4h2x01rkf91dha2yxqpdfgv5qsmz34sx";
-"thmbox-2019"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
-"thmbox.doc-2019"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
-"thmbox.source-2019"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
+"thmbox-15878"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
+"thmbox.doc-15878"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
+"thmbox.source-15878"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
 "turnstile-1.0"="c4nm39zwakha4bk75092371db2n0nx4m";
 "turnstile.doc-1.0"="w2hv466gzdsc7vp0al5xk7bwa83szvr2";
 "turnstile.source-1.0"="8p5g2w1pcaxhg2a54rq2h23zd7cbj60h";
@@ -7390,29 +7566,31 @@
 "unitsdef-0.2"="j5dhzwnaizymvvj0cvvn8hcjgpiaw3xj";
 "unitsdef.doc-0.2"="m3n8c9wpk9m0il8yn3ip4kwvlbyzfndw";
 "unitsdef.source-0.2"="rpwd7p723jsqcmcl28kkfg3fg9dmyfxa";
-"venn-2019"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
-"venn.doc-2019"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
-"witharrows-2.3"="bw8ywli9cayfdnwb9px15swidxd5jfg4";
-"witharrows.doc-2.3"="z0hfhxl5c90q7p3qgbw9p7kx0vd1nbzw";
-"witharrows.source-2.3"="8jvhy950w2icgzbdgicr00qhicxnxpc2";
+"venn-15878"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
+"venn.doc-15878"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
+"witharrows-2.6"="8f5fpnsnh618mfr3k5rhl3x7kigb3nx2";
+"witharrows.doc-2.6"="41bhpd254fih36h9mx23pm6k9940h3sm";
+"witharrows.source-2.6"="dq93xyqb3pxjcdshvq7g45d0qg4jlnqr";
 "xymtex-5.06"="lh5pr87m1xhyaj74pmwc8vx3an7gppxw";
 "xymtex.doc-5.06"="bbknma6166kqvxhj3523p85lq7qn1ydc";
 "xymtex.source-5.06"="is60w9mjif26y9s3vv8c0v26z16m97g3";
-"yhmath-1.5"="yrwyrmcm5h46dwww8xca42xrif30rkrp";
-"yhmath.doc-1.5"="rg97dmxzfis1yy8mxwhvfs3sxhw9ridb";
-"yhmath.source-1.5"="x04g31n7rly2vkfcv8v7pqlgfcsf9403";
-"youngtab-1.1"="jknzzzxpa549x22gcar9aq433zwidbm4";
-"youngtab.doc-1.1"="1vrl9pqjlxs1izrw4a5d922v9ll8rv3h";
-"youngtab.source-1.1"="dbcchlqr498s741q1990aal2gm39bljz";
+"yhmath-1.6"="n885plj280iqd602vlwq2zfca3s2ijsv";
+"yhmath.doc-1.6"="ibxf0fn1wpahfjmz7q7jl0afi36qxwzg";
+"yhmath.source-1.6"="pg1hx02jxyjly4i5la4lip29kkpf4pf2";
+"youngtab-1.1"="0pni2w43573rjhi2lygsg7547n3fi3ic";
+"youngtab.doc-1.1"="1svxp5r9wmqszr860w9nx6b60nv1qiq8";
+"youngtab.source-1.1"="3f54467ky4ban6xkqcldajyr4gfy7mm1";
+"yquant-0.3.2"="r4z8dsvn24lj3d69bq5mn1hfhnj6b603";
+"yquant.doc-0.3.2"="vxf63ra7jijqhiy3bkdrcz6nj6ayj09w";
 "ytableau-1.3"="37wsbj7an7fvsrh4w5kvjiibhq0abn9j";
 "ytableau.doc-1.3"="wbgandbbk6zgms4jz2ird33kyg9yg19b";
 "ytableau.source-1.3"="2rblxwykvkrljn1xqz7zw9dz1wyib686";
 "automata-0.3"="7v2smy8hlz3yyqwcw11mjgh35z81n22w";
 "automata.doc-0.3"="49q82z2aa5xqgz3wsgcyix4a9hqfh5q6";
-"bbcard-2019"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
-"bbcard.doc-2019"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
-"blockdraw_mp-2019"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
-"blockdraw_mp.doc-2019"="n0a85bchn27q09771kx4idy7hic8iq42";
+"bbcard-19440"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
+"bbcard.doc-19440"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
+"blockdraw_mp-15878"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
+"blockdraw_mp.doc-15878"="n0a85bchn27q09771kx4idy7hic8iq42";
 "bpolynomial-0.5"="rwijp2lyphgyixi6l1d4j9vrwchr2m8k";
 "bpolynomial.doc-0.5"="1561z658ar885xsbg15psi82qjzc4zbn";
 "cmarrows-0.9"="03hcqmzx16n3y4vvh8aj6vrvpn6minmk";
@@ -7421,9 +7599,9 @@
 "drv.doc-0.97"="3sw31jvb9l0n124h9kq9byzmy3ay1wxd";
 "dviincl-1.00"="gf980a6jm4ar28h7464qx1nayjqvi1xx";
 "dviincl.doc-1.00"="sxmj8rcvwj2q4g3c8ha9a84avsn4w1aq";
-"emp-2019"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
-"emp.doc-2019"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
-"emp.source-2019"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
+"emp-23483"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
+"emp.doc-23483"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
+"emp.source-23483"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
 "epsincl-0.2"="srznlzss5ag3br4pmwny7aqq7gjmqv98";
 "epsincl.doc-0.2"="993m24spzl4jymn69sczm7a8d1ix0zcc";
 "expressg-1.5"="yd8jja79lbjibls84q1r2iqls9hgfp3d";
@@ -7441,23 +7619,23 @@
 "feynmp-auto.source-1.1"="2iirzys42l2k5fmpjxxsn31wpfzv02d8";
 "fiziko-0.1.3"="v4nq87d4dahjnskkgvgjf1sh65m9gvkl";
 "fiziko.doc-0.1.3"="djw7v20xazg82gkrh6wxw05vmih1d2jg";
-"garrigues-2019"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
-"garrigues.doc-2019"="zk53ay759rgd40fmf7byqpqmibw7rrza";
+"garrigues-15878"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
+"garrigues.doc-15878"="zk53ay759rgd40fmf7byqpqmibw7rrza";
 "gmp-1.0"="pzdcapvcjvbn48n6jnl1hs9mbycrccyx";
 "gmp.doc-1.0"="6ir5fj3s209rk3k9r2wbsz46kij8kw9q";
 "gmp.source-1.0"="an64d733yq3h8fy347lppy46yklczrsg";
 "latexmp-1.2.1"="x2plwjlw7cdim8lxh530zf5v2zjsfaxb";
 "latexmp.doc-1.2.1"="d9q1zwyad9p1nkk08mq4lard5rv291rf";
-"mcf2graph-4.48"="j0v1s2iih3v5vminzs0m3icrxp54x504";
-"mcf2graph.doc-4.48"="w241y08nz9qnxw6gysxaj58r3plk3c5g";
+"mcf2graph-4.52"="w0vzlw5kvflnffkzbsgbbkbnli71xqvq";
+"mcf2graph.doc-4.52"="nxjcisz791gn5f0n2s7izripnbgwrss8";
 "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-2019"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
-"metapost-colorbrewer.doc-2019"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
+"metapost-colorbrewer-48753"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
+"metapost-colorbrewer.doc-48753"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
 "metauml-0.2.6"="15p3yrkws6by8w8wmrnnxij1kp71sbvq";
 "metauml.doc-0.2.6"="mcgmrgsh7x21ci4n8d0yqy9clx7jp1ls";
 "mfpic-1.10"="lslzdy39sbfb1xa5rv3j0whpg1c8vkj6";
@@ -7470,8 +7648,8 @@
 "mp3d.doc-1.34"="gkjwsbz7sgdj5k6vzvswb4k4yb8xkhld";
 "mparrows-0.1"="d1v4j0hrr4cxm42vwlclvccp1wmvbbyh";
 "mparrows.doc-0.1"="jcf975s8ianx9dmiqa9lvv9ywj62rmap";
-"mpattern-2019"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
-"mpattern.doc-2019"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
+"mpattern-15878"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
+"mpattern.doc-15878"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
 "mpcolornames-0.20"="j7qagfiggfwjqapdrh1z23n0paj54bgc";
 "mpcolornames.doc-0.20"="jd5ai6f2ask0pbhrw46bdw8cfsrfpmps";
 "mpcolornames.source-0.20"="1f0wy1lrg0733vnq5mjwcgdi5rnprbis";
@@ -7484,8 +7662,8 @@
 "piechartmp.doc-0.3.0"="xcn16bgnyi4h8pqaisjivmywg234shgm";
 "repere-19.06"="4lbpfqmnvdw93pmabf34bpj69ww2jd4z";
 "repere.doc-19.06"="fjwv88ysck07zlpclf1fyjs4jyzm4mhx";
-"roex-2019"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
-"roex.source-2019"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
+"roex-45818"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
+"roex.source-45818"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
 "roundrect-2.2"="zihpsds4r0v44h4bbmmpjgx28y3knqc8";
 "roundrect.doc-2.2"="g6kih4vjqjg4v4qxlxkkxgwhqv0x0pdx";
 "roundrect.source-2.2"="rdydd5cwvnbzjlhdd4kcfjq54rzw9k81";
@@ -7497,8 +7675,8 @@
 "splines-0.2"="bn6gc1n3vbzrns1pzdjc4hf647g6pgj5";
 "splines.doc-0.2"="91g13liz4sfn16vzcvlpqhm388wwvs02";
 "splines.source-0.2"="p527173paps7gqz8wq02jkl6nbx8vw6z";
-"suanpan-2019"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
-"suanpan.doc-2019"="lvbx0yizc42hgqymw9yscja667h4mz1a";
+"suanpan-15878"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
+"suanpan.doc-15878"="lvbx0yizc42hgqymw9yscja667h4mz1a";
 "textpath-1.6"="97b12i6v4bz6095z7i7yjf7c3fqg232d";
 "textpath.doc-1.6"="zliwrx3n2r3xjhdi0c80rncxwk5whg76";
 "threeddice-1.0"="91chpiy1n4mg3vcabcm8li91q9lnkcvc";
@@ -7506,7 +7684,7 @@
 "abc-2.0b"="pmaw58frrdbnj81n21mg15yiz7sp0rci";
 "abc.doc-2.0b"="gild9nm8zph2kr6mj9w0sans8r1jz114";
 "abc.source-2.0b"="g8a921yi51lvw6mqj1hxmkwqqh9fkl03";
-"autosp.doc-2019"="h3rkc7nri062hjia5nfx5rdhv6baw808";
+"autosp.doc-54240"="m37b8f1jrw21iv7wsxi7zcj6dc96pzrw";
 "bagpipe-3.02"="z9akwcd2fdwzps3bws9vamik64pyyl73";
 "bagpipe.doc-3.02"="6ssnq5756qnhlbyn08pncriz5la8hpzy";
 "chordbars-1.1"="vdmircid5yrvvywih6m0nf5c6b59mz5r";
@@ -7528,37 +7706,39 @@
 "guitar.source-1.6"="7i8ma18fm6piiwsccj8lq6nn446mvqrw";
 "guitarchordschemes-0.7"="snccmsq130kvjn2ly56cjck56df5mdzx";
 "guitarchordschemes.doc-0.7"="p74vljfafyj0ap707aydgpf4xs2pabr8";
-"guitartabs-2019"="zl4w2llxyb1173b4asgk93bh70rxil42";
-"guitartabs.doc-2019"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
-"harmony-2019"="isfyzam48q2f90vyh78rp5df93wzdfq4";
-"harmony.doc-2019"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
+"guitartabs-48102"="zl4w2llxyb1173b4asgk93bh70rxil42";
+"guitartabs.doc-48102"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
+"harmony-15878"="isfyzam48q2f90vyh78rp5df93wzdfq4";
+"harmony.doc-15878"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
 "latex4musicians.doc-1.0.1"="aph09gf5cfxm7prwbg5v9y3jz03vpdif";
 "leadsheets-0.6"="371j5dnksvxxm6hz1cia15ll3w2mx17p";
 "leadsheets.doc-0.6"="7nbq4zi22pgsidfknddw8a5iqnfsxhnz";
-"lilyglyphs-0.2.3"="qn7pjnhq8aaynk7s8mis9g0y0m16fbnh";
-"lilyglyphs.doc-0.2.3"="89k4bzc0jy0yx59y8ssiqvjgqspsfyry";
-"lilyglyphs.source-0.2.3"="30yzqq1pw4mh74c87xxk12n834vpq8m6";
+"lilyglyphs-0.2.4"="phvx76h2sah66knx7lxdld5p6q1rshmf";
+"lilyglyphs.doc-0.2.4"="n9rk2zin1c4zm08181ly5yrja4zbhri7";
+"lilyglyphs.source-0.2.4"="6j01hgnkjxfjszhdfynq93zlccqj0z7h";
 "lyluatex-1.0f"="zgh2b7q3w9p0dic23cwddhhx5cqsdqm7";
 "lyluatex.doc-1.0f"="c8739z6r5mpk001ra6if93kfw799rphi";
 "m-tx-0.63c"="jjs536dwc3qbi72s4d7qr8v3b0rxd41g";
 "m-tx.doc-0.63c"="ji5fl4sdm5mdhkkg4qf33gzaaqnw8yg1";
-"musicography-2019"="95nsr792xkvyq2kp95yw9z99j40c9dsv";
-"musicography.doc-2019"="z63rsy6v54c4p1l844ck0b6hc9fwr96x";
+"musical-3.1"="cam79g75i6blbgd4m7syi432dn4zar9g";
+"musical.doc-3.1"="xi1lz7w68jab89ihx1j1kv1dv8z2nlmd";
+"musicography-53596"="95nsr792xkvyq2kp95yw9z99j40c9dsv";
+"musicography.doc-53596"="z63rsy6v54c4p1l844ck0b6hc9fwr96x";
 "musixguit-1.2.2"="29kbldyqlcf8xs5yh5gsx0m7liwbnqg1";
 "musixguit.doc-1.2.2"="pam1limbbmc1jvhznsvrwslmlr86y7vf";
-"musixtex-1.29"="si9nrmj1g186af47kyfsrv41h3p3irsf";
-"musixtex.doc-1.29"="ls2sq1mynqa6a8z3dxjblla277ml7wr2";
-"musixtex.source-1.29"="kb90c2jhgmx77d12x4rg6yivpiq5rxq1";
-"musixtex-fonts-2019"="a8kdi135xis6qcwy90yisg4wafklmw2y";
-"musixtex-fonts.doc-2019"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
-"musixtnt-2019"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
-"musixtnt.doc-2019"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
-"octave-2019"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
-"octave.doc-2019"="152jq3brzf99xwq983k2afrdlq5lhazb";
+"musixtex-1.30"="rgrd6yf6vr0nns6y5xp6ppzrdja4cf5w";
+"musixtex.doc-1.30"="h56v5x6ljybd30dymw0n1i4dx1hnv1v8";
+"musixtex.source-1.30"="kb90c2jhgmx77d12x4rg6yivpiq5rxq1";
+"musixtex-fonts-37762"="a8kdi135xis6qcwy90yisg4wafklmw2y";
+"musixtex-fonts.doc-37762"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
+"musixtnt-40307"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
+"musixtnt.doc-40307"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
+"octave-45674"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
+"octave.doc-45674"="152jq3brzf99xwq983k2afrdlq5lhazb";
 "piano-1.0"="vbbcddqx5sk4gg9w1882g4a8lrnnqn2d";
 "piano.doc-1.0"="bn1c29lffw62jsyiygh3i0biaaz0asmv";
-"pmx-2.84"="hamhslbh8fhjjvzvksg0c9xkjwv4kajw";
-"pmx.doc-2.84"="1xm3b6ywqzn0z79yjncp0104ap1dhqkg";
+"pmx-2.94"="rcpl81h8ysm1v188gw3gnwvqhr29w8ii";
+"pmx.doc-2.94"="wrkr9pnwci0852bs60whifpmj432rq97";
 "pmxchords-2.0.2"="wwn3da9f9br7dpfhq7yg9j2f64bb9183";
 "pmxchords.doc-2.0.2"="f33mk2mv8pjl4ikg3kvig5lr94iwrm4m";
 "songbook-4.5"="jimhdkxsiqzkwnsjsw1rynkrfhhh5n0d";
@@ -7570,21 +7750,21 @@
 "xpiano-1.0"="ha9dpa3kpmhbzy3f16d7s6mlvh563mgj";
 "xpiano.doc-1.0"="x579hyy5sibzsn9ldrkwsqrjjrji0xak";
 "xpiano.source-1.0"="77wwb6wxd7c9cqmjlq9cij6p4ibr3r3r";
-"abbr-2019"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
-"abbr.doc-2019"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
-"abstyles-2019"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
-"abstyles.doc-2019"="xba8x95rimsa16xhr7nziglk7djzv6w8";
+"abbr-15878"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
+"abbr.doc-15878"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
+"abstyles-15878"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
+"abstyles.doc-15878"="xba8x95rimsa16xhr7nziglk7djzv6w8";
 "apnum-1.7"="hvw4fwjm3n7hfj08ik7nkg5w51zg9mbx";
 "apnum.doc-1.7"="isai4pdly4pkhhjnh3afijlrm9mw2i0q";
 "autoaligne-1.4"="lvfsylaqq4sxi02bv9v6z1sy8gayb570";
 "autoaligne.doc-1.4"="7rzi51xaglby24ihmzplk6d0yk2x1wlb";
-"barr-2019"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
-"barr.doc-2019"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
+"barr-38479"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
+"barr.doc-38479"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
 "bitelist-0.1"="22q3ivacwl5p0c8plgg1gjz8413l601b";
 "bitelist.doc-0.1"="n00mlj88l6djwcxzj0l6pxiiba94kpl3";
 "bitelist.source-0.1"="w38ccrprx1rn0pc34mr29bnx7gaxa7k8";
-"borceux-2019"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
-"borceux.doc-2019"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
+"borceux-21047"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
+"borceux.doc-21047"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
 "c-pascal-1.2"="m4x5kfq1vm6vzv0ic910fqi1qijn7g34";
 "c-pascal.doc-1.2"="v6wqph0gaibfv4cwph5w0axp5sf70m6w";
 "catcodes-r0.2"="haljpnhhzvyhmnda9vgk77md5zm88773";
@@ -7592,51 +7772,57 @@
 "catcodes.source-r0.2"="6ljn2lwg4bzr9c02d01vh0saja9sz9yf";
 "chronosys-1.2"="qswnnwyghvsbjf3ddvbl7nl00qxwhs6h";
 "chronosys.doc-1.2"="m11jpa7crg095qf03qx7gcrvcb41f83a";
-"colorsep-2019"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
-"cweb-old-2019"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
+"colorsep-13293"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
+"compare-54265"="3y2gpllzn6bdrpgyg32vswiz66dzi1rq";
+"cweb-old-49271"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
 "dinat-2.5"="a1gcgwkj0pd1lqdm20356fbjram3wpa0";
 "dinat.doc-2.5"="6dzss5231fdqjzs8j7z4gfx5iga4m895";
 "dirtree-0.32"="xgxmz79hj1q6qyfkdvgj5nm26865dfmm";
 "dirtree.doc-0.32"="im2rhm2fmqk1snrhvrsm112jw1hwcyw8";
 "dirtree.source-0.32"="pyfcid8hir7vvm6fpwimlfgs65dgzfm1";
-"docbytex-2019"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
-"docbytex.doc-2019"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
+"docbytex-34294"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
+"docbytex.doc-34294"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
 "dowith-r0.32"="vdgkjxphpmycfcsimxih7gnhv58hd9vs";
 "dowith.doc-r0.32"="ql8hdyxcgss7rvlp1913rp52wn4wjvxn";
 "dowith.source-r0.32"="xq0r5c58clz8qzbhz01gv2ph1rs9wg1n";
-"eijkhout-2019"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
+"eijkhout-15878"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
 "encxvlna-1.1"="kz3nvz29czk573cxbi5a5l3mbjs3vfkh";
 "encxvlna.doc-1.1"="gv5k36s89g2zslq75s2j7ffvwdiz4lkb";
-"epigram-2019"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
+"epigram-20513"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
 "epsf-2.7.4"="55vrh3nmvb5p1nkkpwhrq9glsf64bc3k";
 "epsf.doc-2.7.4"="b78n5gm14qk3brywpz4prglkqnpx9fpg";
 "epsf-dvipdfmx-2014"="qvf8n367wnjahzv8bgh7rmqqgnwraa0p";
 "epsf-dvipdfmx.doc-2014"="b290mp5xqfqzzxa92s9j798qyycaph9a";
-"expkv-0.5a"="xnl73p0bmq99hqa4fppvq3an3k1p979m";
-"expkv.doc-0.5a"="n7wyvph311yln9rxfzwsslv55lbyyh7m";
-"expkv.source-0.5a"="qg7k550dwjlhhhi1nslni2kg3238znis";
-"expkv-def-0.1"="ikyjr44zb8r02pr84pvhs7dh3xfly5b8";
-"expkv-def.doc-0.1"="h950kj1mhnm016d8vn9jr8iss4kbis8a";
-"expkv-def.source-0.1"="zn84yaddaaia0169cjjsrp70y7dq2mr7";
+"expkv-1.4"="29gqz3z2a8yb4r035224dcksf7kdypws";
+"expkv.doc-1.4"="d4am4ls66vfnsxrdsq299a3f7qz2a4ql";
+"expkv.source-1.4"="6bk2fihm7ksck8pkm1hbpva54gmi9z1g";
+"expkv-cs-0.4"="cackn20g9nx2c0y117swfpqjnlssz4lj";
+"expkv-cs.doc-0.4"="1d3xf7mpjzavavc2adlnql4xd32kfmgj";
+"expkv-cs.source-0.4"="3mki6i67x9r74qd053nclwqxymrixid0";
+"expkv-def-0.5"="swzr4rilgni5a12p1mhyqd3siv6lxygz";
+"expkv-def.doc-0.5"="cadfkapwdx2b33nvh7s37h9ps7svng37";
+"expkv-def.source-0.5"="yipx1lbc2xf82xq8h9kxinm7i4rf107m";
+"expkv-opt-0.1a"="7h72cifas5v9vcd4h0g1lpjb0mn8rd0h";
+"expkv-opt.doc-0.1a"="s88rd2wfw21n3fm8pifzyzyw0r1x2n50";
+"expkv-opt.source-0.1a"="ds4jry5d0h3cfdrrqis65vc5kpgwmwvl";
 "fenixpar-0.92"="61jkr83g6i0bqmp0qg4w09gj7gwcdn96";
 "fenixpar.doc-0.92"="95h02nbzq72mmblzawgqsk8530wi1dpb";
-"figflow-2019"="166qngk7yy25v0rbjavi53m0sazk90gn";
-"figflow.doc-2019"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
-"fixpdfmag-2019"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
+"figflow-21462"="166qngk7yy25v0rbjavi53m0sazk90gn";
+"figflow.doc-21462"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
+"fixpdfmag-15878"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
 "fltpoint-1.1b"="q48n0d38d8y8m4z6lgmfza4gh1mrzkjn";
 "fltpoint.doc-1.1b"="6ljc5c3g53ig6yj7blcfqy43yvlw5fqf";
 "fltpoint.source-1.1b"="l5ybd1xn6abfhq5kjhvig8zsp721ldzg";
-"fntproof-2019"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
-"fntproof.doc-2019"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
+"fntproof-20638"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
+"fntproof.doc-20638"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
 "font-change-2015.2"="rvxfsxkwag1pzhh448n737b6ngadrlyg";
 "font-change.doc-2015.2"="14ck6s61lx6gyqmf6i9659lvwd3zh6hs";
 "fontch-2.2"="0h81qy37h3jb2m6g18969189a1jbi73a";
 "fontch.doc-2.2"="csygimfjbm36zfm403jz4kw39zv23zzb";
-"fontname-2019"="mgggfwq9ds3bc2mblkx5rday7dgmq1i7";
-"fontname.doc-2019"="vg79z64v459vl42ba50sar4dhafwr1f0";
+"fontname-53228"="mgggfwq9ds3bc2mblkx5rday7dgmq1i7";
+"fontname.doc-53228"="vg79z64v459vl42ba50sar4dhafwr1f0";
 "gates-0.2"="awaxppd6dhv239x03vpwy2hn2zwldmna";
 "gates.doc-0.2"="qqmjk1276kdv0rvsv86gi7ysl3warg95";
-"genmisc-2019"="wyk31w93k04bqfqik1ad1q7bx88m6v4b";
 "getoptk-1.0"="2crphpdvd2wcnqrxm180im84ask9hcq3";
 "getoptk.doc-1.0"="vcj36dsv4y0k8czii5fb5b51c57c7rsd";
 "gfnotation-2.9"="3gkmqmawpzqvqsqcmrfc50261mqv8nmm";
@@ -7644,8 +7830,8 @@
 "gobble-0.2"="r1knqlpg1ndgkvkmi038jy9g450qm2k4";
 "gobble.doc-0.2"="kpgjg6n4p17fvw93qyih0xslid4x7w66";
 "gobble.source-0.2"="i8dh8xayn1a2lsslnr8wygj0qr168wpx";
-"graphics-pln-2019"="xgwh2sl1l9ckm86ng0pkk49iiajvpvkz";
-"graphics-pln.doc-2019"="0f496bqsp8ar70sw10kkspqpwldwabj6";
+"graphics-pln-54080"="l78qggbm95wq2yqj1yzr2gy2x244cbiq";
+"graphics-pln.doc-54080"="nx34dlv8zk90kr1agqbj5h7y2b4whq5k";
 "gtl-0.5"="bypkgzwx7y2srhdxv94a9zvbyxkbwgqh";
 "gtl.doc-0.5"="777isinskwws7m2b47a0w26w9dsp01qd";
 "gtl.source-0.5"="di1lh2gf5xc3wk34q247zvgvgnmnwdh4";
@@ -7655,24 +7841,28 @@
 "hyplain.doc-1.0"="37fvn4xi8ibli2622n1adyzgnnhrs05n";
 "insbox-2.2"="n1wbssqq7h2g00jmvy1g9cx2pb8lp8n3";
 "insbox.doc-2.2"="i5c06kh17g5ghsjivlxsipgkd0ab05x9";
-"js-misc-2019"="shwn2dwi83plybk71sjp3i1drw7xxd18";
-"js-misc.doc-2019"="ppwwslknxds8l1spalpgj950n9amsinz";
-"lambda-lists-2019"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
-"lambda-lists.doc-2019"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
+"js-misc-16211"="shwn2dwi83plybk71sjp3i1drw7xxd18";
+"js-misc.doc-16211"="ppwwslknxds8l1spalpgj950n9amsinz";
+"lambda-lists-31402"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
+"lambda-lists.doc-31402"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
 "langcode-0.2"="6fwjx029l2nalfz81qfn1k7yp0z7iycb";
 "langcode.doc-0.2"="vq8m73ckjicm53q7v8q5k0rhldq55hkc";
 "langcode.source-0.2"="nk07pqb0mfq3vzpdddhb8w3w85svpbq9";
-"lecturer-2019"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
-"lecturer.doc-2019"="avsvzihsa6jn0abvd4122k358w5sf4y0";
+"lecturer-23916"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
+"lecturer.doc-23916"="avsvzihsa6jn0abvd4122k358w5sf4y0";
+"letterspacing-54266"="w55cy2xlk67hnnkiy52yphhs0872ziaw";
 "librarian-1.0"="5siy7c2xclp1c305vqiayp0n5dzil1gh";
 "librarian.doc-1.0"="8nxz7ac5hdp9820nsfkvhvv0bn55idq2";
+"localloc-56496"="hcdniqi3g6imzllxn25y7haqhm08skqd";
+"localloc.doc-56496"="yjhl0zlaw7kirncw6gsddk4zq6zj6468";
+"localloc.source-56496"="ivj8kyznfxsx7afgy8qdwd8p2q8rga73";
 "mathdots-0.9"="6avfq6dlhbqw1i3jrjgcdbdzx2a0w5nq";
 "mathdots.doc-0.9"="syy0i8rjssr81sy26xcx43jbripqx9d9";
 "mathdots.source-0.9"="zpl4xjhcq4hs18hqiyljy3lfyx9xbng3";
 "metatex-1.1"="jidirfi30wf0b4aq279lim2pylirmv3r";
 "metatex.doc-1.1"="b0rgim8d9dns88zvf283czk4zgsvvi3b";
-"midnight-2019"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
-"midnight.doc-2019"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
+"midnight-15878"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
+"midnight.doc-15878"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
 "mkpattern-1.2"="q3wl8iaijlhsg5qx35f5gcmz6gwj543g";
 "mkpattern.doc-1.2"="8hx2z63klm8dmyiyfg069qy4vf5qzc4f";
 "modulus-1.0"="ia3l2fxzy8dvm42nil9c3c3hgpg65kj7";
@@ -7681,20 +7871,25 @@
 "multido-1.42"="xvw8537j730srqyigrb1q367g73zh29q";
 "multido.doc-1.42"="qp7jdx0jca995df559f1ji2l32jz2h12";
 "multido.source-1.42"="qc1473wf17ppqxy11xgz226w4d8zrxk8";
+"namedef-1.0"="131apf57396fjyfmx4cvp3hg8gsa1jrm";
+"namedef.doc-1.0"="g7mljk50xxvvvfqgk239p12vmx92n2w3";
+"namedef.source-1.0"="kydzzz750a76fisf14l48d691n0hkhd5";
 "navigator-1.1"="0q23aqjf31y78hxmlhx4mf04c95rwdn3";
 "navigator.doc-1.1"="vxgrfimg900qa0ibwpbwcbv63rbaplp3";
-"newsletr-2019"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
-"newsletr.doc-2019"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
-"ofs-2019"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
-"ofs.doc-2019"="8i8acpk75frksj5wshpjpcazbd93whzy";
+"newsletr-15878"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
+"newsletr.doc-15878"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
+"nth-54252"="p28w9qvwvvmi4v6gz5dp0hzv3pdp1qrm";
+"ofs-16991"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
+"ofs.doc-16991"="8i8acpk75frksj5wshpjpcazbd93whzy";
 "olsak-misc-May_2019"="4ymwq2jcmf4gs1hrdj93sgi2wibicw61";
 "olsak-misc.doc-May_2019"="dxc35x4yc0y4xk6488awgkc5qb32kl6p";
+"outerhbox-1.2"="q01b3lhx53dbrm55n915crjmkgks4xj9";
 "path-3.05"="gxlifrd0kfxajy8viylk3wsfkycd96xv";
 "path.doc-3.05"="0pbd67di200vghv2a4bp7vwss7bsbkjv";
 "pdf-trans-2.4"="f2qw1mx9qql6xqsnnwcvqx59baz3gzyl";
 "pdf-trans.doc-2.4"="vbg7kp37w1p727nia0p1imyvxhqgzgna";
-"pitex-2019"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
-"pitex.doc-2019"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
+"pitex-24731"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
+"pitex.doc-24731"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
 "placeins-plain-2.0"="b0dxmvbqfwm4cycyqm9ir7dl7dbgq37x";
 "plainpkg-0.4a"="xsvwz9z9f2jirfyzggiv49y0rfmhmnaj";
 "plainpkg.doc-0.4a"="b0c8mi4mr6bjdhrwbcplwjw920l4zmbc";
@@ -7709,58 +7904,65 @@
 "poormanlog.doc-0.05"="30li13ybjpmzh5v9x504061shapvmqq4";
 "present-2.2.1"="nll2w203n4a3ka9dqmsl3bvfz4ypsvdm";
 "present.doc-2.2.1"="m39zcb5c59hd26kz8zcnbljh91hjxjqw";
+"pwebmac-4.5.6"="mscqgmnykfr2yfcpgfss2dndyz3mmx56";
+"pwebmac.doc-4.5.6"="wph1y2i1shj1zy6561hx6bfj7jk6jd7h";
+"random-0.2"="cg4jqxpqs7nk3a1j8424bjin08xl493m";
+"random.doc-0.2"="kwqbw15h1iwgr4ljcr7qsppi7n7c28j9";
 "randomlist-1.3"="nfdsmsl3s1wj8p236s3hmwhwfdx289wb";
 "randomlist.doc-1.3"="c6zlhgw9k14wrqffy277jwj3nqp8vsl2";
 "randomlist.source-1.3"="w61n9d30k1gjjrykxps0ssap7xncdfh2";
-"resumemac-2019"="8kydfyx795317240qryrp7zjvpbcd43r";
-"resumemac.doc-2019"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
-"schemata-0.8"="3qik2nhhwhpgkwnay4rsmglh6kffm1pz";
-"schemata.doc-0.8"="7rggpri0l5pj9rppz8ynd8d6jz0v7ssp";
-"schemata.source-0.8"="qixmvsyiaj3yl78053y2s8xgp8ba06f5";
+"resumemac-15878"="8kydfyx795317240qryrp7zjvpbcd43r";
+"resumemac.doc-15878"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
+"ruler-1.1"="48pdi6yxiiwdnmpy6822p0baymfgf38z";
+"schemata-1.1"="8vhx9mla27iim098qdi0k9wkpsbzamvk";
+"schemata.doc-1.1"="2p884sk15m95rr5lslcwh90zsl44gbp0";
+"schemata.source-1.1"="lsyg7d8zk85h776fgzwlyxgx7llcgmgm";
 "shade-1"="4ywc6gkvkgm5fiq6avik748vzj7f23g2";
 "shade.doc-1"="ax6w6sfryrzmjdff803hp6qfc9x7knkf";
-"simplekv-0.1"="hzrb8zzk62jc89bn9hmsg8xskkf7jnyl";
-"simplekv.doc-0.1"="fygasbjw3slr4d11asghdnw57i0r4qqp";
-"systeme-0.32"="wxf6jfpwi5pbgb8fb5ah9qwn4g9bclhg";
-"systeme.doc-0.32"="750pfab3ismjj93z5hs8r4wha9zr9dgl";
-"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"="0apbz4mw90ykzhkdhd2z8gldg4x2ll1n";
-"tex4ht.doc-2019"="hi6p91idcncr8n8hiz6vb4fpwggm1d78";
+"simplekv-0.2"="xwzqwbgqinc13n4zxjr3wxx1d4z2yfp1";
+"simplekv.doc-0.2"="s1s13jm04rzx60fhvgmqavbplbdhv4fy";
+"swrule-54267"="383zr34k9mhk605cni6fb74lkr144zw1";
+"systeme-0.34"="wnhkgq4fkwrx6hd250ak25pv0ywl8f6w";
+"systeme.doc-0.34"="h0nnqih07bbhw22ph3nd0qprdgl55ppi";
+"tabto-generic-15878"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
+"termmenu-37700"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
+"termmenu.doc-37700"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
+"termmenu.source-37700"="xygav2l9gll238dyqa8126sn9hc1n1w2";
+"tex-ps-15878"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
+"tex-ps.doc-15878"="g377qq7n63mqil18vlfgimfd589pa1qm";
+"tex4ht-56601"="3in5gr70fwp5h01j6igngn7jv7qj40ay";
+"tex4ht.doc-56601"="zp3gcglcmbs85qcfdy1x0rq1nwnfggvj";
 "texapi-1.04"="4ysk0vfpgxfdkpaag4982k7ni4qkksjd";
 "texapi.doc-1.04"="l2753w2z702418c8shbami8hzdsyz4lx";
 "texdate-2.0"="vi2h6c5c56i63vhzn64x7qvn11733z70";
 "texdate.doc-2.0"="3yzkfs7q2v20ykcz7754r48p0hb2l09s";
 "texdate.source-2.0"="zwkrw8y0m074w5fpjnaabbv7kk293g80";
-"texinfo-5.1"="60l0xkiidy5zi772vzalavb32ynxfbjw";
-"timetable-2019"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
-"tracklang-1.4"="78qby69fz9hs5brl0050mwy0xgzjms47";
-"tracklang.doc-1.4"="r8caivpz3lhzlvh5kqv18k5cnvkf58qx";
-"tracklang.source-1.4"="xbjjgq4h1qqa4j2abcf1p61lxgiiahxz";
-"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"="wqamm31mzzm4xw5y4fyrlzr6rm05v1xv";
-"xii.doc-2019"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
-"xii-lat.doc-2019"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
-"xlop-0.26"="vjjxxxwsq6pshgia7z796rwmhc5sjqnn";
-"xlop.doc-0.26"="gl0qca1pp05fh8a1baylvl2a26s549y2";
-"xlop.source-0.26"="hdfdp7jn8hch5fydl1zddlfh1av08dxp";
+"texinfo-5.1"="b94hh50y0ahcn5fk9xl4fmcki7b5mw0l";
+"timetable-15878"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
+"tracklang-1.4"="dla1jqizbjlb31drs8bnc09vxqilalys";
+"tracklang.doc-1.4"="nm0wsmwrl78ikmfzn63gl3mp0nh6af72";
+"tracklang.source-1.4"="bd547xxzlhjkj84f40lb3fb5y95q2fwl";
+"treetex-28176"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
+"treetex.doc-28176"="5r9rz97y0r280vn642x65xgcffb073gx";
+"trigonometry-43006"="ji2axcciqhac3aaly221w3bja28yb2nw";
+"trigonometry.doc-43006"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
+"upca-22511"="hfay60269pv5n1r64q1r9d0lqljih70w";
+"upca.doc-22511"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
+"varisize-15878"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
+"varisize.doc-15878"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
+"xdvi-54338"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
+"xdvi.doc-54338"="dz4q0d643a261kll9fci78dmgwjkjhbb";
+"xii.doc-45804"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
+"xii-lat.doc-45805"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
+"xlop-0.27"="qqb21cjpvnv6k136cw9jvpflk2n5nqrl";
+"xlop.doc-0.27"="bmrvybz9axzcbczjv4fw48bl32wm0fs5";
 "yax-1.03"="7kwmcvp6dlxj4jp0xp599f6469zhwnwl";
 "yax.doc-1.03"="4fh5pdqkifpv1zynkl1ycw0xi817wy5h";
-"auto-pst-pdf-0.6"="64qw6a4r38bsb4z3giwdvx18k60x0bch";
-"auto-pst-pdf.doc-0.6"="syhgg4sidch19kh1l9nda10dq7kvyvjq";
-"auto-pst-pdf.source-0.6"="j5n1kpkc88ry8nmb9hd3g382dm1x8c9x";
+"zztex-17.7"="kack2q2qi130rm6x49sqlkrv4q31qzv4";
+"zztex.doc-17.7"="x1z2i1zs3xzhcic93amhz4niz3aj44vy";
+"auto-pst-pdf-0.7"="zbmd4qc7wq0s7r3cp1qj4rhv9fn7c0l9";
+"auto-pst-pdf.doc-0.7"="sc37ybh0adfwvzzi8wb8jkhg2z42q2rm";
+"auto-pst-pdf.source-0.7"="wvmqgck46b8qjfq8mjs7s0vfi6ci4rfc";
 "bclogo-3.1"="2j9mb9p1n575pvisvpy7zxhsw8940n2b";
 "bclogo.doc-3.1"="rjmzjjww5vmdzz5qfbsxjmnzz4fmn1gp";
 "dsptricks-1.0"="jrn51r2zwccvvy2dasq0zbf4cls15vy8";
@@ -7774,15 +7976,15 @@
 "pdftricks2.doc-1.01"="311ws9zf7fpc91407lm28mjcckvz4mmg";
 "pedigree-perl-1.0"="2wwngnzbxbdypw4mg5wqr4vlmz770llg";
 "pedigree-perl.doc-1.0"="l3v4vhrvkkiz8av3l0abb4w5v0fizbpn";
-"psbao-0.17"="ma3dzpsa8kxqcjm72s217g3rk8i46pv8";
-"psbao.doc-0.17"="1r5r8xcwizzkbm5nb3xpv1ma58v8hgh6";
+"psbao-1.0"="f1rij947zxm5pm52fyv5q77hl50m7m5g";
+"psbao.doc-1.0"="4km2d67wdfgs010xfx706l9ywkb2wvyh";
 "pst-2dplot-1.5"="krwawa7h5jd8sdsq3axq5wvn1im8k1zq";
 "pst-2dplot.doc-1.5"="gbmabgk6i8q9mi397ny0r8kqzk0hyc0y";
 "pst-3d-1.10"="pg6n52kv7lk6i6rfqyzijfrxdbv7ym5x";
 "pst-3d.doc-1.10"="x7bl3prki06ki517r33ab7pz72n0ycz0";
 "pst-3d.source-1.10"="xchbmh6g5zwja9xgxlkdb04qx4kplclx";
-"pst-3dplot-2.04"="m0ww4lfmigs5knn6i9x5qnd1hw1cvcb9";
-"pst-3dplot.doc-2.04"="jd1vzccssibgymacp05maz256a6iif2v";
+"pst-3dplot-2.05"="7l59hfwk8bf1j7f9i5xrk26cwr6fv7d9";
+"pst-3dplot.doc-2.05"="6d5kf9kjdmv62k55znwjkz5v5v29sc84";
 "pst-abspos-0.2"="bbag5d5l1pad71rrc51lbd8k11jm7nn2";
 "pst-abspos.doc-0.2"="70m0f6dbxy9j9iwxx92kj2k4vwqsbrc8";
 "pst-abspos.source-0.2"="3bnsfp2rj4rviirll63zljd7wady41q5";
@@ -7813,8 +8015,8 @@
 "pst-calendar.doc-0.47"="jvwhyiz2cfzcx6mpwkahmpcb3fyl6yqq";
 "pst-cie-1.06a"="x0vq8n8l6xsiy6xmwfnlsnp59sp2n9rr";
 "pst-cie.doc-1.06a"="bxvays03xan0mw627zwai7ja07kqpf75";
-"pst-circ-2.16"="cnyll2vq7i29a4zs95lfqhr8b5b5v9zb";
-"pst-circ.doc-2.16"="nhh02gq24n5ldlsr71fg65rap9k42668";
+"pst-circ-2.17"="69rmijifv9f9kjvcwj1b7l77lv6h400i";
+"pst-circ.doc-2.17"="d9jk38iinh9nnyy8g1sdi8va82s83zn0";
 "pst-coil-1.07"="2ai64805vflnfx112c8p0jqf1ad477wn";
 "pst-coil.doc-1.07"="209y878cmqrykmakyy38075dkdfff6nb";
 "pst-contourplot-0.6"="8giwlz62qcmrl9mddfwk9yqp51c01r0k";
@@ -7835,8 +8037,8 @@
 "pst-eps-1.0"="djkk1cq45fzh2q1pvl23aiqi8b2znqrk";
 "pst-eps.doc-1.0"="i903x3p9wwb1jjf5al8azqr3iasmxkyk";
 "pst-eps.source-1.0"="r6jcjqy0f5mnkkahzqf9qnfrgwqh52h8";
-"pst-eucl-1.71"="1g5fkgd7ahplfj08ibkvlhgil0v02l81";
-"pst-eucl.doc-1.71"="3slnpqk8120b4pkxls25bp149vp3nw1y";
+"pst-eucl-1.75"="r692b03azj39wcfd50ig1jz08mg8np1c";
+"pst-eucl.doc-1.75"="lql2a421v71snavwrsvrx4p4fpnxnn29";
 "pst-exa-0.06"="1jqv019148d2s5n7cmlclldqd3mzk08w";
 "pst-exa.doc-0.06"="v45ljmsk7y4p256vikzyk7w0z1vnybqz";
 "pst-feyn-0.01"="k5fpn50px7b2i9bq48qd2xwcdqdfwrnp";
@@ -7849,21 +8051,21 @@
 "pst-fr3d-1.10"="wcwbrmyh4mn9af5skqaj9pljkc79chwq";
 "pst-fr3d.doc-1.10"="hcf0909wnb4qdhrcy5bsgi7bjhkd3rs3";
 "pst-fr3d.source-1.10"="fyqkqk6p5m83q133ngw9a3j6gpzy8aii";
-"pst-fractal-0.10"="kpy8pii1jlwvgppbcddsa4852whw3r16";
-"pst-fractal.doc-0.10"="y1igkr28qxvj8yb31vca9cxinhvdzwrn";
+"pst-fractal-0.11a"="ihilgmdfalqmq1q57md183ymms6xadvl";
+"pst-fractal.doc-0.11a"="ncmn8bijlbc00y5zzs99gn15bbvwfyls";
 "pst-fun-0.04"="klmswb8gqb538ghlay62dwg1asiq8l13";
 "pst-fun.doc-0.04"="xafzv4wa5hzqmclbv7s7xh0ba2kaay69";
 "pst-fun.source-0.04"="s7173q9a44aqd43d8bwcrskc9bsh1c1r";
-"pst-func-0.93"="8fxmgdnwqh2zm7r2k46dx3lcz9jjdab6";
-"pst-func.doc-0.93"="xjgk9jzv3abphq20jgiz9q12zqspp29c";
+"pst-func-0.95"="i0vrgfpvpn8v26rpvvh9f1421bjx2bra";
+"pst-func.doc-0.95"="na9p5a77dzwd6vqgmcpswf0fp3qqk781";
 "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-2019"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
-"pst-ghsb.doc-2019"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
+"pst-ghsb-54074"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
+"pst-ghsb.doc-54074"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
 "pst-gr3d-1.34"="wpbib4n4j2fmgbirhq8xha4di6f3w1xa";
 "pst-gr3d.doc-1.34"="ipap5gil3j6hkdcl1l1y0a6fnj754zq9";
 "pst-gr3d.source-1.34"="l6i8dnqgpl8iwsmbhiw3a043pbxb3k7m";
@@ -7902,11 +8104,11 @@
 "pst-mirror.doc-1.01"="varxk1wyh1lc7yv5n3ad1yp583rchj3l";
 "pst-moire-2.1"="87fgw7g36l5yhh7wajhcz4fndls21d29";
 "pst-moire.doc-2.1"="j9hx5m27rs1by4igc5nn31wgxb4v0yz4";
-"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-node-1.42a"="5kp8akd3xr2gfdynjilxk3igzlmc7drk";
+"pst-node.doc-1.42a"="0xfbfzhl2zkcdbnh5xxkchy981f9zizn";
+"pst-ob3d-0.22"="nymkccb9nwfqiiphmci238qxj9lk58w7";
+"pst-ob3d.doc-0.22"="sji0zdf3ylh4kj0vlgl0s7xqimiwh29i";
+"pst-ob3d.source-0.22"="jq2d3wiy1sgx8xm8izg0yd443aqps44j";
 "pst-ode-0.13"="5r2l25m2994jjs0v0fal8nyr9wn3ih4v";
 "pst-ode.doc-0.13"="951kjjph98p9m8cqyzcj078ny6pq9z0q";
 "pst-optexp-5.2"="6k171kswlvjz2qrgsr43llpn8a8fx2b9";
@@ -7916,8 +8118,8 @@
 "pst-optic.doc-1.02"="bw2k4jbxfdwyn7pfn708wd3ff8nr14ww";
 "pst-osci-2.82"="5rwmmzwp7jwfv40cg66gi0n75mlvn851";
 "pst-osci.doc-2.82"="nmgp00q4xifasnxnckw04kmd8qxxdd7k";
-"pst-ovl-0.07a"="g6sni4112p1kyribk7p6rv1mwwjb7xb4";
-"pst-ovl.doc-0.07a"="n23m8iv4lv4009x9l6sa177jyfjkp0pi";
+"pst-ovl-0.07b"="9p419xds14qnxz308fk8872vrc25gfy0";
+"pst-ovl.doc-0.07b"="sqfllifxpng72ycciw8y46wqx74lfcq1";
 "pst-pad-0.3b"="x3762zh9c5shzl02r9ssykd2a0rqpk7k";
 "pst-pad.doc-0.3b"="ymjpw81y22mbmf62735kqi80yhylvazg";
 "pst-pad.source-0.3b"="7cqccc3ps8qdhbykgc6yyygjds46p5av";
@@ -7940,8 +8142,8 @@
 "pst-poly.doc-1.63"="gq61g8l852k4m8n69kzqdx1sii0jr41n";
 "pst-pulley-0.02"="d7y0xspcv55vq4xhhpwhl9a3q33fpyga";
 "pst-pulley.doc-0.02"="6g5jnm4i5lrxqb45mn60g7nlc9xq13cg";
-"pst-qtree-2019"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
-"pst-qtree.doc-2019"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
+"pst-qtree-15878"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
+"pst-qtree.doc-15878"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
 "pst-rputover-1.0"="39c8h8wq8rcby34dnpq8f9d87zlfd0p8";
 "pst-rputover.doc-1.0"="apm70lr0xn7hgj16acpcll9wd3jcxqbn";
 "pst-rubans-1.2"="akzd33l39b9gh53hkqzaznb6j6rrbif5";
@@ -7966,18 +8168,16 @@
 "pst-spectra.doc-0.91"="sc2zbs93vbzp4jqgwwxh7pga2ngrwxnz";
 "pst-spinner-1.02"="c25gya6x35s07ki87x3f8jm85a0hsdqb";
 "pst-spinner.doc-1.02"="b15zdksxzk1dr3rmgi5qfkqwq131qnv2";
-"pst-spirograph-0.41"="2mkxc7vrmv5xa7aggmpc27wss9gw8zzr";
-"pst-spirograph.doc-0.41"="4q5pbwicrqkpmfr7zwa0ykmfy32y4iks";
 "pst-stru-0.13"="9xzgq9yp4wh3939dxg4wvkzsvq8za3vw";
 "pst-stru.doc-0.13"="pm4nj6rck0s7gjhkfjg3i4xa8qd1dihi";
-"pst-support.doc-2019"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
+"pst-support.doc-15878"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
 "pst-text-1.02"="sn30bjp59awsdx31kii7a429wjin0zp0";
 "pst-text.doc-1.02"="3v66zv4kjb8rh3fpbx2wzvg1rn5iicaj";
 "pst-thick-1.0"="b2dnjagm4kkgxfjilahizzyq6mb1cx5f";
 "pst-thick.doc-1.0"="jkybjsqnnavyazal3bf4z54ldqnw1gw5";
 "pst-thick.source-1.0"="1kjjkqgz4fwghaialrqvgnfq57vl13k5";
-"pst-tools-0.09b"="m4bc24jncfjd32n3b4zmkba3nkk8a0az";
-"pst-tools.doc-0.09b"="5jh948lwnk951jpa6wwgkqc6hx49l0q0";
+"pst-tools-0.10"="459qcdqz4aaidc51k1yb4d2avbi2s2pl";
+"pst-tools.doc-0.10"="s3qcq12jq563x97qk9b3adv9wqra5h69";
 "pst-tree-1.13"="l1m6c66jv4v02n4mjv9ddgh84qbyllqw";
 "pst-tree.doc-1.13"="jgcx73vrpiwvlq9rg1iszm57bj1qsr73";
 "pst-turtle-0.02"="m4g2qpqvzb71ax94sqcvzzpjzyxs4bzb";
@@ -7996,13 +8196,10 @@
 "pst-venn.doc-0.01"="vfdaqpl5fr5nh08a4cg4gkl55nxwv5gl";
 "pst-vowel-1.0"="aq45bsp7d1rdflxvs1aga0kqmn9b3zd8";
 "pst-vowel.doc-1.0"="zm075772viyjnm1akx6ixk61gb33nq8m";
-"pst-vue3d-1.24"="kdnn3bssm9xrfr42ni1n8kg04r899624";
-"pst-vue3d.doc-1.24"="qg9v649wjxjfrp14f3ac4shp5nfad89m";
-"pst-vue3d.source-1.24"="zxk7phlcdh2g1x9l4mps6ncwxc8ydryi";
-"pst2pdf-0.18"="rafm5fyifzzz21336l2yvnqs1ynrcrh4";
-"pst2pdf.doc-0.18"="hpjd3gxsk0lmajf2fpac7ykhrznzsily";
-"pstricks-2.97"="l6vcl5rj0qw82chj5hks3a7xilmsvphw";
-"pstricks.doc-2.97"="qk796lx5myp7c5p8s6wv9pby9pb67v3h";
+"pst2pdf-0.20"="0j8jdmyyglah1883y8m84c7qxymc8g1f";
+"pst2pdf.doc-0.20"="vl6kda2lb2nhwhp1cfbgn4zhbfi1gz5s";
+"pstricks-3.01"="h54d30fd4fqp8xsq6x0izkbs1ip1qly6";
+"pstricks.doc-3.01"="kswpg5w2v9cqfgjbzslk8dys2kzjm33g";
 "pstricks-add-3.89a"="96y4vwq9y08a0ydk06v808ixsikg0hb6";
 "pstricks-add.doc-3.89a"="kaw6qyrdi6ci1hr7vpfsbgfzqjrvmldv";
 "pstricks_calcnotes.doc-1.2"="4q48najl98h9lb1866avfw6c5ir7p4bj";
@@ -8020,13 +8217,13 @@
 "IEEEtran.doc-1.8b"="ms8cp0i51knhhbp2fckkmr2cwlvyx4b0";
 "aastex-6.3"="y4ki003dd755ybn25iwr9fzh8cn8jinj";
 "aastex.doc-6.3"="x8lg7m1398a7fdh30yh1iaj9vpdv1419";
-"abnt-2019"="wd7i0nxrx28rasb5azskxcqvvr2dll47";
-"abnt.doc-2019"="r89hwrrbpwxd45iavd8lr8hfphcrh1l2";
+"abnt-55471"="gc6hz7sglzshmq5dlm0qzgg10vn3pncs";
+"abnt.doc-55471"="jk11kdy4pqbqxhscx0bqkb46r0z15lh0";
 "abntex2-1.9.7"="zxahr9mb1vq0yfcj35znym4qx2jh4p53";
 "abntex2.doc-1.9.7"="hs3g3ji0knhsh0gmjcz49dvc547wh0cc";
-"acmart-1.70"="1zz9697iczfdiwdh37hx70kvsnvy786a";
-"acmart.doc-1.70"="q0f3xng9vqv1gb7jk8i6c6j7iam9m2b6";
-"acmart.source-1.70"="qrc4gy68w0zkcs904bdabgn7hcxrmi84";
+"acmart-1.73"="lsfvbxkyv94q5y4x0zzbqv75kng4fqsp";
+"acmart.doc-1.73"="lbxb60z3bn81dz5h3zzhlyj0wwzsdh5h";
+"acmart.source-1.73"="2q9y39hzxslkk3kmyjsmrxzw6q29ww3d";
 "acmconf-1.3"="9wid04wqz4l1xisvlng52xabw9m0p1k5";
 "acmconf.doc-1.3"="66xjqp6a86iq2908p77cz57651av2i23";
 "acmconf.source-1.3"="7ssw68bvkxxixxmf9ygp7szxmc59fvik";
@@ -8048,10 +8245,12 @@
 "aiaa.source-3.6"="wllq5qv20bc4f7m098yn1f5slyrdxazz";
 "ametsoc-4.3.2"="4v5ya7z7mbbxqxkjp5madwpn3m456gpp";
 "ametsoc.doc-4.3.2"="nzphxaasrrgxhiwixz6k6qikbg6z45gi";
-"anufinalexam.doc-2019"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
-"aomart-1.21"="szg9dma84y66pdh8p32kq36fxhnn0lzs";
-"aomart.doc-1.21"="00i2qqh5hlfpiqqp75ri023wlvsj4r9z";
-"aomart.source-1.21"="xf9126s1w02lxbllbzblzd405qg0ydsy";
+"anonymous-acm-1.0"="h141yi757rprhkm316naq870szcpnm2j";
+"anonymous-acm.doc-1.0"="g57swlg0lqfibb3zp09jbx71fkbx6mh5";
+"anufinalexam.doc-26053"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
+"aomart-1.24"="y442d2i6ss4zm83pcmg35lh2yf628z94";
+"aomart.doc-1.24"="s48yvb9pilz11n6ljsxsjf1iw4jmfblp";
+"aomart.source-1.24"="6435dkc918aiq8g3lnvj0a58c26vll8k";
 "apa-1.3.4"="g7ywm2jp0b70qdwmm59m4rr8glx3wc66";
 "apa.doc-1.3.4"="vjg7gj1wi6mb9b1qyfsznhgcbvivdn1c";
 "apa6-2.34"="gq1rkj5hq03b1sp0a1gikw2vbi4a1z7l";
@@ -8060,11 +8259,11 @@
 "apa6e-0.3"="0bilb5nbgi83kp1w7d1kci1akg36nv1z";
 "apa6e.doc-0.3"="p7ir3azb68s9pms0gpa968gffr2qr0xw";
 "apa6e.source-0.3"="baqh9z3mlxqy4kklhnb9a66gj36lnhxk";
-"apa7-1.04"="ya377hz6phq6nrhshhvfl4q3789z95yi";
-"apa7.doc-1.04"="i567d7p3kfl8h1lgzvry9zg1qzzkpslr";
-"apa7.source-1.04"="vxzyy1zhh0409q64dnvf0ns8kdfgxyf2";
-"arsclassica-2019"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
-"arsclassica.doc-2019"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
+"apa7-2.03"="vb967a62gll747hcwyw65xadzhg3fz04";
+"apa7.doc-2.03"="iqrp4anw12z05975w72dgb3r0sv2mdba";
+"apa7.source-2.03"="qrc2vv7c9faaql9w9g99484cadzxw7qa";
+"arsclassica-45656"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
+"arsclassica.doc-45656"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
 "articleingud-0.3"="45hkl8j1hxdww0igp85iifrdz4g4h18l";
 "articleingud.doc-0.3"="00653rqfzjv2f4wl77vznk2p1pi6f2fd";
 "articleingud.source-0.3"="24wwfplzs8477i5kl1ks5fvkd8w1lv76";
@@ -8072,12 +8271,12 @@
 "asaetr.doc-1.0a"="8d1x4sq5xpgc1kb5ys4dp02i2r1p3ha1";
 "ascelike-2.3"="b7ff1cj0jmbdr6wrvcqr37byak164fy3";
 "ascelike.doc-2.3"="sqynsfl8cm40n0r7v2a7qlhxx6zny623";
-"asmeconf-1.15"="r5xkhp1hiifmkpr5c1w7k7y3adx76c2q";
-"asmeconf.doc-1.15"="x09az8gqch9d65hngi191c2bvlxpd4j3";
-"asmejour-1.09"="ni1dmnhj9i33xk94v9gz28kzqiycg6bk";
-"asmejour.doc-1.09"="z8l4iwp6z1dr180xxwx2gg83n8sz2nv2";
-"aucklandthesis-2019"="gqqynyfp4l80jc7a90by84wjmn22s0br";
-"aucklandthesis.doc-2019"="mqasialmycia8nzmrc2m3d9pwf1a39r9";
+"asmeconf-1.19"="k4ha0bi87l4lncccqfx77wgdc0zx01q4";
+"asmeconf.doc-1.19"="2vdyalblmk3hk1qha8dm617iz7hph0b1";
+"asmejour-1.14"="8n4si71waf490dzy0qcbzvzw3478wahx";
+"asmejour.doc-1.14"="jfv2azrl1pf2wpibhycfp0q1rf388v3g";
+"aucklandthesis-51323"="gqqynyfp4l80jc7a90by84wjmn22s0br";
+"aucklandthesis.doc-51323"="mqasialmycia8nzmrc2m3d9pwf1a39r9";
 "bangorcsthesis-1.5.3"="h92q93ga8029hvd79hywxq73kaszm5a1";
 "bangorcsthesis.doc-1.5.3"="ax2czj8r6am7m2r2inrlsvnfl2rmja4h";
 "bangorcsthesis.source-1.5.3"="hc67sbajczfjxpwkvpl38ss355pziwg2";
@@ -8090,30 +8289,30 @@
 "beamer-FUBerlin.doc-0.02b"="k09b82znxfk7gi7cxpkffs65v3q5siph";
 "beamer-verona-0.2"="jgqm1267x276xsdikvc586h946xfzhcv";
 "beamer-verona.doc-0.2"="skxiv6nxw4vk3c7ppl2bripmlkada52x";
-"beilstein-2.0"="1lpc46w3g3bs4bgn66bg5bl5nzbcqsqx";
-"beilstein.doc-2.0"="2c6l8nqzk8cgzv4hw0l3n5jb538mhjsk";
-"beilstein.source-2.0"="2j7r772lybfdsqw809s86q4vwrblggj6";
+"beilstein-2.1"="05srjjkprhg26zyi8i0wxdazsi1ldayz";
+"beilstein.doc-2.1"="8w2iba8h9nmi7jl4wbpw5jd008x2nlrh";
+"beilstein.source-2.1"="i5zvzazc6zlkl0pyqvjqi2br5k6j1ahc";
 "bgteubner-2.11"="kjykk4kfr7iig49zpd26kga2p4kki4gq";
 "bgteubner.doc-2.11"="wi654djqdqp0hff6cshv1hfkhmgcacs7";
 "bgteubner.source-2.11"="jhqhmr6bb4ldma4dscl9l4csan3qrv6q";
-"br-lex-2019"="ipw7gwrsdv691vnv257w9i15f465irnv";
-"br-lex.doc-2019"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
-"brandeis-dissertation-3.0"="bxql4xddw1kcp4jkm8sq9rj0524ikkj2";
-"brandeis-dissertation.doc-3.0"="cjvkrg5lmpkn698yawflfq0z2lpix30k";
-"brandeis-dissertation.source-3.0"="6g1d6w74w02lk2hr8yzgpd0656c3mgi0";
+"br-lex-44939"="ipw7gwrsdv691vnv257w9i15f465irnv";
+"br-lex.doc-44939"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
+"brandeis-dissertation-3.11"="x6gg26rlwcvaaqpwrp0vjm0abg82aa7z";
+"brandeis-dissertation.doc-3.11"="y0fh6a9qjcfwvn4pa4rxiz904890vzap";
+"brandeis-dissertation.source-3.11"="20gj99chfclhsr997abdvmg7v79cwmix";
 "brandeis-problemset-0.5.5"="x7ivk7r7qvi08kb7jmdajym04hxyhzk8";
 "brandeis-problemset.doc-0.5.5"="zsa3r4xc2kfp00r3jj7mfzdxaphj7505";
-"brandeis-thesis-1.0"="q8pgwqm12272pv5i4wpy2nmdnndksgyi";
-"brandeis-thesis.doc-1.0"="wcdwhg8lng175v4xyg0dsfqdid5s7bi9";
-"brandeis-thesis.source-1.0"="sy1wpmdvp5snrvc0ffn0qm4c5yb77hjk";
+"brandeis-thesis-3.1"="4amlxbgx7ajpqx9lhyiq19ha6cijz6yz";
+"brandeis-thesis.doc-3.1"="ycmbg34x1raw7l3z5f90z37p7i50yigz";
+"brandeis-thesis.source-3.1"="j7b85x32ikjdca33gx4iqrnjxg4dhbbz";
 "cascadilla-1.8.2"="03g1znhjzcvxvclzwb33lrm6703j1xxw";
 "cascadilla.doc-1.8.2"="njy3lpaw3lch5x3p1mm07zis50z38ps1";
 "cesenaexam-0.2"="0n58an00m7xywgjxd4mk4jvr3wkla1sg";
 "cesenaexam.doc-0.2"="1cq9yg0f3j9s40jrkzgxnpk2ya88jgiv";
 "cesenaexam.source-0.2"="213fs3j3x9f0330jy9hfxmq3dhpl1lgf";
-"chem-journal-2019"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
-"chs-physics-report-2019"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
-"chs-physics-report.doc-2019"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
+"chem-journal-15878"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
+"chs-physics-report-54512"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
+"chs-physics-report.doc-54512"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
 "cje-1.06"="s4l2hjnfw2s0l19hbzf5249igprbhw7a";
 "cje.doc-1.06"="hyw2lcxsbm0v95l1161v2sh2bprsg421";
 "classicthesis-4.6"="1mdqrwxmh218ni62g9bfgq7v1jx20ilc";
@@ -8125,36 +8324,36 @@
 "confproc-0.8"="6anwdx64g1yfr109jrnqfml6bqj8l98a";
 "confproc.doc-0.8"="qczsp87rylnxkd8nsi14kjahnkh57i6m";
 "confproc.source-0.8"="f8yczf6glbb74hvfga786qvamllnza9c";
-"cquthesis-1.40"="7g1w96hbvmqyq1g80w6s4mhsccwh2cqp";
-"cquthesis.doc-1.40"="9brf71cxxkn7dczvmqafg59lyf4y0qk7";
-"cquthesis.source-1.40"="hs0h3na9h7nf6rgm2vs0zv9ppadppj8z";
+"cquthesis-1.50"="6fxwcf7pk35b3brdybcdrj8hds82xyry";
+"cquthesis.doc-1.50"="vw5y17h64nsd337wyaciprxdhfm55sgh";
+"cquthesis.source-1.50"="yxsgl39sk05rh5sz149n17nmilbgkhcf";
 "dccpaper-2.0"="h1yrq5symnq9gbgkf2zv4xz1sj7f05xp";
 "dccpaper.doc-2.0"="ih4ds4wmlrfbny1l949bbq90l2l8b565";
 "dccpaper.source-2.0"="vqp1lk8ppwa9n3n8va90xkkibxihid5q";
 "dithesis-0.2"="y0xrpjxnblvgahdwyfhm2hag5hss6qzv";
 "dithesis.doc-0.2"="b7ka35ywbrn2m3a6b8cyzyvajwxyvdkl";
-"ebook-2019"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
-"ebook.doc-2019"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
+"ebook-29466"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
+"ebook.doc-29466"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
 "ebsthesis-1.0"="3f8i1srqx6hh10rrjshsispqr3wdhm0m";
 "ebsthesis.doc-1.0"="wic4wfgihf2yyk40937hr2g59933cyy5";
 "ebsthesis.source-1.0"="q1lhixwgkc6zis1sgsnwzsd0p7spp0zz";
 "ecothesis.doc-1.2"="92jxgiddwpj5g62zwg50wm681h2z1ixf";
-"ejpecp-1.7"="bgshb47fig2mcjywnq8cx6k867imsd6x";
-"ejpecp.doc-1.7"="24lb4caf4yk76fpxvvw5zl18yq6kc94r";
-"ejpecp.source-1.7"="z61hdi9di464ywfw1s80wa5acy90ymy1";
+"ejpecp-1.8.3"="5xcyqpnlhm97h4fhws0995jfsxdivdll";
+"ejpecp.doc-1.8.3"="fh290208ain7ncl4gnqglb0zxg691pkd";
+"ejpecp.source-1.8.3"="wr82s5hppg2mbb29ij8sgbw2b6zg2730";
 "ekaia-1.06"="r87yx6q2rzrcp150gny82070fk0a8a9i";
 "ekaia.doc-1.06"="lnjkk17sysdnj4l9vpx0qwkr1w185iq7";
 "ekaia.source-1.06"="jvjhgfg1hvj60lcwa7k34zfl9v17bw5h";
 "elbioimp-1.2"="wp7pv78ijjgb48majhg8pjqcmkq29jbl";
 "elbioimp.doc-1.2"="0515vzg1miiljb8grlb8idsb2y9gfcdc";
 "elbioimp.source-1.2"="lzbvgi6d0w8wwf052v6a1gzz2qfvpkn4";
-"els-cas-templates-2.0"="yga1wxc0q2s077qvk2hyhnqwxzd4acxh";
-"els-cas-templates.doc-2.0"="lh7a4nhklkk42a0gwqj7sw463gl6qwmq";
+"els-cas-templates-2.1"="128x9ixs3cpv1nh2pwx2kp6bhn64kxpw";
+"els-cas-templates.doc-2.1"="188ypaihn3x9p3951vybzl0i725j22nd";
 "elsarticle-3.2"="wybpbhzmw2a1h76ik1m7dafh0z83537z";
 "elsarticle.doc-3.2"="1dpvggnxxpyvg331xsgnwnyzrj9sw2hm";
 "elsarticle.source-3.2"="0w53y3wskl6iarnpmdk9c154dp63pnky";
-"elteikthesis-2.0"="5c5y98vwknhynzyyx94hi7s5jl87k86c";
-"elteikthesis.doc-2.0"="brxdx2p6ipx28wf3jm3asn3nc27870kk";
+"elteikthesis-2.1"="mivcwfrlyxmxsrc94vg0ji7sgl1c5a33";
+"elteikthesis.doc-2.1"="20a9fq7yb4xyfnk5x4c1isd3afc4s69p";
 "emisa-2.2.0"="5ap5gagakjpx889lpiz1knpd3z8fcff3";
 "emisa.doc-2.2.0"="x1qp5j19svjw388qkmccwlh6by9r5a1r";
 "emisa.source-2.2.0"="i3zqwl03w9ff9caf1nafflv8a3gvbdjm";
@@ -8176,51 +8375,54 @@
 "fcltxdoc-1.0"="gr5vxdra4lcsljhm591xs1b6z4ci2ddc";
 "fcltxdoc.doc-1.0"="mibli0mi846flzm0id9z0cr8x90rivgw";
 "fcltxdoc.source-1.0"="yn567l5sbbrrdbcmiqdpyq8kq5y1ni1v";
-"fei-4.7"="zcz43y8cv9xsyszz5r9wsd4qw6q4zanx";
-"fei.doc-4.7"="4zsz9sgj2c0grii2dxxcr324wfcbq178";
-"fei.source-4.7"="q19169lgprz5wmd24p4w2h5k5nwppigz";
+"fei-4.10.1"="kmpplq5f0kjyxgpm0qdv8as1dlvn7q56";
+"fei.doc-4.10.1"="f9mk8z9y3fcr0w0c84g0d9k4wm8c9jqa";
+"fei.source-4.10.1"="ffcrmng6846ww2z01hr9bb25qmc0qsqa";
 "ftc-notebook-1.1"="rmxxga464shdkh4v9c4kk1ihxy9vsl49";
 "ftc-notebook.doc-1.1"="l3a2q406sj7pvfhgw2zsxfyk5qyq0dsp";
 "gaceta-1.06"="gkwy4pkpzmykxm2rqldpjfh5q5m87ca1";
 "gaceta.doc-1.06"="zbxs7kz33kbvx4g5zykh33zn2g9z2cp1";
-"gammas-1.0"="m0ncmil16k09j9k3rq1fl1rfsxr7fmcj";
-"gammas.doc-1.0"="5v48c5pxafvidhkkz0xmfbbgzkavhlrw";
+"gammas-1.1"="40731ddy53sm4w57jw24xq0hj6qklqsi";
+"gammas.doc-1.1"="vfqbbxpql32gkxjspmrqkny7rsxw7hqg";
 "gatech-thesis-1.8"="q85fv2ikl3ikw9ja5j7sgygyi6v1x2kp";
 "gatech-thesis.doc-1.8"="q97libi0drg6plfjps8p9fd7fxbxg34n";
-"gradstudentresume-2019"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
-"gradstudentresume.doc-2019"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
+"gradstudentresume-38832"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
+"gradstudentresume.doc-38832"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
 "grant-0.0.3"="a9bjc5a9i24mymq11dsw78gck3pdb16n";
 "grant.doc-0.0.3"="39g10k0rwfx678fnc8vx6j77wvn8f5c0";
 "grant.source-0.0.3"="4cfhdbqmffiypcs88iij2fxc5lmylxfk";
 "gsemthesis-0.9.4"="jhw29zl7f93xh641ws6ydqh62cv1kbbj";
 "gsemthesis.doc-0.9.4"="3nw8q8pxsfdbd4gmly0bg8ig15ccpy1q";
 "gsemthesis.source-0.9.4"="w1k5h97pgahsar4r1sbg6i2dj4npr6y0";
-"gzt-0.98"="1ji92870bm9rkc0llvmhyqw8brxb9kwl";
-"gzt.doc-0.98"="zip7fdsd96fjgmsyaj43b4zd5i5vw331";
-"gzt.source-0.98"="0jm3vmpy2z28fzk1q5cnw4d3ga13czj8";
+"gzt-1.0.0"="6iwgvmmg791rcw7178a96mzxbif0qdib";
+"gzt.doc-1.0.0"="8fdy0hva9v3f8gji19bf6ixadbk2mfq3";
+"gzt.source-1.0.0"="rmx7xw85v4ha7d67zkba3c33xljcs0y0";
 "h2020proposal-1.0"="sdm13gcvhga8q32ai16mnz2rfsnwb7bz";
 "h2020proposal.doc-1.0"="8nsjvgzyw9137ncq9v48dhlncb10snyn";
-"hagenberg-thesis-2019"="173nwqf3ckrpf7l9clx68sbjv2iamqff";
-"hagenberg-thesis.doc-2019"="8q67qw9cj4lrbxs585ymw56q029s5apn";
+"hagenberg-thesis-51150"="173nwqf3ckrpf7l9clx68sbjv2iamqff";
+"hagenberg-thesis.doc-51150"="8q67qw9cj4lrbxs585ymw56q029s5apn";
 "har2nat-1.0"="yn5d36r1lnx5xhrk46laka9crikcd5yl";
 "har2nat.doc-1.0"="8gh35w4a8j117z6dzy9p7mmbxsh789zf";
-"hecthese-1.3.2"="w882kxwpk80lrxl0bnqkp7mz8zdh47bh";
-"hecthese.doc-1.3.2"="fsrvd79g6588zisibmjzb137b4b11xyg";
-"hecthese.source-1.3.2"="d36nipvwmff2napcy14lgciw50061aw0";
-"hep-paper-1.1"="c1nncq2hhlxyqxi3lmzxlfsl56055vbw";
-"hep-paper.doc-1.1"="389fq3rmlk4cfz23mwpdp86b1z73f2fg";
-"hep-paper.source-1.1"="0lay616n9djpqhi5xi2yqp0wdajf2zyq";
+"hecthese-1.4"="8ipql2rwzwaaqc9az5syb4ny89c75d3z";
+"hecthese.doc-1.4"="aily0d12b24n16ah6d4chb96vvh2ppwb";
+"hecthese.source-1.4"="2m08qjacg4y5rvk16pfyyya1yiik7sry";
+"hep-paper-1.5"="7q1ih63bk64988xpgrl8xlml4ff4anrv";
+"hep-paper.doc-1.5"="j18jvw065f86asbhxx058qjcp2z90xs7";
+"hep-paper.source-1.5"="7z14d308z4n26i160vdxssy0186l5iy2";
 "hithesis-2.0.11"="drsv1qaj1wnzsnl1kqzq5k8c4g00xi0m";
 "hithesis.doc-2.0.11"="anqnh1ra6l9fhi0xmgks1yj46zp58irp";
 "hithesis.source-2.0.11"="a7nrjypxwi5m6l49paqc182jz5yh96f1";
-"hitszthesis-2.1"="zf5r34bsbmdr1fbvpyj2hc4b4z7n3lhj";
-"hitszthesis.doc-2.1"="lpnnwzsg7bwrdcskhbhlhaihssb1lbbm";
-"hitszthesis.source-2.1"="b8i11x2kkrjpfliq0b8jxr8qgpyl4m8a";
-"hobete-2019"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
-"hobete.doc-2019"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
-"hu-berlin-bundle-1.0.4"="m39x7czjhkqd5yliw1kj3iwnpyqmj5jp";
-"hu-berlin-bundle.doc-1.0.4"="rlza70v4mslnyiwv1xz8gpk0sdlfwivq";
-"hu-berlin-bundle.source-1.0.4"="256nqypzyp0i5r1srs94y6q1qgpxgm3l";
+"hitszbeamer-1.0.0"="d0wbfsacf7bddq6h4hk1d9pgm108bsdh";
+"hitszbeamer.doc-1.0.0"="pnv5g2xwjnlb9v1h9a2q1iqpbyi6rjb3";
+"hitszbeamer.source-1.0.0"="7hfpypq95z6cj5jxvmhnmwsclw6qmvmk";
+"hitszthesis-3.2"="q9kd5k3yfv9wxzwawqm73fvpxb9q1nbx";
+"hitszthesis.doc-3.2"="hna1361zmxcxv579whhkidgq3ydqnzqn";
+"hitszthesis.source-3.2"="wxvimwcr2wjmqr4f53pkz9mfwjabx25h";
+"hobete-27036"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
+"hobete.doc-27036"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
+"hu-berlin-bundle-1.0.5"="f2xk6c0s4ikp7qizbh0dmqpaqs6jnli1";
+"hu-berlin-bundle.doc-1.0.5"="b39mqpgdp5rj773x2cm449cs0pyp4jkc";
+"hu-berlin-bundle.source-1.0.5"="35qaqv6m0dshlq3kzf06k1m2qazffnqn";
 "hustthesis-1.4"="f7wr0296h2a3i6vahvrxysl7dr03sihs";
 "hustthesis.doc-1.4"="jknn279nybf7j78y4s99abb6znbkif9w";
 "hustthesis.source-1.4"="j828cim80xhwzjvn6drhy5qzr8sx87w2";
@@ -8234,22 +8436,22 @@
 "ijmart.source-1.7"="y5wyzz6jr5lp0syjywlvdpb3s02cb7ks";
 "ijsra-1.1"="zj3pf34flbmdy98fzmshxdwhsm9gypb3";
 "ijsra.doc-1.1"="pmw844flk212zpdvcp026c63snmasbsf";
-"imac-2019"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
-"imac.doc-2019"="5qid3adma0486l4li4mmrgxl9lykzfz3";
+"imac-17347"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
+"imac.doc-17347"="5qid3adma0486l4li4mmrgxl9lykzfz3";
 "imtekda-1.7"="rm2w2mx8mxzxjwgsw6gk0i64c2wb0yxa";
 "imtekda.doc-1.7"="m50cfbqcjz4ylda5myzz4idaqfv40nay";
 "imtekda.source-1.7"="wrx5ndn59k0rlz19iq8r4fzb4yly9hr2";
 "inkpaper-1.0"="iabllzkp6m8p3hvic3ajv5b3d6l511g9";
 "inkpaper.doc-1.0"="2hn02y78bnp1w2czqxfrsi2wrmpjn11w";
-"iodhbwm-1.1.1"="z0y1iynvgycqfjvkad8bwi18kdz115mc";
-"iodhbwm.doc-1.1.1"="7a1zjymxxi8mhmrmisnnrbdn240hgkpx";
+"iodhbwm-1.2.1"="ycwjxczmbhlai40smm93ydigf6hjl0la";
+"iodhbwm.doc-1.2.1"="z6g1j3bicbi3b2k8y6872airv6rna2cm";
 "iscram-1.1"="2pywqaa72mb216nmzl0w8cr74vf200cg";
 "iscram.doc-1.1"="0bd1j3dqs4kgsdaag5wkv7n9zci8qgda";
 "jacow-2.4"="z7ag0qa8hzbihrqij6dha0hm4nkp14vp";
 "jacow.doc-2.4"="c08j0j2lc0awnk2l9bcx022wcxzswala";
-"jmlr-1.26"="0dwhgsxcysh4bfsl1gh1srgm87rfw1xv";
-"jmlr.doc-1.26"="j7pr8rpwjvcf2yssa1kwqij6vw094jwc";
-"jmlr.source-1.26"="a3jjxbjrw1nzny0afpwnfqkliqg9srpa";
+"jmlr-1.28"="d4dsidg0avjbflvc2gdx6rr48bhrbw51";
+"jmlr.doc-1.28"="w52w3cf4n9dbchs8br6xlfnwjyrjbm6a";
+"jmlr.source-1.28"="2q4bm66ql7grambkhcjsy7qifk1hpz98";
 "jnuexam-0.7"="jklladlbjlbr3vc1dyqvzggr87lgwqp1";
 "jnuexam.doc-0.7"="d4mrhs90v6j5pqab9hp86i1dfydvw6dn";
 "jpsj-1.2.2"="xpasajag9rdz7nr5xk7k40g181lyc45x";
@@ -8257,22 +8459,25 @@
 "kdgdocs-1.0"="i0v1kfpnhn5210jj5vd2pyi9s9h1vhmr";
 "kdgdocs.doc-1.0"="0gfi3rfrsjaw25g7mxk7mai8mxy968m1";
 "kdgdocs.source-1.0"="dcafx36f7id055kdwvfsci6wq2ya50c8";
-"kluwer-2019"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
-"kluwer.doc-2019"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
-"kluwer.source-2019"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
+"kluwer-54074"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
+"kluwer.doc-54074"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
+"kluwer.source-54074"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
 "ksp-thesis-1.0.2"="244sggimcsxbqkh6g9nndxvdvr6agqvv";
 "ksp-thesis.doc-1.0.2"="jngi4gfc4r6dkp6xggyg2s05zj38s1vz";
 "ku-template-0.02"="9b1vsd98aqc0b5s33r3z6ayj7ph0lcj3";
 "ku-template.doc-0.02"="067zqymqvljm9ras3a48glc0clfkfwkk";
-"langsci-2019"="2wdzpxs9p7xkj5ka0hafr9831cifyp1p";
-"langsci.doc-2019"="iafasc98czzn1pkk7q2w2iqrglxzflhc";
-"limecv-0.1.7"="8c6i2a0n5xmyb3swsndk7vvjqf2j4ayg";
-"limecv.doc-0.1.7"="c6mj9fyrr6m53xs2fixsaxcaywdj7nb7";
-"limecv.source-0.1.7"="cvvvclgxbcdiscdsm19pa4qbb8b2h2vx";
-"lion-msc-0.28"="anbklyjjiy9ssy1iy7sggx6mfc1gak9q";
-"lion-msc.doc-0.28"="knq0z2pjiwchnwja3jnxbsmxhyyppmyn";
-"llncsconf-1.0.0"="w9rc61m4yijyf6mb4h78xhr0h7mf3p9g";
-"llncsconf.doc-1.0.0"="8p4z5cm4pp2f3iqmjnhqb8n2fcgx8gxz";
+"langsci-54393"="jzin4qndf693v0bf5np4d58q3vs3j0px";
+"langsci.doc-54393"="4zc3zzyfg8mn8yqvcwlbd7lgh2avxj8b";
+"langsci-avm-0.2.1"="asl3mj4jznkw9zx0qbh73jxxgilkc1s7";
+"langsci-avm.doc-0.2.1"="l5p3s2falcipv9i8zlq3ycsrz6awnf77";
+"langsci-avm.source-0.2.1"="g4dk1j1bcr9nfdq5y719hxaqjh4qq3ph";
+"limecv-0.1.8"="glh4vcp98llwl6ll250wrgkxcw3pa9jb";
+"limecv.doc-0.1.8"="ipr8igc8h0bqm6i884w4nbprhsx5fr9k";
+"limecv.source-0.1.8"="zi78lvpf0qylhawynlzvhdcyq8bx7sg4";
+"lion-msc-0.30"="pyi5ib4528wkrj6hz3w2yv8n7fyjrb9k";
+"lion-msc.doc-0.30"="z6i11awv7drrf7absxkichwc0crzc9c6";
+"llncsconf-1.1.0"="jjhv89zzq8gyc275vj2r8k2slgyh94r4";
+"llncsconf.doc-1.1.0"="pfh5rgaqmiz589sim212gxq3bh1b7hfx";
 "lni-1.6"="0g5d0rs62yhy5wrnhm8csxclh8wa3k5v";
 "lni.doc-1.6"="pp39jjz13zknhmm13nsb6y8di2giwhcp";
 "lni.source-1.6"="k8yq69zrfxidcqycqh6id2s7xz07ggrj";
@@ -8291,11 +8496,11 @@
 "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";
+"mlacls-0.8"="73ji41jrjrnl1xcj19b1y9l12d7582p6";
+"mlacls.doc-0.8"="699kvdgq269b735kqd1nv1n9qakplkbx";
+"mlacls.source-0.8"="fmw8xafidbn60xg7qsai600z103ah7gb";
+"mnras-3.1"="782c0f5jafxl0xys89wp8f0pw00b7rh5";
+"mnras.doc-3.1"="cb0rhnjpawgc9i4hamgriy746xx4v42g";
 "modeles-factures-belges-assocs-1.0.1"="yildlnjq5szbsvis65ph02bvvzydgldv";
 "modeles-factures-belges-assocs.doc-1.0.1"="ni0ac0babnajp9dlxqgdvazmrx8aixaa";
 "msu-thesis-2.8"="0d0607nv2nq2s2cw64pmkmkhkmnglv8k";
@@ -8303,14 +8508,14 @@
 "mucproc-1.02"="d1xzqp0nvkk4zdf1zcrhngvlc0q412gp";
 "mucproc.doc-1.02"="zpky6iahkhynyv72lg94ankg9wn7gwd7";
 "mucproc.source-1.02"="pxysp457kvf603nz6lwaj55cmlc41n0m";
-"mugsthesis-2019"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
-"mugsthesis.doc-2019"="xqm757zbzxi9ag50dd22274bk5n1897h";
-"mugsthesis.source-2019"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
+"mugsthesis-34878"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
+"mugsthesis.doc-34878"="xqm757zbzxi9ag50dd22274bk5n1897h";
+"mugsthesis.source-34878"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
 "musuos-1.1d"="v0bx55bnw5lcpq1w0zxfkf1hlxahxj0x";
 "musuos.doc-1.1d"="iqviyy26inh9bw04maby457bvxip69xw";
 "musuos.source-1.1d"="rx3zcmp2mw88f3jxa0igajz4dzvx135m";
-"muthesis-2019"="w6llbyp3d615mpjazf9i746acl0hqvpb";
-"muthesis.doc-2019"="776dszqb0k9nffhnln310dg20n4z0dlr";
+"muthesis-23861"="w6llbyp3d615mpjazf9i746acl0hqvpb";
+"muthesis.doc-23861"="776dszqb0k9nffhnln310dg20n4z0dlr";
 "mynsfc-1.01"="j3jb9xyv9javnbk9r6fb11ygnd9ygpfx";
 "mynsfc.doc-1.01"="5zlf94gdmkxg37zdwq04w4pzfgransf1";
 "mynsfc.source-1.01"="zzmxbw2xfk91lv6isc6raqnqmvk4da6x";
@@ -8322,12 +8527,12 @@
 "nddiss-3.2017.2"="gsqqnmrgc27i78c6s4y1zy7i5yi66yix";
 "nddiss.doc-3.2017.2"="p28y66qyk1zkhmp6f11rkidfjmvpnlgx";
 "nddiss.source-3.2017.2"="7kbka2v5nsdg4wfrv69zsx92rrlax0zw";
-"ndsu-thesis-2019"="l4dsamss5kpl272pbmj720jc6zlb4lij";
-"ndsu-thesis.doc-2019"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
-"nih-2019"="cv6rcwrnq8rpwmmxva32233isckys2md";
-"nih.doc-2019"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
-"nihbiosketch-2019"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
-"nihbiosketch.doc-2019"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
+"ndsu-thesis-46639"="l4dsamss5kpl272pbmj720jc6zlb4lij";
+"ndsu-thesis.doc-46639"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
+"nih-15878"="cv6rcwrnq8rpwmmxva32233isckys2md";
+"nih.doc-15878"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
+"nihbiosketch-54191"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
+"nihbiosketch.doc-54191"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
 "nostarch-1.3"="5ir7wwqflr7ac9wdz3qq50232lrxk79r";
 "nostarch.doc-1.3"="l4v9sg6lhii6m7z83ap9fghjkzhc1d6k";
 "nostarch.source-1.3"="sn4i3aqmh4r4yfj1dq5ipqyy4424kns6";
@@ -8336,13 +8541,15 @@
 "nrc-2.01a"="pwgmkqwj9nh6c5ibhgz0gx4fha8y4mfa";
 "nrc.doc-2.01a"="y8ga6db77g42jblz5hpvk3vhcsj6zczs";
 "nrc.source-2.01a"="14br9wclpq3sfj0gcb8q3ws6nz3ws7jw";
-"nwejm-1.0.0"="055hp4xhv3r7pim4z9dxjkjk46lviw7b";
-"nwejm.doc-1.0.0"="mfjnf514b3ydrd0993am08xm6rj2qgrm";
-"nwejm.source-1.0.0"="1h2nw801s8n1lvpr84hq7yxq09cxn89w";
+"nwejm-1.0.1"="3fknv24xiya3zh0hw1g11pdsmrj0sh2z";
+"nwejm.doc-1.0.1"="v165fvbi89psybcyn5mljypipajbjvyf";
+"nwejm.source-1.0.1"="f9ipn4afbi8gw1l0wybmjrhzr82wrk2y";
 "onrannual-1.1"="zfqaz0fi36py1y5izbphl677ny5mcrl6";
 "onrannual.doc-1.1"="hxdcfp7y4lcpc2j1d25sx3p0nga1435h";
 "opteng-1.0"="fnx8hnwcpahlkw6h2q1hbnkwa3kfr477";
 "opteng.doc-1.0"="24dy7xc4wlz223svmhsv4k05bw6b12af";
+"oup-authoring-template-1.0"="2wa7y11p3lzyq911n8ybd893mwcl2w61";
+"oup-authoring-template.doc-1.0"="lr5ckdwfcnh1if3myqirjpk4yjij25yi";
 "philosophersimprint-1.4"="cdw4cms8w2z5lvj17ayb1yg3075qfpik";
 "philosophersimprint.doc-1.4"="j5ri2kgr97c4z3mzf5kilcwjlqliibjp";
 "philosophersimprint.source-1.4"="i6h47warmh5zlaswpq62mvbc6nkl3hij";
@@ -8358,29 +8565,35 @@
 "pracjourn-0.4n"="iv8vll5az565ki1vcjpacrcb369z2g4c";
 "pracjourn.doc-0.4n"="kvvb2vn1z5phqxy9jiwgj9rgc1fpabhj";
 "pracjourn.source-0.4n"="vl8rarvx6whc3ph6pw892ldwiwzvc78x";
-"procIAGssymp-2019"="ni8xr0fdn9skkadcn1ipadbxs388vl3w";
-"procIAGssymp.doc-2019"="q662hfdf9br5pdya5676ddxqg8dnaw0r";
-"proposal-2019"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
-"proposal.doc-2019"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
-"proposal.source-2019"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
+"procIAGssymp-51771"="ni8xr0fdn9skkadcn1ipadbxs388vl3w";
+"procIAGssymp.doc-51771"="q662hfdf9br5pdya5676ddxqg8dnaw0r";
+"proposal-40538"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
+"proposal.doc-40538"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
+"proposal.source-40538"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
 "prtec-1.06"="b6kj4hm66hp9hgpvjq9mpd3a0f1a53qm";
 "prtec.doc-1.06"="g166iaq7ifcqa9qg4f3010vzv0j06j6f";
 "ptptex-0.91"="w61zrgirw5as67kcbi3yrx5pzpw7dj36";
 "ptptex.doc-0.91"="h0fi9wq2asps1aiwkvrwj93dkzzhclsy";
+"qrbill-1.02"="q9j60z5d39s257n5lxgphddh4z97gy9k";
+"qrbill.doc-1.02"="4c5j18c0xbcgfc6l5ca3w82kvgkbn6l9";
+"qrbill.source-1.02"="m0bdpkmpqaqlpmbvycw0ksh5jzfjj4av";
 "quantumarticle-5.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";
-"revtex-4.2c"="vpwxc15syh9wqslla3ymij8nxhqh2yrw";
-"revtex.doc-4.2c"="7b6n5lbrw9yl54dyfms6r6j88sg6qarf";
-"revtex.source-4.2c"="zivfnbpbl328psakbycy4k4g4mlhrgkp";
-"revtex4-4.0"="sa5r7jsw4kqqwzzxalj04wcflcawl2xs";
-"revtex4.doc-4.0"="3bki1hg7jr60q7x07w0i8d0a6zkp9qnr";
-"revtex4.source-4.0"="0pq58vkvfc191123k78zaiyy3mxk1m1h";
+"resumecls-0.4.1"="v8mlhz9k24hmg3adc5cm36q0r6w27djd";
+"resumecls.doc-0.4.1"="b7rrqz2wiqk1p6j5z98zv5fx9l0fx553";
+"resumecls.source-0.4.1"="6s1lp1r2rj7s09zn0mv0q7km5hg2k7ki";
+"revtex-4.2e"="gvycjcrz1mwk90nwvjcxh4v9ns47h86a";
+"revtex.doc-4.2e"="6yxfb4rnc1l4w5df87jy4brg6k3sl9cl";
+"revtex.source-4.2e"="a63dzy06kgm7yx7hn0mskgg5mi2rq9ng";
+"revtex4-4.0a"="rhwqsl7592dlq4v6358czl1snpniklza";
+"revtex4.doc-4.0a"="lxy7zd4psfb13cwanc27hzxn25m63g36";
+"revtex4.source-4.0a"="3k4pl2zhp02mzxg40rlyl9vn6g6hfy76";
+"revtex4-1-4.1s"="bnfssyj79dpmf2fmn6c1kdliss77fbd5";
+"revtex4-1.doc-4.1s"="wpdqka456ns2cgw4ys4gfza2kxbhxyc3";
+"revtex4-1.source-4.1s"="71g5nhzjhqx0k81kwkz2dglfgcsdvqa7";
 "rutitlepage-2.3"="66nf7llsknm6xx2m7yi8hhqp31x3l5ls";
 "rutitlepage.doc-2.3"="c01773xskk6bzvkf5yyjhzvb4b0s2vsd";
 "rutitlepage.source-2.3"="f5cb6hkdi9zw91gil1hph1ksc14l6nma";
@@ -8411,6 +8624,10 @@
 "seuthesix-1.0.1"="mh346k6d64d1bhhznzsrww66sppysbrh";
 "seuthesix.doc-1.0.1"="a2mghdhdxd7l2rsd5midfibcwsrn7n4z";
 "seuthesix.source-1.0.1"="skmm8a9h0jvgdwn0bsx9fnvwmyf94mz3";
+"shortmathj-0.5.0"="cp2lz1q0ixls61gl73gms3sph283jfbj";
+"shortmathj.doc-0.5.0"="s1q3wc3ff6aj9rfs7qylv31rv7mwriw6";
+"shtthesis-0.3.1"="jbp0jgyb9rknlpixmzsq6ch0zd9v434y";
+"shtthesis.doc-0.3.1"="nrwyvwr9jb6zb2gvhz0x5g9xj44602aw";
 "soton-0.1"="25iyg10d05ahygjbhfc6g6ydiij3isw9";
 "soton.doc-0.1"="5irwl7khvqcx0siw7wcasicpxzj94cgb";
 "sphdthesis-1.0"="i5i9nf7bky3095bhxvmmvxwca4mf7ai7";
@@ -8420,27 +8637,27 @@
 "sr-vorl-1.1"="aspxka23zd8rlwxlvjvw6wlwkg38rj66";
 "sr-vorl.doc-1.1"="y9m89lwhx9rwd1k0w2bgwh5ip64awx41";
 "sr-vorl.source-1.1"="5zsgq5m3fkjip7qr4zkx51j54j4q5qpq";
-"srdp-mathematik-1.3"="qpp7c0xk0g21fq23h6v76558grpc67br";
-"srdp-mathematik.doc-1.3"="b6wy2yzsl6b415mxkw5bj6i3gnf9g2iq";
+"srdp-mathematik-1.6"="rlp7zsvnsm8w2yjx4xby3xgzxy0rsxrk";
+"srdp-mathematik.doc-1.6"="sxznl47i233pz8wlq1qig5pijyfnvf1w";
 "stellenbosch-11a"="s0wddhmfp77y6v54qq4jsmqidjq3bkqh";
 "stellenbosch.doc-11a"="97wbyj0mg7phb66ngkf82ziiy8v624b1";
 "stellenbosch.source-11a"="0raanzzc5qjay7gz94himx8np0437pgb";
-"suftesi-2.9.8"="0cm530jnjyjm449d7k0ldd393j7k0arm";
-"suftesi.doc-2.9.8"="kzspydwv2f1ypg7d0cws48cwc42p8hrp";
-"suftesi.source-2.9.8"="8nkd1hypc0m3ynwy3af3067xvikdq081";
-"sugconf-2019"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
-"sugconf.doc-2019"="siyxf3blr7z953fm4xy61z4jfx589bcb";
+"suftesi-2.9.10"="v3ql10qjlwmssbya8nbq6mxcmvfikpvx";
+"suftesi.doc-2.9.10"="pl1cy2dfbs2pp0qa012vssjpmvdvijyc";
+"suftesi.source-2.9.10"="9dlcgl4alvssjqhfj98i3cdkmf0q4b4b";
+"sugconf-15878"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
+"sugconf.doc-15878"="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-3.3"="4yi93pxsd95c4ym6da2z2v84jfxk59xm";
-"thesis-ekf.doc-3.3"="4qwlwvb6xr8f142jky5mq1jhag3psql2";
-"thesis-ekf.source-3.3"="fm901cqg8ys36wfmyfkrgw7g5h3m3yrx";
-"thesis-gwu-1.6.1"="s6xwfmvvc6i8w9limmknqxp44l0dk7px";
-"thesis-gwu.doc-1.6.1"="s4hsb2vq46fdwlxsxn2i4dfcblp2jd02";
+"thesis-ekf-4.0"="36m51dx3jlm3f6a0ahhg5p2i35wyaiv9";
+"thesis-ekf.doc-4.0"="6qyln0j3hslnx0hibpfijixclha7jv86";
+"thesis-ekf.source-4.0"="yfph61m1j44d3rn2whz13m88pgn95igk";
+"thesis-gwu-1.7.0"="lmgwrdny0kp9p8ldyyxg8521vmhngjpb";
+"thesis-gwu.doc-1.7.0"="2c219vkiy9h43v2jpaj69hv9lwh7m4v9";
 "thesis-qom-0.42"="rnhdvsrpsgjbwih0ia9r1h4kyqdrhg6x";
 "thesis-qom.doc-0.42"="gipmj1b9xh8y2zj52l7r28j0l3g8rnzj";
 "thesis-titlepage-fhac-0.1"="dmyydjxrj16hf8gh7qyp564d195kzmwp";
@@ -8448,12 +8665,12 @@
 "thesis-titlepage-fhac.source-0.1"="zp492p2j40bpphwr3zhjcqiwnj18yk56";
 "thuaslogos-1.2"="jr4nwbd21jwglz99v1aqplzv2jbpn10v";
 "thuaslogos.doc-1.2"="i352h1s47cdbj957kz6c3dj3kwb7rj11";
-"thucoursework-2.5.1"="gxr37nmdvd1j76ayls7y1k33h93m6g33";
-"thucoursework.doc-2.5.1"="gfzq02wgfm9p4il9z98yggxvqfdwz2h7";
-"thucoursework.source-2.5.1"="c3zx83bg3s8k2g76c7bj5wkn8gm0f8ki";
-"thuthesis-6.0.2"="5n80f534n6i5wh67qczibm8q5q9vfg6k";
-"thuthesis.doc-6.0.2"="72sgic1hxxy2cgskwh0qd32q5df5fq3d";
-"thuthesis.source-6.0.2"="44kbilkjc1i9c7nmm61jddy2n001fwyb";
+"thucoursework-2.6"="mvwpfacql0xna37vqa3q7dkrwkzqnpvj";
+"thucoursework.doc-2.6"="rg2y6dx27cxw5h1y0zifciy9wn2f63l5";
+"thucoursework.source-2.6"="frk70dd03ld969k7l6s1vc38vqkdclh0";
+"thuthesis-7.0.0"="49l8ppaywbn2y9lydsqwxivdiyv0q6zl";
+"thuthesis.doc-7.0.0"="zlzv84sf4al6508fbdiwidm4blvhpihw";
+"thuthesis.source-7.0.0"="5gxwk945bq955rd65ah2jylgn8b7x7vp";
 "timbreicmc-2.0"="8mnap2xvfny35sb0ziq5xhlckwcmgb3w";
 "timbreicmc.doc-2.0"="b649dhjapj0ani2as7783bphamp0hwsq";
 "timbreicmc.source-2.0"="8s3vn2id27cl1164brvkrxg96ggvgb3v";
@@ -8462,33 +8679,33 @@
 "topletter-0.3.0"="01cmbaxzr5fsmwsz8y5l9xfdi43219zg";
 "topletter.doc-0.3.0"="ygpvdw145lnyllcwh8yv4pcc0ssydpwm";
 "topletter.source-0.3.0"="f4lvw616czlsqw7ic5mlwq583097j7ls";
-"toptesi-6.3.06"="dmvzw2y0ds92dli8sb5fwaldd0jh63c3";
-"toptesi.doc-6.3.06"="58d2smp53hc7kqymv2y206s10b14d9qb";
-"toptesi.source-6.3.06"="4030gxyzknihz1xy80j14dykczdz8qh5";
-"tuda-ci-2.08"="6ha294w4xcip3ymk5nn9r43fqhqnb06b";
-"tuda-ci.doc-2.08"="8r3slc5zcs7y7afrx7pk59s2ffdbrmgs";
-"tudscr-2.06f"="jlp1xigdgbr0cscyxjs6z5kcl70z6i7d";
-"tudscr.doc-2.06f"="7v2qsq9hapnaz5cbns12j5hgvzpr0n5h";
-"tudscr.source-2.06f"="q41mx2d8m2xfcfvwaddbr5g2f5mjai5v";
-"tugboat-2.22"="h2pa9z0pcxfr4dmw6hxs8ha96qmxv4ip";
-"tugboat.doc-2.22"="drwddwqvgp8xb835z2g5s9wrwr8mfl1r";
-"tugboat.source-2.22"="63p7gmblqwk74ixgjj73cvwg35m1iccg";
+"toptesi-6.4.06"="f32mdcbb85b7dja6cvhc6h0b111i7h28";
+"toptesi.doc-6.4.06"="rx42mn8j2fy5qji2xmi41a85wii0p1yy";
+"toptesi.source-6.4.06"="9am8c6ps9if4zlbcrld528hhgk9j6f0d";
+"tuda-ci-3.04"="7vbf0nkamz958bwjfrrsaa355dm57wag";
+"tuda-ci.doc-3.04"="cfnnk6f0fkk4vysnixs22sqa3rz6cb00";
+"tudscr-2.06j"="dwbpyy1yy1h56dsg9j52k74w2x4mg5dj";
+"tudscr.doc-2.06j"="nv88hc346psjc3iwsq87ni94b60bb6im";
+"tudscr.source-2.06j"="1b2d7pbn0iqnsdnymywpcd1fwdnhffnq";
+"tugboat-2.23"="7mijib9nmvq4kap6gihvfla8cvpbxfjm";
+"tugboat.doc-2.23"="1n3myrhdb9laa5razq381ji6xznqpak0";
+"tugboat.source-2.23"="kmmd4s3dkgil4f0nh8bgayndrjcb7qd7";
 "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-2019"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
-"uaclasses.doc-2019"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
-"uaclasses.source-2019"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
+"uaclasses-15878"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
+"uaclasses.doc-15878"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
+"uaclasses.source-15878"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
 "uafthesis-12.12"="8qdm4v22s3r9g8q16sjnw3bzx1j9w16a";
 "uafthesis.doc-12.12"="d1nns5qzwkrywy9cghr19i70bp16fvw2";
 "uantwerpendocs-2.4"="l61xisx3imhck8sbqykhpjd7py573gaz";
 "uantwerpendocs.doc-2.4"="hk8a9gyw42wfp0300ya1zd7p69ycww4c";
 "uantwerpendocs.source-2.4"="pb13x65657039qbivjfpyni164fz2gbj";
-"ucalgmthesis-2019"="ijbimiv9xjwlxwrawqzw82f8ycahxwwj";
-"ucalgmthesis.doc-2019"="rbi9mvqdixa2wk7ankfw7l3vy1pf83j0";
+"ucalgmthesis-52527"="ijbimiv9xjwlxwrawqzw82f8ycahxwwj";
+"ucalgmthesis.doc-52527"="rbi9mvqdixa2wk7ankfw7l3vy1pf83j0";
 "ucbthesis-3.6"="3wa2xk8yvyh5hwy0d41p9fdrxvy8y2iw";
 "ucbthesis.doc-3.6"="lr9w29xp965yydg4mk93rpq4d3808ksa";
 "ucdavisthesis-1.3"="naibrb9h1lg8y22j26wygm9zxcv3rfc2";
@@ -8526,10 +8743,10 @@
 "unamthesis.doc-2.1"="jfqnn8prn8x9p68k70b64zd1759v92ak";
 "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";
+"unitn-bimrep-45581"="s3x065jkvzazjx24an10jbwj47903gjl";
+"unitn-bimrep.doc-45581"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
+"univie-ling-1.12"="0inv9zi3b5k1msr587xj0gv8dafphrk8";
+"univie-ling.doc-1.12"="c69k0m7nwp4m9iyn05gfsglxd04gddv8";
 "unizgklasa-1.0"="pz93dd2qidcvdsa78zgl73s07zjgshs4";
 "unizgklasa.doc-1.0"="inphl2x3czqw7mw17if9ahl0jbin3dd7";
 "unswcover-1.0"="5bqxws27nxyhgrlc6c9k9v5pm8jvdhzc";
@@ -8551,23 +8768,23 @@
 "utexasthesis.doc-1.0"="x4ngw5sm9zm5w46l5xap4cwnygb8qlha";
 "uwthesis-6.13"="1z7cpyrzcb9ga77d9a58jm9234w2zafy";
 "uwthesis.doc-6.13"="w30d568jxqqwdfbrpm8s1i7ylssiz3gc";
-"vancouver-2019"="2yp7l10k8yz7nr3nh9sj0ix8s9q79b5i";
-"vancouver.doc-2019"="gan4b1yrhwvqxnywn8rb6ckqvgv9m9m5";
+"vancouver-0.8"="i4g046vffvq9f8bfrzi05q21fyazvlr5";
+"vancouver.doc-0.8"="hnaysysqmahg8z5fr4ap4y9bmgdfv0r6";
 "wsemclassic-1.0.1"="8rl3dlv1f1vrklknkssldjnkgdwdcipd";
 "wsemclassic.doc-1.0.1"="n0wnf463jpcq8lbgk45h3924c4qm2r2z";
 "wsemclassic.source-1.0.1"="l4db45ax258zsrgvnw5gq0knflxx2nb5";
 "xduthesis-1.00"="qxvczdxndgw1n1hxzrr5scvnrgcl3q3f";
 "xduthesis.doc-1.00"="a58xwk250qq99pyz4rj2br4dqfzhhmxv";
 "xduthesis.source-1.00"="nw0j5z9vd83a3idksbq2338j8ir01fr6";
-"yathesis-0.99u"="fkb98sisz9gci364livd8m89by2dkjvy";
-"yathesis.doc-0.99u"="9k9f6wvrjl98m46jvhjwvfsfbnjl30y4";
-"yathesis.source-0.99u"="k31bciljvp4lqr3w5klcy3zssazbk3f3";
+"yathesis-1.0.3"="6ispkfhr378lrdy4vwnaiwdf3q22x48c";
+"yathesis.doc-1.0.3"="ypxdv9db1snyqas2csk58y3asrjqa1qw";
+"yathesis.source-1.0.3"="w9xr9hmaknawlhllj87m1dyd2h9v2chw";
 "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-2019"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
+"texworks.doc-54074"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
 "arabxetex-1.2.1"="yfvy3m6rz45z7frgsw6cg8hk8kqdxfs4";
 "arabxetex.doc-1.2.1"="f8rpfy5hna1b6flvq6y2balxypjm6280";
 "arabxetex.source-1.2.1"="n7qncmdmzvkjxwn5d5nhwy3660ymvwx8";
@@ -8595,28 +8812,24 @@
 "fontbook-0.2"="af0x6y47qcbfhzs3ngyazacn289x99y4";
 "fontbook.doc-0.2"="yvq7kxismw59wayzyv379hjd0kw048k2";
 "fontbook.source-0.2"="46vhgm8k7pxwxpb654fg3aj96555fanw";
-"fontwrap-2019"="ap8pwxj94larm8p1dngr1mhdavncplq6";
-"fontwrap.doc-2019"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
+"fontwrap-15878"="ap8pwxj94larm8p1dngr1mhdavncplq6";
+"fontwrap.doc-15878"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
 "interchar-0.2"="mphh4cmn49y1fr2klr1n5c2mjxryyjzm";
 "interchar.doc-0.2"="077lc5c3w5gq2cm2983fqlbhizjssgyy";
-"na-position-1.1"="gmc7vb0cp4c8qp4p99vpvpv0xxbgzhhq";
-"na-position.doc-1.1"="zwcm5ikxlaz2jla53nxbrfs3yva37m6g";
+"na-position-1.2"="1nnrjz7dvqr7xznpi5z3kw8hs8cbs0nv";
+"na-position.doc-1.2"="s1v6aswv16yz9q2ykzpwl399znzpq5pf";
 "philokalia-1.2"="6lcrild0p9jahhgpc1xzz445hh2s1cxy";
 "philokalia.doc-1.2"="k1mn8vwlhrs9bwy87gx2zpn2viidlh0p";
 "philokalia.source-1.2"="80nd8ig65k3xjn92rv7n8g17qq0k4q7p";
 "ptext-1.1"="zy9vq5spxci68zhbfa947x5gmr90ckzf";
 "ptext.doc-1.1"="3dsbqbc9n66hhw8nk4l7rlcbfw5b9pvm";
-"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-2019"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
-"simple-resume-cv.doc-2019"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
-"simple-thesis-dissertation-2019"="p1bspb2n9dc7zk0myww59v973rjshfy0";
-"simple-thesis-dissertation.doc-2019"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
+"simple-resume-cv-43057"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
+"simple-resume-cv.doc-43057"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
+"simple-thesis-dissertation-43058"="p1bspb2n9dc7zk0myww59v973rjshfy0";
+"simple-thesis-dissertation.doc-43058"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
 "tetragonos-1"="6v6w3fcjmyb0pq0iia29xcx3wsnpm47k";
 "tetragonos.doc-1"="w3b4g7k13lljq69vg11cakx54m0813r3";
 "ucharclasses-2.3.0"="ss0jlhd052vay3g42nys4mj4mcf5iqgn";
@@ -8629,9 +8842,6 @@
 "xebaposter.doc-2.51"="sbpqsj7cqhhhs9gq8jia92hxrdgnhzkk";
 "xechangebar-1.0"="1f2zszj2l5mkqv5zs5bs8g5w4c8rirpv";
 "xechangebar.doc-1.0"="xbirklnxaljhxxghr1prqq7zb9l0mgzm";
-"xecjk-3.8.2"="qdr14rgjqi9hajzbl9g4b31pijd7wf1f";
-"xecjk.doc-3.8.2"="2bp2zjai1yvsx306aqmw2snacm1n2438";
-"xecjk.source-3.8.2"="b3b5sq5vrl5031jx3gsak9as5l3ly5b9";
 "xecolor-0.1"="pdybpn00rxsb5ipxx377a77xnmmf5i43";
 "xecolor.doc-0.1"="vl2lpda4kkr2q8gzj6ii2rjfccx6qvl0";
 "xecyr-1.2"="8zv0hcgk6f94mjb7h0vkvpz0yij6p257";
@@ -8645,12 +8855,12 @@
 "xespotcolor.source-2.0a"="lpc06f6qc8sff0jn78jsvmd43az18vgy";
 "xetex-itrans-4.2"="m9f0xqxgxpqsi5bml6mpgxvqjjpz1fkf";
 "xetex-itrans.doc-4.2"="nlixz1jqx1al7xks2bp723yl63whrhzh";
-"xetex-pstricks-2019"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
-"xetex-pstricks.doc-2019"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
+"xetex-pstricks-17055"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
+"xetex-pstricks.doc-17055"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
 "xetex-tibetan-0.1"="yzps4y2frsplnawgai9s9xb6vpk9h4zf";
 "xetex-tibetan.doc-0.1"="m49lmg8669bbir9hcj33clc2v811xdvb";
-"xetexfontinfo-2019"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
-"xetexfontinfo.doc-2019"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
+"xetexfontinfo-15878"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
+"xetexfontinfo.doc-15878"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
 "xetexko-2.23"="0k7pgmhy6jrqj36bbz4i2xcg97mv03sq";
 "xetexko.doc-2.23"="f0hk90a0fxfdiyhv4vcy0f3f734r9452";
 "xevlna-1.1"="jwpjj1b3y45n3lksn9wvsh3hyccy1i00";
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
index 67dd438a9fb7..2ecb162a5713 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
@@ -9,12 +9,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "2up" = {
-  revision = 41578;
+  revision = 55076;
   stripPrefix = 0;
-  sha512.run = "b7844f246ef486d68babff92f2f648ef6b2eab28dbf8d22f649b2c9c26fc857b05f475e766a0c9b4c4cb5be1224afc690c22d19865e9efb9f4e75a8ff6d9dda8";
-  sha512.doc = "c8569e5cec43525d6814816f7fdaa6bc9ce0ea810fd6be60da992c251fcfaaf4c5229a1956c1fc3e6675ea5dfb4529267acc5f198053a80902b69b25a1464b75";
+  sha512.run = "6408d1d99a97df71640bcdde4133edc2e5861bbcdc8c5e1be98d5704f7ecf9c043c5538ea19ac4952d811e3677ee0698bdd477eadbd1068725bdb210787d9dbc";
+  sha512.doc = "3375cfbd95412f2fde2bdb9171b1c081890a52168d0c6d0f0dfb0ad914117c79291a56bc97602627a698509635765fd5e6e95387a006039178e440a8bea24837";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3a";
 };
 "Asana-Math" = {
   revision = 50999;
@@ -75,11 +75,11 @@ tl: { # no indentation
   version = "1.7e";
 };
 "SIstyle" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "9473f7ef772f10ae4b70ea9d3074cbf7220ab1672076064aae9e54cf72d5007fa7e7f73c66082c53098c772a43d88af3ca1073e875c31c2821e528f8da836fd2";
-  sha512.doc = "553357a037de0494641969db5a434a77984224f7fee3f64a2e153304eed6ae38548a1cf0330bb5e6cfc4f4dfdc21ceb8cd2b0659b0e27aa79a7379a82441451f";
-  sha512.source = "3d2840beed83bb3843b89b08e3a2d111bc346e221335288ae35c19f7b5a843b668a5cd0b9f60a5df270a0c0f8953cb575d27a17f534a7b7808a37ee58aa1007d";
+  sha512.run = "69bc838535facdc8ba17db91ead53dbc233f7d53e453164611fcd7e194692212ff74f57979023fe14ed8c8df347caeb42d99fae0b14c3cc54c60c8411bdef80d";
+  sha512.doc = "6fb33be5371932e95e5e3002bb2696d0707d62425f1a539764d195ee119f37441bf288a502770667624746631bd75227a245bbcc2050c1c2d815ce4c8fa6ec85";
+  sha512.source = "f1e23a9d04b637afd72056e1792a0c795f1b02b96ddd0170e6f412a8159389f8cd79bfdbfd2860fb5b6ca6b1794ff5c0bc59fbaabcdffbd8d69d26b205e60df5";
   hasRunfiles = true;
   version = "2.3a";
 };
@@ -108,10 +108,10 @@ tl: { # no indentation
   version = "2.14";
 };
 "a0poster" = {
-  revision = 15878;
+  revision = 54071;
   stripPrefix = 0;
-  sha512.run = "95c13cc0fc3e4c8b76e02aef0622af10a420b9b536807effad3fa99822ebe1babdc7219536178a349aeb671f3bbdcf9e339ddcfa73c7afc71dafc2b2d7486996";
-  sha512.doc = "d17f3a87682008d8110bb5562aefee406d84b15e3678e165cc3f50e0280aad0736ff0b9b9847d9dc47cf08d3db9a28be71b76f9a5c61c8f3dad0aac187b23434";
+  sha512.run = "038623ef39540340a9c9de228ff0787512fb34916ee5a250dbc6d9327b9249d51c633b8ed0dd725c90db462ed7c96290ea7d6fd60e299e787d0e5cf585efb5f5";
+  sha512.doc = "51e01cf36d4ec625bdc68e586d276e09973dcfe30cd9ba2aa7dbeed73337bea03a222d66a6903e5203e1530d88433d326d38ff66896c52ac33587a3d147cc2e5";
   hasRunfiles = true;
   version = "1.22b";
 };
@@ -168,10 +168,10 @@ tl: { # no indentation
   version = "2.0b";
 };
 "abnt" = {
-  revision = 53128;
+  revision = 55471;
   stripPrefix = 0;
-  sha512.run = "eb5b8d75b345c14fecaef598947fe5a6a13c03cd58d77be91bf8155eed0192417358c33cd9e94e236992be9aa13fea9cddfc8c3d80f8640ad59b6feb58b3a435";
-  sha512.doc = "23315ea3d16bed57c979dd6e820a83243ed660d91855bbc58db77b787043410237f579e79f3ad011f418cca5b9afc1eaf5358147ff89d6d157f7608b3c1e6234";
+  sha512.run = "66931af2a5ab583914ea5abe6bb9668d04442c23ab654691e3864ecfaeecf65e3eda47b3d279abb9fdacb385ef9922d6caab808273f87f3bf323a33b441b7bd1";
+  sha512.doc = "0a46414ec99e14a60a167ec7ca09d074c802f4232cbd4204e52e9d489edb3b1657c7f33f0a3fd0bbaa09f624cb52903b8a18db43f54c7a1b0aef8c804b53b1b7";
   hasRunfiles = true;
 };
 "abntex2" = {
@@ -207,12 +207,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "academicons" = {
-  revision = 48100;
+  revision = 56119;
   stripPrefix = 0;
-  sha512.run = "8c394e4ebccb34cf3b9878a3b3577c8d43369bbef3ebe336336b9ece077e9fcef8ebbdff16f00355b7940bb325fc62ca22b428d2f25559bdee0cfaea73617938";
-  sha512.doc = "ab38b79d6893ba290c13862e4518c7cf6ee297f4b3a248d051d1c4351cfec05b3f271bdc95c0d345433733b9de14f852de54351698be93eca0c802959133cb03";
+  sha512.run = "87e2c5436f92e288c94d612380a2bd6736a19b7a6ba714c0d33bfad27aaab79cdf264b585e722055b1d8402be5c0001c1d8759ac3b79d6c2759c90d6a36d2f6a";
+  sha512.doc = "55f9e0192b8e50126fd573aee69ce5d7f389448f7af9e2973515ae49c552adaadd3eb8f06f019e42d0caa23c2d9a7841ae5fb7f6c0b6eed9a43eb60f7b0dd964";
   hasRunfiles = true;
-  version = "1.8.6-2";
+  version = "1.9.0";
 };
 "accanthis" = {
   revision = 32089;
@@ -230,11 +230,11 @@ tl: { # no indentation
   version = "1.4";
 };
 "accessibility" = {
-  revision = 52650;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "f0d198f630c3184f649232fa51860b3dcbb845832c1441dd4f6513d4fae21716d3c75f4f405258a78bcb3918f7a59d19b3c8ea814896e5536a2c58daf0386279";
-  sha512.doc = "8248afcbcebcc179d438bd4394de64f8bcc6b07095d5ae4146f6a10f73eaebdd6bceba6fbf4e441a434d5e72bce0995281249dac321bcfda24074e9ba2085373";
-  sha512.source = "9a5b277ff4897b4b0c9ffd471fc923ca821bce1912aec64b742268042ad46a588624d64c3eab09704e0719b8fbf35452136ad10c21e7550c92909ca8d75f4c8e";
+  sha512.run = "6cbc455f40a6aeb5862bbed64e6ec111d497f1948fa6eb83d26fc04c85c1145437005aa046e20eae70f177ff04c7084f03c2d4b3234be6c6ece822d6f366520f";
+  sha512.doc = "261d13857558973edb692ed320745173a5006d0cd23418e926be5398b4f3a2da0a670e3a08a26083381e830f4bd327eaa4451822ef096612a7a3c3492833c328";
+  sha512.source = "a7218b14ca307c9e02f6c562db3bb381a8a57ff758fecfc36f758bb70a151ca83e3401c7e2254ad2f75fe62d762cedec0746b07f5f5f6b82982675f42faa4e31";
   hasRunfiles = true;
   version = "2.0.3";
 };
@@ -255,22 +255,22 @@ tl: { # no indentation
   version = "0.6";
 };
 "achemso" = {
-  revision = 50025;
+  revision = 55899;
   stripPrefix = 0;
-  sha512.run = "87882436a324828c3a787aabf5516f773afa35be70c64392117e356af18c37cca77d439f1cb88422cda441950ca40bbf624fc01ce3eb05d6ae22fa817bf8a743";
-  sha512.doc = "8576bc5db853243bb4b37f53cade79aa1913e763ef6bd2af3a9f74087e68598d40308bf65772a623e44824ee128c8e93aea250abc3499b219233af5aea558efa";
-  sha512.source = "64a121d889d685f2dfb57443e38feb62e4ac1c78b7496d0f708bc3d7379abed7780b48984e5464d04308e61dd3b332908337474383493eddfaf418f63fe15322";
+  sha512.run = "1854f11bc87bc382bb6b02c0f098997bb8e6f8874ba995c61499d0ce4093452020b1c793d2cd0cb26e9fea91349629a98bcf4c6c630e9be6dad8e9ac550b1d4d";
+  sha512.doc = "5d5c9127cb44d2dae13514f9996b60a8731cad592edc2498851a98d0385bb9515db07c7f74c33b9cf1a7e616ce40e93496da161e2859dec2341c9db1c5122427";
+  sha512.source = "6b7b7d8544713b7deb09f4fa50260620b3649eccc6bf4f10fbcdc31c8f116d989b5b3f5b614a32c1c10d79b17694925fbadd22985e6e0f386e7c25e8375053fc";
   hasRunfiles = true;
-  version = "3.12a";
+  version = "3.13b";
 };
 "acmart" = {
-  revision = 53899;
+  revision = 56343;
   stripPrefix = 0;
-  sha512.run = "c0fc4e8a8efa3f96ddd3cdc303f385569f0520c0f3066b1e8f85cbdc9da8727ef8800213adc274b6956ed9db74d98def527da156a4ac1ba6aa2449892068d240";
-  sha512.doc = "d10d6032aee87b89766bf9203327666efd8e4608a7962782444b1f585594fa96fdcd9dc62fbc529350259785b30d86d7bc0f8a9c727b89208cfb6936772259c6";
-  sha512.source = "6ae9cc2ebc94d3cacf070647613a4bb706ed140518501772db8f5ebbbd3c4f419f21deb2db6ca5f826cfc55ba6bf16dcc644dcc4ce255221c563bff10b50b452";
+  sha512.run = "4ee65c22b449731701cd5b42915bc045a375a16ec8b4cc32f2d8340900bf9a5e6a99d705b765a3792a31e4b90a0e715f3514d03ccd73ba4ba5dd9a2597c7af63";
+  sha512.doc = "1dbee22c3e48c4d893e5901fee7fdeee4f3c66dbb095f77da3b38743fdcbd12f5f189f4ad3a4ddca15be69ee1bd7baf06f38540f8032d8f48fa4b6e83a61ce68";
+  sha512.source = "d820deb59cbbb8d9623a21ed23e900bd014dfcc6cbd7dca0de7f265d9f7a0db86944d7227b45fb26180d07053b4b4391c8cb51820a358be7be741648f948ef0e";
   hasRunfiles = true;
-  version = "1.70";
+  version = "1.73";
 };
 "acmconf" = {
   revision = 15878;
@@ -282,24 +282,24 @@ tl: { # no indentation
   version = "1.3";
 };
 "acro" = {
-  revision = 53670;
+  revision = 55090;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
-  sha512.run = "3568379b27e16b2356b38b7d1c6f241e3a80db3ede3a2b0b623b39296773a0b3451464cbd6344f5eb5e42cd2bcfb6ae0792ef3f9db2f9253f9fcc66b60e948fa";
-  sha512.doc = "a635d6f355f48ae2c435aa914ad98d2cab7feda07d9df7a821126eae46f216fedbf88609842bb931f397660afc3ff9399bd410678e03fae4cbd1718d2fde64e0";
+  sha512.run = "29eb42635028c26c61860a5d00d9a15bc0f5685543d4046ae0fe5ab60f4061405c1ba90b8daddafb33fcb92b0db825f49914f72dbd88e980671c6afe1cd3a682";
+  sha512.doc = "acf15ed9db6731db5cdfc9360704f0f60801291581f0ed0b98ae87b996c73bd4d386e4f9490dc2b345569ebf5e81311b2629552935ac488268d391aad4994504";
   hasRunfiles = true;
-  version = "2.11c";
+  version = "3.2";
 };
 "acronym" = {
-  revision = 52845;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "152e25fea3adc15632bb4c5a37981e3cc0dc516d76927aa6842f51d4c3996bba41bef8fd65ed9983b1a4b5dcf194741a454f88e822a5c33b87f48ef14a22c983";
-  sha512.doc = "0fdd8e2d43fa4becf1de2e7f80caaec56c8a8897c2c821a8c13a3c90cd26a4c75b6906910f55493634fe3b3fc3d5b4e88571264bcfc37602b950f4875a040d61";
-  sha512.source = "6a30df35639273942bdfb2802b374882082afd29de8c3530ad36b99a1626c24fd0fae8dd43fa7f7e9091575006917147b904167b29daf9f0b6f7e6a3f627e9b4";
+  sha512.run = "be68e32baacdb8708d1a31c4a585fcd282d0def7a76a1e284b908532118aec04505271790a99ab0a36e7c035695b84f8ae1e2146c31ca8c4fcfb76be4f11db26";
+  sha512.doc = "72b77e66b4db0c3b42252020fa56be3e4b1a848ad7314037d6ada3eb449fad0b35371835ccc6018bc71ef991ade0720f7febeb52fecd71b3ccc9a5b839bf66b2";
+  sha512.source = "8fd7e9f374e08f69fc33df24be50a9842fb62a18232d2631d85ecf7e6ce702bad1d21989dc01b3513a69e7a39eb343763690cba027df984dfc7777f047ed45d7";
   hasRunfiles = true;
-  version = "1.42";
+  version = "1.47";
 };
 "acroterm" = {
   revision = 20498;
@@ -329,11 +329,11 @@ tl: { # no indentation
   version = "2.1";
 };
 "actuarialsymbol" = {
-  revision = 51371;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "49dbdc527b3fe204a4fbcac265accc0d0be88201553cf8e4110b51042ab8b72932bcc1488b7b199b1bb345941a624b486ccaed888851bbc6a63f70135a0c42b5";
-  sha512.doc = "3ba7c377010c3d6d1e7c52bb4256c10f78fe72e6fb7e1b794831d68fb9628d17a6a74f31c8b7f6bae41a59d8a29e6705e28d1e466c36e8273a449bd2594d126f";
-  sha512.source = "c87fb2395a4b3bc7871184eb49b83754dda2813249a5df2319e462a375283e6087b46129c0fb78c744944005741e9a1b28c16bf5073c3744c90e7dfd9c9a0ba0";
+  sha512.run = "81260a4e92a75f5ace84c190b9bd7e6b46e8c697824856cfc69f4d9e9f14a4e0230d5623cb6e3bd546d84b29240865dfa14f433c9ad34875fec22944053bb5ef";
+  sha512.doc = "95efefa6e40a77806a2fe8d47575cb78c7e295ddb17b263d2e324610614d36d6ccf1dda75a428b12719d8c4b1fdd3b94656df1ff351f4fb98fc6a94eb87d357d";
+  sha512.source = "48211fe7604a931a8e53599d617bcf2be100ceed5003fd1bcc96ce84525904e68bc279ef672100044e03cbf70fa47f53548ec3686f70a795a50d78d96f792d81";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -372,18 +372,18 @@ tl: { # no indentation
   version = "2.42";
 };
 "adforn" = {
-  revision = 52364;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "50369d5874b6ebd35498ab4502661de8630ed3175df02cf938817e17c858cadf0915dbf7c34ddfb0861a0063f7cdeeb40b1097573f77a4696f08354fd28d2a64";
-  sha512.doc = "b2521044ab8869c114579b7ed59ba9b58a66049ead3202d5f62797c9de0fde442b4f39c7083e1626f50b0011fd57fdb4227cab7571bbf85d6076b88e8eece61a";
+  sha512.run = "7a4a4da6c72ff2f8ab4b2a9a5e92887306a8e2aee4bcc5a93c18bf41d1bf9c05bd23fd6401bda054994aafa8d6002dbc16d8483b951acb705cd46fda08aaf060";
+  sha512.doc = "2a287f8685154359c914b13e8e153aa64bb19708a9f5b122180cead53ee31ab829dc934dcab43f09ded4fe5d2a81ee32528855f1a4a1bd07b795eaabcb204f48";
   hasRunfiles = true;
   version = "1.1b";
 };
 "adfsymbols" = {
-  revision = 52365;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "d5ad659516da1a4df4b2244f90db9a35fd4ae1415e78067a378d389a536380c1c642d7910491d4d49273c9f3e03a8a916cb418d8e608329b2701df44f8011de2";
-  sha512.doc = "39bebc154e84ea1286e25e8f7b9439e1c1441b7df83db770a75e26580c452cec7ac8be97bd77e2a99448f100d30ea9d5f40f3282a54e5fcfe940cb40c9917cdf";
+  sha512.run = "7100648956a68719d1a449a3aee0a4acb3788aea7f082a6e7e38c8d8dfa2c712a4b896a9b036e8ae8b2732b11414ab71a49e2f513e7d689f4b0ad9e44c052019";
+  sha512.doc = "fbdd78030826918a3599a1f843db692390ebdcf4ca9a853d8c2e78706cfafe83ae79d23d09fb097339d8c726608a27436b3bf22725935c55060f1e8579ea1eaf";
   hasRunfiles = true;
   version = "1.2b";
 };
@@ -403,22 +403,22 @@ tl: { # no indentation
   version = "1.7.1";
 };
 "adjmulticol" = {
-  revision = 28936;
+  revision = 54157;
   stripPrefix = 0;
-  sha512.run = "1134de8dc37c135e944c223946ca249106d12a6af8c653ef39c0418893ba5d52f6ac4a3df6fd521638f606106830e0ce31aa2ce284617ac11226950fefbd94af";
-  sha512.doc = "299f6cfadae2e1c51021d849c9d2c10132007f4e4d0b2d0550c60a58f12781ca90ebed6052e9f84cc22bbdcd7b955018769264fe016800706ee7548c4f8a1e61";
-  sha512.source = "0b766677e3a95d7878f990c152952a3ad0c1aead2d4248a75070e93e93ec4e81524e565425404ac0579fd7451a562cea5867ef7d7acf58a36046212f7d900556";
+  sha512.run = "4243fb86e7122ec721b975c16eebadcdb867313270a7c351543bad78be73eb82780f7eb1878f1901b8c1956d0103531f1973d9ba10bdeded7eeaa51b190a1514";
+  sha512.doc = "afa625a205d566369b4a702062ff39f62529f2191ec4293b282fe818f4e001b8cc9c65eec3a0df0175586969d77ec83e03b22ff41cff36788375c59d1f20c586";
+  sha512.source = "e1a9e8245494eb1bd09e82e914fc0009ac696d94ec0d4499a828bb5187e90741f0ae26cce956429fe802cb5c2af7d9c68454bc11deeca87bae8a531ed2a1d4dd";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "adjustbox" = {
-  revision = 49596;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "19ee76701aa1c060d5163a06263cb5b6b58d74d4bba1b7e77813c5a3b683eef35249b6569fadd1c52c0cf82465c4e2acab7091dc1b396c1e938ddd6b0a1d3bb3";
-  sha512.doc = "33febe9f49a7c78950258d1955b4518a4ff15b96f6a866cc8f59ba83bf66a8d560a4d00430da494013aa37a72494280b4d165d2104d81bcfda237350855e1f59";
-  sha512.source = "f473a082b7bd5104a6a11454ffaefadc4df5d245d9395cb51d6922884c653ea73c065677712ba61a6baaef776783627a6bfe15cbdfa44b4ccaa7f3294d444f80";
+  sha512.run = "851d9abec7b4eabaf470755cea1200978146f93fca4cb8cdd33adb53f3b427031ea70685b8458fa77c5bd8b842b62524dd713c12a901331778cd854fa862098c";
+  sha512.doc = "3ddd36dcf4c56390aef552644e053612f1b2a900b2031f63aa6dd5da013916a00ead80a4e677c5225a14055f3b34d972faf17fe42e3cbe1f74b59a3b7d5206d6";
+  sha512.source = "0a25cd50b343094fc6a5a07f9196f96c4f391fbf6845cf78f5c76c76c2af0a5c8c9ed79a29d14d3575a416c7fe1c9ae6e455e17d3d03ca09e9f9e1ddb170bf6c";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "adobemapping" = {
   revision = 51787;
@@ -459,14 +459,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
-"aecc" = {
-  revision = 28574;
-  stripPrefix = 0;
-  sha512.run = "d36fd36a4d92a5031b36437ff8c75e3fbe2e3124982f496d6633476dc876a300d3b0ca18874d6d6256a096d01bde96854c30f76a777ad5ebf9755b035b41e7a9";
-  sha512.doc = "58bcfd0db5d39265765a32c9996807dce4e1ef22c47a3b6f4307c59eae01e1f8eab2e8d2252f83ac42a41aeda1542087f21a52ca523a9364f1ecc6b635251df3";
-  hasRunfiles = true;
-  version = "1.0";
-};
 "aeguill" = {
   revision = 15878;
   stripPrefix = 0;
@@ -475,9 +467,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "afm2pl" = {
-  revision = 52851;
-  sha512.run = "17a191fa347683f93f7d74e4b0be13b4690c84f0c17c084b10805aa1b5b057de6316836122114d1ebc76b1f8b4d134f6f5b08a21a8e28417f8259c3e52c12226";
-  sha512.doc = "0e175a69c26457719ce3aa5587f8857c77ea9bde7eaf59d33f7fda330cf73d0ea68060a83de09100d651b043ac60473dd2f25b8875566dc39d67eb6219be34a7";
+  revision = 54074;
+  sha512.run = "e539a12013dae7b30a83f615fe9f01678a25136a72ce754101aeb6bc8f1d287e006648f3050573ab211eeb00e5ac8082857b15e388d0da4886929a57d018fed2";
+  sha512.doc = "771e72385110bfaf133865ceaf9cb85a94dc1037f7390b027b21a9117aaeb00e88f67b191229fbbb61f417ccecd6556335ba1d2ba46a0a65079929a0ccbfb1a7";
   hasRunfiles = true;
 };
 "afparticle" = {
@@ -542,27 +534,32 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.5i";
 };
+"akshar" = {
+  revision = 56277;
+  stripPrefix = 0;
+  sha512.run = "d626d6e3a72fb8319f07c56d200566fc351be15acbbdc0ded7c3abb9765ce257741458109203882e8fa6131ba182539fd04e1ccffa0a25cbdcbe6f7630d3bfb4";
+  sha512.doc = "2dc5f4de3807a8e2c7a81046fb5d9dd92a651ef86aa22bd47c68d7b9a75943537284faa2d95d89b013573dfaca2d8d96e53524cb916152e46fac067532b108dd";
+  sha512.source = "9095a3c6889eb8de55c5956157a5dfc3e885e93b70ee6285b2ac14d4fcb244e65a11bea2476ad2d35b6add316423897bf8fa15e30e99b6d8d3d3d3cc65b20f31";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "alegreya" = {
-  revision = 52379;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "d1ccf5c1e3b53dbb5e5f41f6845c0ebb03b4d74355aa11f4dedc8214af2c49f2d4023b5296b24b7330b4fef0f0862dbbbac864831dac16317f7025a88c8c4a6a";
-  sha512.doc = "3452ed4d59bdae841afcee2895e9ed64f60b5ce511f29468107f84ccf1cfcb3afc4798a11e48681bf66f17f448c27d3fd1e8b82cc75acfe7d6fb7e892d0efedf";
+  sha512.run = "7136053c90b3c9ae5744a1740e44008b3fea0a25323cb9033a6c2a2d1c72a024645626903913485af24ee08a9614d3fd6e9ba79dfd2206ec29c0fc1b1b98a21c";
+  sha512.doc = "fb152014915f9bf56ded5eef117169453923a86a8dfb165facd4e3e1db278f31aeab91e49e5e66d6d4a08ea10cba91ee762b4937f75f9623c77ff73b37965ddd";
   hasRunfiles = true;
 };
 "aleph" = {
-  revision = 53786;
-  deps."latex" = tl."latex";
-  deps."plain" = tl."plain";
-  deps."lambda" = tl."lambda";
+  revision = 56521;
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
-  deps."antomega" = tl."antomega";
-  deps."latex-fonts" = tl."latex-fonts";
-  deps."omega" = tl."omega";
-  deps."l3kernel" = tl."l3kernel";
-  sha512.run = "a85d851b21d2ab7d34caad7d59daaead5f42920cf1de5bbb5ad01e825b51067bbaf05aaec519ec8d7eb6c77b07183d51cacb6827d860063578c9ab6b00a96254";
-  sha512.doc = "0316e421ce8eee32108057c4e88381da3c0b47f32c0daa18dedefd7dab08b7ea6905bf92fcc523030b29fbdea835594ce22d991cab055c80b122aa69e9cbd8aa";
+  deps."lambda" = tl."lambda";
+  deps."latex" = tl."latex";
+  deps."plain" = tl."plain";
+  sha512.run = "d67ed9965b1cfc30f70d8671b4aa4f82a72ee550eb965d908545c6329bfa0ba074f7488f190a3fdd0cf3111ec47aa7221fd3b53332a92a95d32484142af444d0";
+  sha512.doc = "61e376fe8d532210385924b3cb9c80100badc1601b7d8917b9f1b10481b12d113d3ba815a5ff896072fab70110af80a3917bdf03c85be6e4f7ea6f585ff8f7b2";
 };
 "alertmessage" = {
   revision = 38055;
@@ -591,12 +588,12 @@ tl: { # no indentation
   version = "1.3";
 };
 "algolrevived" = {
-  revision = 52775;
+  revision = 56472;
   stripPrefix = 0;
-  sha512.run = "d9104a0e083b249b2c623dc15c800796a0ed5c141a9886795bd9329defac3e912f5871866153eac7e8ab3b4bc33c335b93f73a554c30f8c0e4a4209dd1d6f498";
-  sha512.doc = "b85c938e9f527d215ba8fb98ab2f466a3a938c468fc58027c8c625981dc9880ab04c1cd87abe42029d3b69d5694dcbe0c7249fefab5e5bb951040e3c42211b5a";
+  sha512.run = "98db2033f2fd2871c6b60543951819e5609ace0b9cb7b8f789768d1f946cb2d3ec7d45d1141474e63fb9257b30d8e6d1f4224cee005fb85cf0516bbe4c3bb763";
+  sha512.doc = "a27c2f189a06c602aafcbedccd0db8920ff86a497ed9515ee5225507463ef25b1cf9d7387f1a1f4aed4b443c12d3edfb9f862c7cabb1a465e30de83244cef0cb";
   hasRunfiles = true;
-  version = "1.041";
+  version = "1.05";
 };
 "algorithm2e" = {
   revision = 44846;
@@ -622,14 +619,22 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"algpseudocodex" = {
+  revision = 56125;
+  stripPrefix = 0;
+  sha512.run = "e1cffa46708ef8d6479aeabca45e5d17bf14edfb25973fba5e3e006c0067138a432adfde0ad76f6ec0bafd327d1b2d74dddaf1b131732b5aa267b7fd898b4ef7";
+  sha512.doc = "5fa75ffc7847685bdc124faabf54a9bb45a8cc7dfda7df07f9d6c5180038be318190b20ad1fad3fa6d1f6b2e3a267ebf82505e7ff1626546b3846dcf935cae90";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "algxpar" = {
-  revision = 52758;
+  revision = 56006;
   stripPrefix = 0;
-  sha512.run = "7c42dc2037c4171a1e557eb1af38ad39037a818e1b97063790c7e987bd7b6e8e30c25e046d053dc67de3478375bdb62bf4e9c8c2210d4f149d8fa1d53417f8d9";
-  sha512.doc = "8568d188f107ceeac4b29be9b2ef69de8c6b4b22f8522047651de7fd6f77c9cbc985da87d7f7f7dfddccd65b2895324c029e975bbd115fa4f6acf02d6cb52f7e";
-  sha512.source = "405aeee3aff9f9f1f923d28f278c66a4235059c7998ec462ef66e48be35c1de77a2af971b5e168c45272f2fcbfa79713b64840f9e2ecc697c33425b6e40a1db1";
+  sha512.run = "90b0e879f0b335a2fae58f09ef3081096631a1cafce3ffa1d4ec396bea8c4c5911babc346b5c9864a2a9a798ff1ded2a489684ac97f6275d7f91042ae8e9929e";
+  sha512.doc = "d0e8e696fec318f395a08cfaf4e809b1fdbe3a6b86a162c69b6558eaff01c85a387bad0df4e0f4c4854572a45583dfec79db8ce78261c45a1cbb8112fbae5777";
+  sha512.source = "b60358558a1ca240bb4aeb1762855b200fc59db95e27ca65f8916411601c4315b7c05fd0e0b7073b2a627c2623e7398f3619d662377f1b3a72967170a1f45e54";
   hasRunfiles = true;
-  version = "0.9";
+  version = "0.91";
 };
 "aligned-overset" = {
   revision = 47290;
@@ -658,10 +663,10 @@ tl: { # no indentation
   version = "2.1.1";
 };
 "almendra" = {
-  revision = 52374;
+  revision = 56035;
   stripPrefix = 0;
-  sha512.run = "dccb1938af6f4de3a4135f2ed58d31ad1444d78ba7c415bc8d22d57f0c93d1b28b88634cad238df129fa5c40e4971998a70d4f753b0a7b8bf54b036d181c151b";
-  sha512.doc = "da7305ec5775fea53d96985d2d859a490211dda1eaca56934db20f52fcccc9ed811932b498878c896d82300033432288f179c588b55eb774269602096880e3eb";
+  sha512.run = "4e3a7334755c0f1a1d092904cee87a0aa72cbe843901df81b010d1e63a197d9c922223ff4247fa2557a5017e62ab9ee06958058c955ca56afb4cc0aad857eb0f";
+  sha512.doc = "6674ae47d682e1817263e03f61307af2a6e5ecefe9de30a559ef39d188c0fb80da37ea73b39076e6c38d9c8c7b2513e5e893ab15e198669ad419b30ab7742b53";
   hasRunfiles = true;
 };
 "almfixed" = {
@@ -698,14 +703,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.6";
 };
-"alterqcm" = {
-  revision = 51446;
-  stripPrefix = 0;
-  sha512.run = "da1bf55dd283082c5407b8ef8654f5da1b4f2adff120aeb7f2dad556dc01df18a0da16246e2b8b0242579e9fcc44fe0f4e43e8e6f9fea4ef2c67426699fdb3ec";
-  sha512.doc = "b7016f6129e46475d46f0e19bd14604821e2a892ab29963710dee2c404d87f6aa36eaf978535e297333d85b8fc21bb312d44d36fb3fe13422a62c854ec767524";
-  hasRunfiles = true;
-  version = "4.1";
-};
 "altfont" = {
   revision = 15878;
   stripPrefix = 0;
@@ -724,12 +721,12 @@ tl: { # no indentation
   version = "4.3.2";
 };
 "amiri" = {
-  revision = 52218;
+  revision = 55403;
   stripPrefix = 0;
-  sha512.run = "5d23cbea0fa6a8a0220ac93f6750b0601b8f0c904edbbdba9d4bef6d5ec9f2ef8935a16a29019b711c19f1a02e3515684e84568e4972c9e9eb42b691cad7e374";
-  sha512.doc = "3b59bf9be9f8e35bf056345c380c8c16b5889c61c114d7812e00dcd9943bc46364abb383876f20f4d7e3b51f6523fccb718533280c7de302f4ac56bb39e5b04b";
+  sha512.run = "36e26c23ddc53de46250f95a0d4a608c7e43e781b56002a62bf96675297aa2e81c9454811b8063080937feab4dd5b1f3782bccff4a1d2376d8484c9d60295fdb";
+  sha512.doc = "3328c73a7203ca3239036063c7a65faa9119ccb4c1f7fe4229abf49a0bd8216e4bef1a93a18c452a0200d781240dc643888c2d278eb97edfcd1c716ae14478e2";
   hasRunfiles = true;
-  version = "0.112";
+  version = "0.113";
 };
 "amsaddr" = {
   revision = 29630;
@@ -750,13 +747,13 @@ tl: { # no indentation
   version = "2.2x";
 };
 "amscls" = {
-  revision = 46099;
+  revision = 55378;
   stripPrefix = 0;
-  sha512.run = "0b69a69452e148113c208d52b8221056378e6f869fa2efb0c52d49980ab574ac21a04d9957a2450a6881514645cd156580ad2a0ff2879e240e217642061afac2";
-  sha512.doc = "8c98528cd59e8da8c017fb49bc9a7cb617261f899770be56d92b1d52be274993b1777923189957f2ff70ef339223be569db586b80db7285cc824f321f258591a";
-  sha512.source = "a6eb2d6fd0a9640ec2ba625e91703403b80564d069bf8b873b40cb38810c30f1d0f7d372b81a194e4022a33393ebc612288d4d833a38db756ef9c344b4cd1726";
+  sha512.run = "eb39dc97a860047d764884663a1f541aa95a2d559dd55cb25f6b7c6c46617e6c33fe55a9fdc37b211c613333911df6e260768f43ae9630a208ecc7fb774891e5";
+  sha512.doc = "c2e563bd239f36b0db3bdbfe1ccb4a0adec0c22af25b557ed748897a99672f05f36f2bba6e51827c6fdd60b351079809b15c0367d075566c5e48682c23108fe2";
+  sha512.source = "7a96a464f9826a515191174b6e33016c7161c7547ed70ca78cac256cac68b4340a2b3bd9608f79df106c3eb2383b8d6895012a2cc6dee0c76d53d116679f4c6b";
   hasRunfiles = true;
-  version = "2.20.4";
+  version = "2.20.6";
 };
 "amscls-doc" = {
   revision = 46110;
@@ -794,11 +791,11 @@ tl: { # no indentation
   version = "2.0";
 };
 "amsmath" = {
-  revision = 53640;
+  revision = 56514;
   stripPrefix = 0;
-  sha512.run = "1982aa9f7345f47e50efe9f1e8be307491458e3689838cda328afdd704fa8e04e232187c0778b05848e46d49fada532b14b74bb0d327ebd91f821190b7bf1306";
-  sha512.doc = "9a9f7d065b3486d31a9db681757fa48d14d319232d918ad07fa5a8cca205a6e0023584eefbf36542bc5dfbd609b69b4801a8c95d7e38cfd9594cbd2afa862e50";
-  sha512.source = "c7f680fe62fcf225ae466f71d78578a8d48e34fa9a8444b4ad7730d6309eb8c7b74bc798e1b116aa6385a810f52c165505d915de66840b5ff42dc82b9f74acab";
+  sha512.run = "6cf5b39f9b94f5f9d0ffeb021422ee7c04a15c6cbfc0e29e58386c386f356cb311b4cea9134c5211a6aa9e8b6f8a6d7af61960c6aa378887754d2450261b0665";
+  sha512.doc = "eb71c5f8e5a05b76cc5cc1eb554843160d6592e4c802f8d0c4fa009489966350698b7fa37fd1fcac1a70e0ecebafd08dfadc81d069bd1a1867e09dd09295128c";
+  sha512.source = "2566262754978f25ba0bde06a1d6b161ff60e3306400a40e054c0408d932499ce54933e7b0a39875c0bd54ea8a88234e2503bee8a319a5b12388193eab1b0eda";
   hasRunfiles = true;
 };
 "amsmath-it" = {
@@ -817,15 +814,15 @@ tl: { # no indentation
   version = "2.14";
 };
 "amstex" = {
-  revision = 50602;
-  deps."tex" = tl."tex";
+  revision = 56070;
   deps."amsfonts" = tl."amsfonts";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "0be8ae28c39851cb48882041016146d88507109945b6e474fc7758254b7c3a5c1861093861e69f82c4646f7bef369c2b4d212e3bea9e3175cc687032d1476782";
-  sha512.doc = "59a785a7e23e5530b40f45676dc5a0d75fde350d31bb5e6398015e7c9db2a672576d3a91dcb1c928103ce85dd6538f81ce86d8d78dfb2be196f044397a892296";
+  deps."tex" = tl."tex";
+  sha512.run = "b7a3147aadcd84b257ff36163e8de74125dd1312edd3020d23fdbc90b74038846b5153953d1363c617e4a71c3c9c7e1634dc0c7885fba63a6f0770acfa959cae";
+  sha512.doc = "e33d80325d4d77333b0c1fe9cc52a17fe6c56a15b1f1325a76b339300ca454e09da4a6289fbfc516fe6a18e5a66457e39a7f74ed69a675f09e0dfdcbf1d8e9bf";
   hasRunfiles = true;
 };
 "amsthdoc-it" = {
@@ -835,13 +832,22 @@ tl: { # no indentation
   sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
 "animate" = {
-  revision = 53010;
+  revision = 56583;
   stripPrefix = 0;
-  sha512.run = "1c8d528d2bb96d6f47ee2a36dcfc7b1f696426b799b2825cc4ca558d18cfeb6c142c32040dfe861f86a91f671358c45825d00a2b0c6eef8d44e4b89cb6f64b3a";
-  sha512.doc = "2839c6cd71a0ae63d4116ea4a71b9566f698cc77f727ab5dcefd6ba97f9d433b1b6b605bf564f4f86af0cbe2a7212cf38b3c384290c7e19a9c5342dfe8885a18";
-  sha512.source = "eea48e512e9167a08d214a04295c49c729d96728a2f5e70f6e7be7d4b4e74323f44d86d921853a7a22b4adab8bf2285f6749d50ec812c34c3ad6b4ec487b8180";
+  sha512.run = "29739e0c995ef6c00efdaa730a1e866b13efdb4005db8b8088ce4f1826899adabae41e2b7c0659df256817274ee11dfb7a033eb7b2f11302591a1fd541e1c1be";
+  sha512.doc = "95fc8d11094fc1e339ebe7c7db4ea88237790358bbd9bbec8420e3f53bac986ad2b8e6dc5e962c2d0c3f0de348b7b1cbc39b0289cee26276009e914e3ce15943";
+  sha512.source = "68a330fe39398265a10c25d452a6a26da8f4bfb28fd0826293c710e90259a401d55dc2b5adb1f29301bd809ccc2176a2e8b4e82a324a098fb9a29ec7f17bd8dd";
   hasRunfiles = true;
 };
+"annee-scolaire" = {
+  revision = 55988;
+  stripPrefix = 0;
+  sha512.run = "73158727d9c5da0b28fe71661c72a8d1faa705034be8cd10ae36abc266240958cdf0dac962926a96ce445be187016d8440b7aded3129de6fff814ceb6366beb6";
+  sha512.doc = "3e02616de1f5d55837511eb2b1edaa571b6686192433941e1412d812588fede1eb8a8d160b724d1fb8ef8f369cbecd401d1bcd09d4692a79b182ce5bccfb6021";
+  sha512.source = "2e0e2a08820a7826fc6e58dc97ee9587818bdd62d0eb046982dd1f8a676df705e5bb87cfaabf7e260089d71ede1f597b0afd92b69616c0047d64983d919da50c";
+  hasRunfiles = true;
+  version = "1.6";
+};
 "annotate" = {
   revision = 52824;
   stripPrefix = 0;
@@ -856,6 +862,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1a";
 };
+"anonymous-acm" = {
+  revision = 55121;
+  stripPrefix = 0;
+  sha512.run = "6899f18cd8422c1671b74a0ea3f9e8eb47d7ef62e0809d12e71de6ad6a7634c8cc7af22f701c710c9b2b5ee3867acde491bec8d3e2690e2532de3488aed1bec9";
+  sha512.doc = "f7a91677338dff848150dd1beac5645c157550f3463795d2d67493f35a81a09d33ee6cb39f2d921f535c12f26bb60ac17e4208298bd8bd7ba0dea8da4e1b41e1";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "anonymouspro" = {
   revision = 51631;
   stripPrefix = 0;
@@ -874,6 +888,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.16";
 };
+"antanilipsum" = {
+  revision = 55250;
+  stripPrefix = 0;
+  sha512.run = "d0a31d489cbb68ba258d78c14d294dd3ceecad43d746a43fb87d6c129d2b97145187d8f0207d320be91168a3e8d0612c79bd861d327572517479831a52d290fb";
+  sha512.doc = "e7b4caa710d671e8474df9e449112033be38da1465ac475ff77748646b8c24c5589cb2fc3fccaa19642ec68960be1cda4fc4bb427e53ce19ca5c99a45f74ab44";
+  sha512.source = "bd2860412e363d97f50a0055036b283c10b475832c6acd1da617a76cc05391b7cb15ea2b080c2658b8e0eb7d455a5ddac80ed25f7cb0f271c0172008b7af323e";
+  hasRunfiles = true;
+  version = "0.8.1";
+};
 "antiqua" = {
   revision = 24266;
   stripPrefix = 0;
@@ -930,19 +953,19 @@ tl: { # no indentation
   version = "1.0";
 };
 "aomart" = {
-  revision = 46091;
+  revision = 56102;
   stripPrefix = 0;
-  sha512.run = "699f0d1fc5e8fa4bccd31609044e2330dd33083acb56832a64ede0d23d4f21e7a8d37ad5734e282d11238c334399f5b5b6449671ab82b737f9c51612b49f727f";
-  sha512.doc = "ca87c32d703e136735fb6e121c4bcf9fcad367121b071bbb792d96da1669001e4221116275aa6b37df1af7788df4ddaa6948aca3405facc0f05af7ae6924215e";
-  sha512.source = "ba9496f1adee23fff0bf5b3d1d5d54f05c6808ce2b40e7fad8450f01d4c02a2e5e6104304131eb52c91df47a1091f46623d4d4e1849d015f1e6b37d86f210c05";
+  sha512.run = "5b29c240180a4bd2c19ce3ac7d59bddc3e394b8eb92d0723ab044058e06b9ad8ce415f230e3d929c0425b70e544a2b9ce98168c594093113e6bc7574b2e1ba95";
+  sha512.doc = "b32c3bcade372d00f78c8e97e0061a882c3773ccd1730180fcb09a397c635075445b0d5e0584c42531e1352df721d2db77870e965ecd25b55b252b380c1d7ef2";
+  sha512.source = "67636895d4fb4bf64130fb021953117ed29dd69a82b991ba05d6f40a2cfb3653d11c78d0ef60023cf00a7c44de87cb247d384231ef44265dfdf85083e0a49643";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.24";
 };
 "apa" = {
-  revision = 42428;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "53d30a8458538f1852113370a63d49e8c0926437752c9d03299374fcf8adcd79c1c353bf420ac33a364e6ca296079ff385609bf2afbcb95dcf54465715790703";
-  sha512.doc = "df97c4fd9187772847f29950e899fae480cf5fd82d7f6bc3fcd1de93a1535fac7481436c789ae2c04e998f521f23e5b5219b38904afe1394cebb6c68e55d780e";
+  sha512.run = "dd825c533b29f8cd005b238877763ecc299f1a6d23be870bb7b899401f0aa73c4377bbed640e220faf4a1fe204dba0d94671c67ad83cb31d99eecb76e658f352";
+  sha512.doc = "5e5224f11e811511b965e6f79adbab67bda5c809fdb4fadd5913ce570e34a933d139e8f418cdf7beff6e24e79443e4f4e4acd81837f24a5783915e169099e720";
   hasRunfiles = true;
   version = "1.3.4";
 };
@@ -965,34 +988,34 @@ tl: { # no indentation
   version = "0.3";
 };
 "apa7" = {
-  revision = 53280;
+  revision = 56095;
   stripPrefix = 0;
-  sha512.run = "8fc5c0fa2417077725dc121b098f69fe23ab721d7f6774dcb2464123ffd18c148897588c8d420dd433d20af98ecd435ba637cdab7de5ea4134574fc6d1ade162";
-  sha512.doc = "4294a53e7ce87a02fbbf88ccf598343bc09284acad858ece888ea84735e83134aba4d761bf669a67f98ee400dfeb8d73502764c160df51e228a983ff4d945a7d";
-  sha512.source = "3a3e161294c8f5e067fada0b6aad7fbfebf80fff4932f8ef75a47616322f589b9350bcb5684c2eab0fd64abffc4916d813d88542e6d929c606633b682f0372d1";
+  sha512.run = "11cf9e3cadd39f5c5c30258c2df64785b732cb2518f5a4552814ecb2eb615b1a3000cfd7b857c170aa79ed3d04ec2b81cd0d1e920e596f932f744f190902f29c";
+  sha512.doc = "9a6119297cf112f0e00fad8969f52fd8ab2d947d060eeb10e198a647a709f13015406a47591df512a802635e2c4b02ba1194d10975653c45ccd229b68bc96718";
+  sha512.source = "936b8f0f20cb2d36c0d5c0cf4c4fc2e332f85e17a5ad211f120f924819525a659f4a90fbaf185a1c313bbce6b1edc866f2646f188d4efd67809ef36f064fa410";
   hasRunfiles = true;
-  version = "1.04";
+  version = "2.03";
 };
 "apacite" = {
-  revision = 31264;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "02b89374a1a61c7f972aa759b11420cbc7a895972a9b36dd09e48f0aba2ab8d83632949d6f8fbdd781170403639b765ee68a22e1962d13751af7fbd121a875df";
-  sha512.doc = "f9840a9ef1cd33ed01b8338956b3da3676167d8ac99cd1ce32dc0383992fc9b141edb20df2fdb6b0d5df5762ff8d434cd84881f8ab1cb4035fcfb2bd9f3ed14a";
-  sha512.source = "4fc1c927dd602684043a803d8e15b7bf548301bf2562a5fcc111a52676f96740db138da3b58993ccffb78bcaf6dace321f196c5a77022955955c87f729bea506";
+  sha512.run = "6f69733b58f0e791422269f48b56a52ad6b131afc4ab5c7c5ad1d9e0a5ec0d84ba48b8e43340f8e1a563a0c4b10aeb131f1999f836e89f311f067ded8464f91b";
+  sha512.doc = "ba7720239a221d343cc58d28a9611f731a6db21f1e7852b0cdfe0c4f0cd97d475efd83c863b14d197f2206cb2bb0d314266797376b548de250842aa008ff3732";
+  sha512.source = "bfcd5139e68c54b6c35dc8afc46022ffb56101de5dac3e6ea24df372483c2ecc2e3d2d0a486ea284f2fb6b0aba4ca622080910821a27447239ec527db941a2f9";
   hasRunfiles = true;
   version = "6.03";
 };
 "apalike-german" = {
-  revision = 47002;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "37dec37d8e08a2f124c3874eeb9934e7da3cc9cc8fb1ce82705a461e060e4a59dbd82c779ce89c4d53f1ea909b4b9abfd57e1f9362ed432693dbee7b1ce615b9";
-  sha512.doc = "91899056f7c71a20e08e4f5e1a2cab83282f9436409cf28b120b92a3633ec5287ae2b6d7fec2c20ee28299589150408ef2e9760028231523e4c378351a88432f";
+  sha512.run = "8e9a0dd594dce98e441f256efacedecca7afddcb3d8b6bf64e6490aba74f1f3584c71584b7ec115cb054eb425477ec801a20c84ee75aeedbe588ad6302780612";
+  sha512.doc = "fe58a0f2be0b8793ef15f07029d1b81232046b92b48a6d8fa00032bbdb482aef3216ca80f5d9c80424f32d75b8d57e4e4e74b5397711209e18b576f6860d3b33";
   hasRunfiles = true;
 };
 "apalike2" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "ff569f69538cf82afd19d9dd8f798ac36994791d4c5cdaf8998267883432ee0230485de6b0aa9e9babcb285f1121936e911fe69700762010bcfbdfac6cdf5be6";
+  sha512.run = "cb837c6299628a58189f33570de7717d53d83d9de456255b489ae4ef73693b51bffc2dd12c9496265ebc8cda64d8da8b1c71d46f9d96a4bc13c07c9a6e021a2f";
   hasRunfiles = true;
 };
 "apnum" = {
@@ -1076,13 +1099,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "arabluatex" = {
-  revision = 50571;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "53a6524c6d10975d9146acd93aec62f57175c8403dd23c4844a0ba987ddcdef7dd122132c8540733ce5c8f4f8f2f589d4ecd0c10b0ad8f2164b0886a5b8ae6b5";
-  sha512.doc = "fe2a14e2e02c125c9042715766abfbc7a634103843475b15ffa7166b18e33e5e9c8d39481722a19963b79affdc88c3283ada72abb60f05b09a17fba999d06442";
-  sha512.source = "8fbbcd24cd141d0e79232ba5e7d26cf95a554e903a1dd73e78d53c2e7d79f961a6b86bea0e880ae2ac919a5fcfaa44c72ee000d86b0a268cdeb16ffc98455c75";
+  sha512.run = "34c30ac3f9382b56c013fc8cd85c8c42ab903739c3feb73d5c1d6531340d2c0deb157b6b88f2a7554c21be413420484a667a0a672f04096a5dc2afe6c82511f2";
+  sha512.doc = "b9153998fe52ac42bed2bce670db355c805c274b71e3a1f18d8794c36bf9143641b01d9b42cb95f0c126659651aa7dff38e69a7a122326b54e719dabb6f7ebe0";
+  sha512.source = "bc4aabaf735415ae31c0b4a44e339ba7dafee4f5f01462a36c2871574fe540847e98e279f971c17f9cc22626f894dcf8ec5a74e4bbe92ec8498a43c6647231f7";
   hasRunfiles = true;
-  version = "1.17";
+  version = "1.20";
 };
 "arabtex" = {
   revision = 25711;
@@ -1110,21 +1133,21 @@ tl: { # no indentation
   version = "1.0";
 };
 "arara" = {
-  revision = 52106;
-  sha512.run = "5ac4fbc1a03882b15611af6268453bcb2c1a476524a2913f16d78cb04414c3eb4cd9ab7426db813d95afb1e51828a6eff1683fc03fd785ffae5763d5fca89b24";
-  sha512.doc = "4f2f7312a15e572dcf4f9a2fbeef07e9c6d940401c28730afbe9cda3e3247c835771d278e1562d55c33728ab4ca92cbe26a945d96c5e50f6ad54d424ba2af47f";
-  sha512.source = "808c73a642fa3c8e74baeb86e1397c797f9dd69c56dd2ba1e98b2136a753f62d5bab354a7255c456a5837a324d586e36e36468a43658e74562d7e96fd0015fcc";
+  revision = 54857;
+  sha512.run = "64f791900a660b57cc3340528290b741f26d202b8142f8af0649ece52be61f6787835ad42990c9467585c627c75a960f045f932f7d0581677f2b3482e9b09864";
+  sha512.doc = "7a54ffa4c06e3d924fb62175ae8887a1d165f0d2cb84e710265d1a83f16449b9f8580f32de595580db6de591543617d23f40ccc97a10fc05f84527478bfbdf2f";
+  sha512.source = "97f09f02cb52262da1dcd483d89577fa20929130578d235b81920798f697e666d0a0f669e0a83cf9d580f0873169e6b465ac8af6610e208caf8c16918e600111";
   hasRunfiles = true;
-  version = "4.0.6";
+  version = "5.1.3";
 };
 "archaeologie" = {
-  revision = 53813;
+  revision = 56075;
   stripPrefix = 0;
-  sha512.run = "3bb26b77a812a285d5a6fffe4906efaef3a972a6078e6150531f756d39f1287af8746a776cdaec58ec1d3973da740c20f0352c322858f2631772532588d429e6";
-  sha512.doc = "fd3bf3deb244ee05b4ce1eb9ca81ae0c7268447a974e87d41e1cb29468129f7366702d271b1fdda2f5e3ac561a2cea82525877b2f5b077ca80f9bd6158a17608";
-  sha512.source = "2f91bb17dcc8b650a379fb1c39ab1b52361b01eb5fa8e77bcc53344c777c32ed5471472540359f9a6ba1053628f823e1e12838ca08e9ae8df0359a13948057f2";
+  sha512.run = "739b7be7d5bce5f3f89eab7c32a06764679f5601ae971001f656b10fadf26e2d9661331187053db6fe84265f099f76887b983f6cbd0931f71a2147ebe535fd94";
+  sha512.doc = "f0093b989605ba792563a598a3862d005aa33bff2b2b66dbde69cd4afcf47abc695837bec4b378d7b5125cb7144fef0d2ab1029fb0c0f0858e4e2b290fa9adab";
+  sha512.source = "08518f4c6fa8b69862b65ddca05d54f5656b983ba1ee18a63fed04bae8b2968715cba6de97f89ebac42755028ad02fc6791c697f1e1cd6361ac4456fb2e1ba1a";
   hasRunfiles = true;
-  version = "2.4.4";
+  version = "2.4.5";
 };
 "archaic" = {
   revision = 38005;
@@ -1296,13 +1319,13 @@ tl: { # no indentation
   version = "2.1";
 };
 "askinclude" = {
-  revision = 53096;
+  revision = 54725;
   stripPrefix = 0;
-  sha512.run = "909260b69e3f3cdab62e8b13b80a12fd19a34703267171a0f87dfe60651e4ab249a670a1e7854a3d63f00e266fa127b2ab1c13f949abb06afc49397abe7bfd54";
-  sha512.doc = "068432d6304e755f4231ddbf8cebb6ceca31ed040190e6c06d3bb84e8cecd66b40fc7e46650008a6d2effbaa24a7fb3aa43633e46b7a2f4edbd7abb08ee45794";
-  sha512.source = "201cf77a2ae05dc9bed78aab5206d384fb6bb11d6e112a08372948384b0a10d49823de85fa6dda78135c4312cbd28cc67579fa69c7756ec99e54b76f8b3e0fa9";
+  sha512.run = "828a18ff7c2d997f25b46b9ce8626a749ce1a18989a292f7f44e9eff0c28d5819e6e017398e76a6872da6498a4ff8306d8f8e701b87b80f57f455d28389f7aa8";
+  sha512.doc = "a06a9170ad1637c35a25c9a0d89f3721ec350a0053cb5b85374fdb5cc67e7d4653e75c2a5f9b47d19700e3e9ab2d70e5c0c419f68715e664185bd30759dc0291";
+  sha512.source = "909effe3b7569cdd4a4a1fd7db12cfafab6c1ddc0987709199a051696b447f9b57ea0bece52efc28f41f49e2b81611e14e975cf93a2d5e4b1c202f84b9702569";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "askmaps" = {
   revision = 32320;
@@ -1313,20 +1336,20 @@ tl: { # no indentation
   version = "0.1";
 };
 "asmeconf" = {
-  revision = 53544;
+  revision = 56096;
   stripPrefix = 0;
-  sha512.run = "2158d1ec6d6c4e57a0870e16d1f0308197bd5be36e853904c7da87893c4e1063447963bfb7a653a2a2d16f122645397e46658c6b73e115fd4286bba9152cc25e";
-  sha512.doc = "e25477a5227433f4115c2d3fd99585367c519678b8480c18434a3e1cc5ca067c3af0d4218403ad1a3041f8b18424966553b28a2099a82be44f06492359230f10";
+  sha512.run = "333c07c67e35687f7d5ce658322bc0771038dbce2c2c438015bf268040be7981f992967229a3ef6b0f2e3733929fa114b0c1ab0eddf1bef434d0085d603590f8";
+  sha512.doc = "7252880be82af7d9fe662d151a396fe7c460b43aa28c2466e7ece4921ab416bc79cc5fcecbac451798c4a520e93692929e2723b1142043b181629df8d1364c01";
   hasRunfiles = true;
-  version = "1.15";
+  version = "1.19";
 };
 "asmejour" = {
-  revision = 52728;
+  revision = 56101;
   stripPrefix = 0;
-  sha512.run = "14d0157c28e56292411595b7fb166d62b177f97edb3b1d348e98af3a265bf75ffcf3a779039d1c20990061c5e5e34d3d7ddc409c19cd824255cd777cca2a5e8d";
-  sha512.doc = "d5dedf38f02e993715f7a588ca3123ff811542cfa8fde29ca7be731a95de9f355bf98677d06f16c87ccd6ed5da80f6d87d41f877240c6db24cc6a6b77343091b";
+  sha512.run = "ef68488fd747687d5f182af5c85b2ed849d038977c3958a3206ade73827f3519aba2b5488fb6e370f7842e9e5956035ac2f6472dd0ad82e72040be797b3664f8";
+  sha512.doc = "1e829dba81d3fb390a11a3a8c4caadb0edcfcb5fbd3f4fb4cb7b1852eacd6074e238650bfedfba24b6e47a2b100ddcb06fc8feef13abea247009ee3872929e62";
   hasRunfiles = true;
-  version = "1.09";
+  version = "1.14";
 };
 "aspectratio" = {
   revision = 25243;
@@ -1369,11 +1392,11 @@ tl: { # no indentation
   version = "0.1c";
 };
 "asymptote" = {
-  revision = 50885;
-  sha512.run = "e314e473c14c2fd8980d3d0256c6cf6fc7c757a5b4b4dcf90c93cbd15fa70a5e7a0ce453c8382df3f9cfa4aba9c9047b3ee44084e398d9c767bb88ccf3bb47ad";
-  sha512.doc = "7969d7001bf3662ed28f92b07defe67a9262aaf62d8dd2f137a4f36d90fb4ffac034052a6c037882c3bcfbc0fd2b9836fc8815c90c741a26dbc68b59a8879782";
+  revision = 56070;
+  sha512.run = "38c8c9928b4ed067b3ac0fb2a0a1b15a0cb3967a33274162a21869d2a6cd80d96da25f7ad8572b6a87e90792136e06ec1656804db028907f544cdb4482283560";
+  sha512.doc = "ba66eb645b8ed33dda47c473d8c8f65c7316161868d9a8dcb85b7680ae08129593a326676619ea7cb760599646a57394e18f5131b3bf55ce801bb676c46eb54c";
   hasRunfiles = true;
-  version = "2.49";
+  version = "2.67";
 };
 "asymptote-by-example-zh-cn" = {
   revision = 15878;
@@ -1485,18 +1508,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "authoraftertitle" = {
-  revision = 24863;
+  revision = 55889;
   stripPrefix = 0;
-  sha512.run = "ad07262ef312a8807e4419101fd7cd10663926000f7f3c63d9d2a306c02f718982a8c525ffc2c34f04bdc12c5501976236079d2840e16acb9e8b1bcf9598a489";
-  sha512.doc = "54e7c6b96ecc37948e32ab1d057c6b3b242b68889fa07a049448d790b8310026014917977dfee6365bf6196dc661ca79bf963ae9891edd22c22c9f89a7d8d756";
+  sha512.run = "b7496b1ff5dc7544afa6e2181b9c86814671d42603c1f9aa08cc6d45e02dc402e225c44fe554649251b8cdb3dfd81f1b0fb245cc8ed56204d2bcad16e5e9f9bc";
+  sha512.doc = "a1cda29730615ec8b81082f14462c5864033e1b4cbe0b071e5cdc6d9b5393b2e701ba6e6665963170bb99408f03c8fae38fc17aeb2de83fe9c8fbdad8273482d";
   hasRunfiles = true;
-  version = "0.9";
+  version = "1.0";
 };
 "authorarchive" = {
-  revision = 51430;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "9d5dca20f1293b3805c628e051067838c9b7f14d1faf34f39bca031c0be1641424ee8d2466401733bfafb56c4ca1a668e4b3630d991d9911f6acfcde4dd22a61";
-  sha512.doc = "070bbe6a8fae5ddcd6ad7743170fecbd9e1f0db1052fe05458689dd3c0f48c04b2afc579a22510b3ad0f26efe85c3b665386881eb0e2ad499a74ef422d6dcd45";
+  sha512.run = "6e72515c162d80e1efcb1f07bd94a1b32b9bd78b3b9ac056e516171347cdf2460ade2a6e91ef5a4606cfe5e4d365b517fe9271f4a84d89df81b53e68efe2dd91";
+  sha512.doc = "cbe7eade3c961bdf9e0c973529f5eddf7b11cdff6a9683db96c72a35aec82ea036027c8e05b11e564fff9e3f20546a881378d2570c961c194aa7969624395c94";
   hasRunfiles = true;
   version = "1.1.1";
 };
@@ -1514,22 +1537,23 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "auto-pst-pdf" = {
-  revision = 52849;
+  revision = 56596;
   stripPrefix = 0;
   deps."ifplatform" = tl."ifplatform";
   deps."iftex" = tl."iftex";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "2737915601138794b675c44441e71c372d7d2f6fa8d9af3abb2a620582c6c6f11853de0ca7410306e5279012ab3992ef3e40ea115643efe9eff7257b71686f73";
-  sha512.doc = "d26d65d10f4999e64e4c67a104aff38747824b88c290a21a4af3f2b0e5df8d9c524e1f7f62075453582b8bc0a87f32d72bb8fdf274f2eddb12f6984bf516f97c";
-  sha512.source = "8d7e77da20f8671bd562f8971e67f02b357aecc573ac7013544ebe289cde98da2affd1b80c14e32ee9f8249daa82ee83a98829a64cfb644723d62deadf214192";
+  sha512.run = "5c1f85a0ec5aa4173181b087a1f5f8e30be6d8c21c3461999a85b42032d45292aa6f8aae4922a5e97d073fff5b2c9d114cd30f5d5bb73ef523718e891ce59473";
+  sha512.doc = "73d6f4b2e298eedc537a46c1e69bce9e160eb28e6bc2f631596a4fd3aa658d8b51d6dfddb6748b7e629fe564a2ced5e55bcd766650616d936a4197e368b2fcd7";
+  sha512.source = "199e9fefcb2f96f1ad9e33abeecedcff9c72f20614c48951197703ff65901763ef88f425af08021b1843f30c3ee8e3a9756095ad4b165772b829a29c6e5515f2";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.7";
 };
 "auto-pst-pdf-lua" = {
-  revision = 49364;
+  revision = 54779;
   stripPrefix = 0;
-  sha512.run = "db12bf66e8c4c16de2ecf3caff64deb38eb1c163baac66d0dded1f540d817da4bbb9309620b4ad60000f48319c2b8236ae8ac7a0774bf297d731a0258d4be3d3";
-  sha512.doc = "b21755948a9a272611d91622fe8e641f485e1ff4ebab4053331431e229b04796895ca9329e2b69921a9fe1f8624f7a635bbed7ab4699fc6aff819d351bce95b9";
+  deps."iftex" = tl."iftex";
+  sha512.run = "053adb8525158b1c0703333bc9a20d3923468da54db4400f83c8c651820a01a9569542afb5502b56abf7034122fe5baf17ea6d2e7d7dbe53acdc7c2f9b1de68d";
+  sha512.doc = "dc7647af18502d3f7d88cb9dde9a4bc467204a78d6f6ef441d7593aeb2f9776532eddb94350081619986a0dece023c2ece54d3dce554188f5b62056b7a1a96b8";
   hasRunfiles = true;
   version = "0.03";
 };
@@ -1558,6 +1582,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.3";
 };
+"autofancyhdr" = {
+  revision = 54049;
+  stripPrefix = 0;
+  sha512.run = "3ee2452c80ba671414a1669e0c47c7069189dcc0dde97bb33f94e77251b2ac8511b7cb79fd5866c2d3acfbe7768e20f715e61a6303a847ab82564743fb8d2a2f";
+  sha512.doc = "1fc9ac9d47d65eecb1a6736aa5fb148a6309fa64cd18053b038483d484f974f3f1aafe8afb03b88921ab5a990b78a2aa9dc6d7149884a550c57340218f72159a";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "automata" = {
   revision = 19717;
   stripPrefix = 0;
@@ -1585,9 +1617,9 @@ tl: { # no indentation
   version = "1.1";
 };
 "autosp" = {
-  revision = 52851;
-  sha512.run = "46d141e52aca5a538432d937f398d8bbbefa6fdba0c002a82d2afaa7bb42367e4f13638a79469a668b6630659e34fe64852e1f1c99cf075e553e1dedbb59762c";
-  sha512.doc = "f7c7c63ef8bbb122137f5d35ae5f6be1e306f169026134b330cac458498d1f3f898c442b999f6324abba2ea41d513d6c3d87a499ef037240e82d67b7a77a8eb3";
+  revision = 54240;
+  sha512.run = "4759ee7b84753a3906bb4d5a9b41a962a79d95e0f99266f4239319e35b34005ef04fb751516e03b6563fd7d99886f6bb4151d0d0f7aa64690ee468993be0a757";
+  sha512.doc = "f1a36af44c8c9c08518e50d1aea509f0878de04b19702f9e93f1993d2f6a15cdea7f309752ff12e9667041b5e1aeb60de3e27a933f9ac1da23c51638567064f2";
 };
 "auxhook" = {
   revision = 53173;
@@ -1622,19 +1654,19 @@ tl: { # no indentation
   version = "0.6";
 };
 "axessibility" = {
-  revision = 53416;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "b7628e6b5f8a46fb4b7ecf7901b0836142e3ba5947dfc1d7e023ebd5b46665c72b3bb0c77b192e1b1c2095f1fe4319749a9644b22cdabaa651924cc8a22c83ae";
-  sha512.doc = "b329855249999b41eee83fb0c679210714173b5697f4405b8b4edcfc2e47290f66ce281128179e688a2284481cbe71cc50cbe7a9b4d039db977749bb783a47ad";
-  sha512.source = "e522fe38a080b1823b22665d7954f6944a83c28be4dd7493c2a2624ab05f552866f4304c68573f2490dcf31e85508b5b537adb106555777648fe4d0f999382ff";
+  sha512.run = "586e60a85337059a44dd02a4e979e2d7914dabe2dbdd90d157853d76deffa8d4f7ce644636134f9c7e8ef9a99158832a9722dcab56161e14419aa2f2344418c9";
+  sha512.doc = "7d6b0e9ba8cf4f524af95f39a1d39b4426d13f56dc7f6937dee874d33cfadad23ca64cf3bbfa66d1b973369ca03082794a6c815a158b6d60e0b0dec8bfec3f12";
+  sha512.source = "ade173d78e8f9948e201d495e0757c4ca9ce86be6fb7f786c01f8db4a2b8ba31535b47c659ba02b67c608b5ab8e3fc773ae8234fefb84601c6d8688ad10e822a";
   hasRunfiles = true;
   version = "3.0";
 };
 "axodraw2" = {
-  revision = 52851;
-  sha512.run = "9db94d97812b93c81542319320710d4b6f5f21ced10215fdf4b4d6eddae89151a8b01d0bfebcace099d259c394ea8425467174860696366cddf7527695029734";
-  sha512.doc = "a24da2094fedccf5b7d61f97533b9c62f3d0ab637aff347127cd79fc81223e1d8616059b450cd7f9ab754895dffa56c84af8783e949a84c7f6361898617ca121";
-  sha512.source = "722430e741dc848f1465edafca74affe0f02c02d556eb311c1a4471c1cc0de1801245ecf322dc702ff8d491555768323969d545f06f297dfea2802d86544f323";
+  revision = 54055;
+  sha512.run = "520d912cbe3867023e3c487aef76cd75b74b61b1bb92d3ba37b006af5b652cadeac550ca2010752baa724e81d34d5ae4886bcdcb01ed8a2ce33d7fb1be8435bf";
+  sha512.doc = "c1ad9820cdfa589ad4c6240aa85a33f42870123af02dbf72f5c226f2187bf04ae7a15613a584468789f9d5bcf05c9702317453e7d5096a1f2798edab2d2c8444";
+  sha512.source = "c9de4ccdc249d4ecf87aa4b1d1ded698bb1bdaf2dcd61e7b3ee3eeef6c4cb99e1589b381b17502ee35ee349a177f462adb767b61825a2e7d3abeb00f767f878f";
   hasRunfiles = true;
   version = "2.1.1b";
 };
@@ -1648,13 +1680,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "babel" = {
-  revision = 53963;
+  revision = 56581;
   stripPrefix = 0;
-  sha512.run = "2f86e0a45d4911a3a1331c7c42e42903c89f3c2226773caa42a4ddafd11990df8be7b76211581fc4c6ae49424466a78f89b07d41b9b7a86f1ad53dda7b1b66e5";
-  sha512.doc = "fccda4835fd0b1a861e6da181be38db85c4d27718de81a33aeb64765fbeeb6d31ad003b4b3dd165a579c29618cca01d8874fb73c1c69c3e0dca0e3fa70bf338e";
-  sha512.source = "a7de843ec2a5dfa920d32901206a1818e61c4afdb3b5f09968b8d1adfc03742a25d0592d2858dec5258947ab9524959880cd614b6d5c72703ac1fccc7bc294ac";
+  sha512.run = "1772ba9553ce20f13e9a8e10d69a5ce12d71dfedb07259cc2dfac77e8099db47c940dd7342bdf045b7ba67f6672d7410f4e0cfae6715da87db54740dfcfe3ec3";
+  sha512.doc = "1552285e99e5d6bf542ff061f9503a94f33ac49dddc3d726b6ab4e10d07a6a84398dcfd7a0c701b1a78be7acf8a2f7609fd94327c16b79e0051b851b8859c54b";
+  sha512.source = "f0f455c9a80e312a6da3839638de28b60a3ae829765327da30194534fc86960c1f83ae1649129bf2c2337cc61dbbef96c0aaa2b4c82a8108024d317f5ea684ae";
   hasRunfiles = true;
-  version = "3.41";
+  version = "3.50";
 };
 "babel-albanian" = {
   revision = 30254;
@@ -1792,22 +1824,22 @@ tl: { # no indentation
   version = "1.1a";
 };
 "babel-finnish" = {
-  revision = 30267;
+  revision = 54771;
   stripPrefix = 0;
-  sha512.run = "b39de5e94debff30a9f3a0b0b1d27cdc75e7479ad3f37ba73769226e9e2b1883bf272c3dc87044f6c2b97c80a7c049aee64458a78c289f01470ee4a6ecec0d59";
-  sha512.doc = "52fca9282d4070cc451eff247b0743b576dc7ef2553952863aeaf04c01f876d72e0062857690b1d62f1e3ed17918b64b125b96df82f2fc05ae695dcb4788146a";
-  sha512.source = "c8b07de49127f766659f5842d211cef3830ea3f92d8703fd482c713993f924ed0171864f055ae526bed407059733295fe9741646228cece4516bdf49ad4622d7";
+  sha512.run = "9ae92c44f05d137bb613307ca716569413c4af3728ba13a6d9cc5b8cbaf9534ba659e4ddc3ca61736c8a1e8979061615068926582c8172fe58fd90f959aac302";
+  sha512.doc = "eaae2690d45771a9f6161c28dd992a63f48bccab548f9789ba114e12bef0366eddf23b3c28cb401999eb888c26dc68557c56ed155a6c80097c05d4f77cfc8484";
+  sha512.source = "ff7e63d277d5855578b61041aec7a3aa3d0c2aa8bdf865909221210b58ff19e75abf827e84b36932c19bdf7013fe83315cf7861bbab18db0344da5f7464f1026";
   hasRunfiles = true;
-  version = "1.3q";
+  version = "1.3r";
 };
 "babel-french" = {
-  revision = 53603;
+  revision = 56333;
   stripPrefix = 0;
-  sha512.run = "3e90696f5484f6031dc0dda7189ccd28adf12b1f75ee731bc91e5c8e1395f1ea30590980180da91eef20f3a3c271d581ff510eba6660a8354d9c33e67798cb13";
-  sha512.doc = "ac711c3ef2647cc17897f1388c26ca81254da83bfc4030929f618c68d5fc7cc1ecfc7d992f29cf8acbf2c445d31f3f80db8360146bb3397d393dfad111d99dd2";
-  sha512.source = "a691116ff8b0af3113dfefc21377300d9d8a6fe3368e2bab995a69fc7254741c7d6e0839b85659f7620579052bd50e08db5c8a4273f7a9d971f423ecd17ddd71";
+  sha512.run = "387008584ad1b71c10573aef439f36838e6cea0d23e39b9c58804cfd9eb43297e64a3efc2c10a72324e89a91b0ccfc93114ff2e49a3e44433fc8bddb00e87faf";
+  sha512.doc = "1a5068f911e3925685c746b49c670665000ad633dd3b9551d06ec5682c89151f66984240dfe1f7ec2278df02423533206b01725422e3f8bc21e5fac21d6ccb8c";
+  sha512.source = "bce67137956b9f2f261e15951bd0c5a23064308421b4d4713690603a75eba1ee0c4aec50a334c9d9d993f45027b7a98b379ac2ca739ce55e595c73ed3194152a";
   hasRunfiles = true;
-  version = "3.5g";
+  version = "3.5k";
 };
 "babel-friulan" = {
   revision = 39861;
@@ -1836,22 +1868,22 @@ tl: { # no indentation
   version = "2.2";
 };
 "babel-german" = {
-  revision = 49391;
+  revision = 55989;
   stripPrefix = 0;
-  sha512.run = "2aa32e3cd0deb815a559e1722cb2ee423d605449af766a8b7c36c67a0e9081fa0402b88ef5c171186d353a8a57d0ae630fd7eedca1d795bd8130189bf05ab2f3";
-  sha512.doc = "fcee15f9b0123fd6c5cac11143f6ade9e770f4a3dab07e45bd5cebb30e020be58bb9e43cafee6b4dbc96f8037a84012f900eb33836f7e48607c5424ebfa61947";
-  sha512.source = "a1fc8b8134042079b7cf5d2497b7802397ab7fd43dc354a7bd9ef3c9a9cc3e2e6f84cdb193653d0147fcbe9a6859e9ddb2aff7f5e25093771c7ce76024eb0b7a";
+  sha512.run = "7742986a949af41e0c25ee73236fa627689b323574593fe6e08909294a603d5cc6f34ee1bb1a739e3387d7619270a572b21b17d49bcc83391d3d91dfb21b0791";
+  sha512.doc = "5dd832d055cfe94305e409527fc87bdc3855c08c4a0351e4273b187e17e1266393467a0330d526d3ed53f694a8774fce1434715ba197f111b8d5acb53240c2ab";
+  sha512.source = "da222dd2e66e9f90c5672b7c33610f9168981203afd46ce44a73e6ba73bf670630898a60a6bc463295ec82fd0039f29589fe691824123433b103fbf0cdc8b346";
   hasRunfiles = true;
-  version = "2.11";
+  version = "2.12";
 };
 "babel-greek" = {
-  revision = 53959;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "2475f93fa7ee64412a5dff0934cb85cb1c07dc54c3ff905548bb0c4d32cea4580b16d0f43dc0f533bf7996f429888bff6425b8f138bc7b87925c4305bc7cc47e";
-  sha512.doc = "ecfc024317b75bed8428a743c7b3b5c0dd3b06979ec4e90a1a7d06694b019e08cafe39e94db866dbba8c34be78c84ff971d5ef2c7dd2c41133cbb39a7f34e5ce";
-  sha512.source = "6f5d600ceb31a83d4c40496e19e44fd0ad529eb4ee149feecdbff1b9cdbb3ef8c98d51d7d0aea688447cbc86bab89090d21a36eb8438224255a157ada08e7673";
+  sha512.run = "38db98876386d56f4c9bb96099ee63ca9f54938e3be615d5dd56f31d168d0b9ab1af3b8cea5b806d23da9c5c95cb29edf1cbb8650723ed23c9d16049f847913d";
+  sha512.doc = "52e281383c779b7c3d4842ec338b4a53cc9068cd9b5c581cfa40326049b244b37e2757ee8a68861af0805cc38a11b9c731446aa5f59d74d7f6c835dfc9aa200e";
+  sha512.source = "b438fbe2407f30841083f0087f99b3fdf0102df2ed46ef809c86122532e798a657ed3706f6ee07ec019c06fd27cb243f84cb95a4f770f0fa0d95aa8ea9e7decc";
   hasRunfiles = true;
-  version = "1.9i";
+  version = "1.9j";
 };
 "babel-hebrew" = {
   revision = 30273;
@@ -1907,13 +1939,13 @@ tl: { # no indentation
   version = "1.0h";
 };
 "babel-italian" = {
-  revision = 53019;
+  revision = 55232;
   stripPrefix = 0;
-  sha512.run = "9dd2d58f0d730be0cc5319eea1400b8644ba107c81f9d4905842e5c5a4bfb20402e2d67ede0a1c1337e166c63f8c1e90574e11b18275596cf24764de671b3a16";
-  sha512.doc = "97d2a498f4fd9fb8cf1561117b5eb805dd17c7c09c85addb510a62adbfd25ad83cf23e4b97a234878cb735f986245363a1b9f9cb2ec36f67bc45408b05539b48";
-  sha512.source = "98cc8e42965bef45e30309d0e3f6dac1c39d4964e9aa362552c5bd5aeb9a583f94c41ff5cf3ee6ebc7918588ae6f0bc3913dad0226dbfea98b301deec272ef73";
+  sha512.run = "647a87e3e516f4723bd991b973417302c6f369438e6b76c5ef1d795bdc138f31516433af5b93471f0a2692ace29096d6cf8aa49edfadc2e48d1d40c4344dbfd0";
+  sha512.doc = "109a27cbdd24d91166059ae7dc24c78175aecac477a13b06c148b21a8c6451b0a07fd7db55ed8a78e92c05c00d0f73a9fe59c0726f34136cdf7ca3af8bbf12b6";
+  sha512.source = "c9309c07a97625c3f9b1098b603015d339adf4f73218447ddb40c36c8430866b435678ce06b88b0f36f84e4ee5c971452d8f4caa283e1298d182fe8667255b74";
   hasRunfiles = true;
-  version = "1.4.03";
+  version = "1.4.04";
 };
 "babel-japanese" = {
   revision = 50735;
@@ -2005,13 +2037,13 @@ tl: { # no indentation
   version = "1.2l";
 };
 "babel-portuges" = {
-  revision = 30284;
+  revision = 55008;
   stripPrefix = 0;
-  sha512.run = "5762aed39d183575921e0a6d4210d37b5cc25e66288c3c5eba18ce5b2854de8fd440a738faec95a4ec537a3d5c9667f8f2f7d7cd30eff96531062059d90ba97d";
-  sha512.doc = "34c0d961f0cf2eba8c71a0e770d1539eb4825c50f8fd91046697d9b55fb4b45c54b98d69e82b3567faeddc1b59535d32d3d99e6ba9b10d6bb8ecd01c85ee6334";
-  sha512.source = "524f94da19dd272d73cf4ded57f7e7d450d155ea0c7dd004e572811837e4ce25e6d0d02739c11db2647956cd3df99dd26eb648a7556fcc55b70eaedc975a3dbc";
+  sha512.run = "dd8df67c315f44d36019f30203f211a1aab804c9c641ba17367d38fec1eb797bfe58167d52724c5d73c720d564f1445584006e33526e2d0f2f2d2a092f924a00";
+  sha512.doc = "797f48824d2da0fdbd4637796d804eb316085ca089de1f2a86aec5edbb6b9bcee96bb609d7243bddf523002da840c20cce086ec8af4fbe71c6ce70fd05711e27";
+  sha512.source = "9e7e918f272109c1bee9cca937a99406f173755b3313b7a32a7c84ee5ed75ea7c75b47cb48fb8b29ef0cd71f8d822736544ff3396482f0c4509939a1666ecc7c";
   hasRunfiles = true;
-  version = "1.2q";
+  version = "1.2r";
 };
 "babel-romanian" = {
   revision = 30285;
@@ -2031,13 +2063,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "babel-russian" = {
-  revision = 45007;
+  revision = 56597;
   stripPrefix = 0;
-  sha512.run = "6072d24abd098a037a97c9bc139db9454e363b35ab1b84f2641684aa0e95ab3747068a715522e2716cc1dfcd129404f038aa5829054abc29102306e84cb27070";
-  sha512.doc = "702b72058f3142b8e5c2d1e752ef46622f688bbe42a7afc3e93251dd42bced6543aadc4d9ed70865d8fc7868b2c560231489e521eb63ec897068b7d712d732cf";
-  sha512.source = "307e7b28b91c02dc8287d2567eaf057597739d04a5db1ad3ccee3b190c01d5161426ab50e1849294f1222add41b322047d372115e31200588f59317b33d49c11";
+  sha512.run = "fde01c945239b63ac99840dafc08569e78d0a2abd143664693324004e0f815003b1a6043cbf281d5b7fdaba8753b3730e059f6f599c96466e1c2d0488f72e7ac";
+  sha512.doc = "3acd55a7e161cae33fbcfa68e762d61b476d12ea91560822f1de0eb35bc8b04127cc7ef30aca2e6fcee3f4665357e23d570d1b76dd2bbe0539773867c08d8b0b";
+  sha512.source = "b5eb81e9bd501846b3bab3aecea6e6789edd189673cc713e60fa37391b6a09892144bd247c38c197abe79124a814be5275c01788984b5616572d106f821430a8";
   hasRunfiles = true;
-  version = "1.3j";
+  version = "1.3k";
 };
 "babel-samin" = {
   revision = 30288;
@@ -2102,20 +2134,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "lower_sorbian1.0g_upper1.0k";
 };
-"babel-spanglish" = {
-  revision = 37629;
-  stripPrefix = 0;
-  sha512.run = "17fa7078d6bd54fff6c73677536dec46960703e14536c4a4476dc46a8586678b117e71058f665cbbf850a269cae841511807c6647251e088111262d9f2c4bef1";
-  sha512.doc = "43cf66e656d965bb80e294a5e2786b412e79eb1ac6542a4a3788fde7cc6874e168cff30676c3bfe90c5bb67dc4452769dece84508fe999529d54bde40be5a5c1";
-  hasRunfiles = true;
-  version = "0.3";
-};
 "babel-spanish" = {
-  revision = 39920;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "3a80652d28b1a80ab83c49b0694cd88a236b6420f51c084e4eb24c5ea57a3359f15a05c7cc99118b303f199703749dd724cd5ad30035b9bde7b9f95f2bd34d46";
-  sha512.doc = "8e6a424ec3caa8ff9b6d6f0695e54340dfa4fe61c4bdb46e5579ac768894f906458d594869e8d02bff9c7aeb47e75a7233367fcd6525f2a4815d211528552ebb";
-  sha512.source = "1eb97589d5495a46ca98774adc0d1e58da3a103e43ee3a38abb46708529af9a9d2414b7f81882c45b0a20bfa53114e39368c6142d2f6bbc19306d4c2249cddc8";
+  sha512.run = "f71d329928253e6a1edf34fb9406473b83a5c8120982a4aca7b1caee76e261e78f94521716eecfb59171912121314dabf0ce164938e5fe83b722ff7eacbf9b1e";
+  sha512.doc = "fe60634e76d9e539df4813d5c6a240f36e017a5926016189d23da56b723ba92a317e85ef2912ad76707943e0ec0918dbe1a1dba62acee7ea2db99dc7ad69c4f5";
+  sha512.source = "0ad444d85a0c93b3e484701ffc8a934dbe85d3e2bc2e5bf348b33e0247682071ca366c438177beaf192f6c687e4847ebfcc3c325e2e28c15f67ca34d08671395";
   hasRunfiles = true;
   version = "5.0p";
 };
@@ -2191,19 +2215,19 @@ tl: { # no indentation
   version = "2.1";
 };
 "backnaur" = {
-  revision = 51505;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "82fe2e845a29562218dff5d685e9458f2230395fb66e73f658f137cbbcf0e423c9f91bb0ca78ee36a8e0eb4db157ebe13ac3f134dc819b1ded918ff0d1a7ee4d";
-  sha512.doc = "4d130cea9a46abbcd092d1e9fbe5d943847b207258119722d5f5ff36534cee77a1dc213938e48ad629977bb72c68de6eee2b4bf9c7afae14c10659cf1ca3f13c";
-  sha512.source = "2d4d7e0a3fc9e5a9e1dd105267b8cf1a5dd4e094413ae0dadef5fb65d9411c66f6c523c536af94888d49177d795f24b839f49238a25c2d863ef4b37e84de5135";
+  sha512.run = "adf008822e18c19a7e9e0ef4eb54230ff267ba287e3ef6c0686552ce6b51c8b13fce10cc4533a733f2f6ac09739fec4c2a5878423db1c65a993c5bc16cafc643";
+  sha512.doc = "cdf5a269f4055e8c5685da95b18501f7b69ca8b236fde8e60d39760a562bac9bca5da3afc06caf18bc4092a97f76754a48950881a0e0aecba90c40904e699637";
+  sha512.source = "45142a281a29b1f9e24e128f05825ef2b8e8549ab5de03607cb018dcde6e98b751598e01f6795b14c81c190a275162eb8e30402006f4e7d2a07c2effa4a949ce";
   hasRunfiles = true;
   version = "3.1";
 };
 "baekmuk" = {
-  revision = 42106;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "e10fef8fcee389514d759d7b985df3e84d3459a357fc3b4b6bec5c3814aea175aa8f313ab63e6048e60cfa5fe1cb1ddc0ae0410801893ec0e7ff5eabd7283c9f";
-  sha512.doc = "0a69ee489e8ee9fea0fedd80bdbcc7a13505b5e3cc12fae3d56e09a852bc54eb0e64ba73f4c085e5286fb048114eb81aacc2aa34b27d72b4a72b966e188d78c5";
+  sha512.run = "bfc4909c549dfa89f11f707fe8bf2f02f118ccef8863c7708e1fdb65fd772605b9a8f661a41b1ef6f259492e9383774a7751144191f29c285b13840843248419";
+  sha512.doc = "c583a3ea88de39681bd49ec722f80ee09ffe43dc668a1901c73cd40eabcf3be24bdfbe582b72426cc56fe2b27d0f810208ce7feb9222a3a9e0cc2fbdd0e1b408";
   hasRunfiles = true;
   version = "2.2";
 };
@@ -2234,10 +2258,10 @@ tl: { # no indentation
   version = "1.4.0";
 };
 "bangtex" = {
-  revision = 15878;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "e64473076f23f537a3d543aa325b159b6f7c050b626e880628bfa76a705dbbc57dd6dbc1418b4fe0124e90ec4922e90800b42d5f636ed910590fb060e119d962";
-  sha512.doc = "ccbcc6e4739001b6306dc6559f76f577310e73e515aef27ad39c08e770a9eef54a6cd162343aac83ef3530758b3d7dd4c19b1bf5718a86fd321189ea58a786f4";
+  sha512.run = "84d2b5b85f423e171bb90821f9e4518d06a640c02b03638295322e0ea6aedfdb831b6a4e62d3c25259b7b70aa0fe68ffe3081f6de0b0c71fe03c10616c74347e";
+  sha512.doc = "05ca923b97240a766d3ff448c6b16a33613a16e3307509ed7c369da6ec889e7e19d57e5f542b829c788ac4e87bd7025a62af9f7127e2eebe7fdd3eba4aeeb7ce";
   hasRunfiles = true;
 };
 "bankstatement" = {
@@ -2313,20 +2337,20 @@ tl: { # no indentation
   version = "1.016";
 };
 "baskervaldx" = {
-  revision = 53626;
+  revision = 56388;
   stripPrefix = 0;
-  sha512.run = "2351599211d376c25243504645b32f6b6f14967e5a428861b0ab9218fef35f6111b4c0822fb4e63888c4628246cee80863086921e02a069ea010fd21d09cee40";
-  sha512.doc = "93ca07e01ecef3aacf09be060744cd91a16cb18f54c2841dafe1b40f046195deac555adae00bdff80577ecb3c9081da856a1eba2870be8d0ae182a66f1e05ccf";
+  sha512.run = "34e55c19f6675ef921e02e48dc8dee0151a975cf86250512c91ff733d82d2cf6e7c13dfdc8b8f7bd4b59bb233c5341689ba18cd35c4af8114df34405653564c3";
+  sha512.doc = "b5d6e6f4be9d72265f61e8a3dcba11155cf4a3cabae0add57bc5fe3938ac0b9605cae3770aedd46d4243106dc906db3c1634abcafba7f73ef656b45d61dde03d";
   hasRunfiles = true;
-  version = "1.073";
+  version = "1.074";
 };
 "baskervillef" = {
-  revision = 53627;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "ae3f2b3570269852bb558a8b7db6db1605d520276b57558d67459441e911f67d830fecf44c61f9db71bedf65ac1414b26e152f4e0657d7ebc9d42028fcd67d2c";
-  sha512.doc = "559763ae59222eabe3666a9422950bd15b089481b2a39ea0eda80aac3633ae38b2ba8c67f7fb750137bcb261c6109675bd48599c8706ae6de8ff152e5e8518c9";
+  sha512.run = "d7ff1eaee4b050128ac89aff0d48d50c99936b1e04e778d0594d28ad3b225002012cfa56ff515486c98d9769d499ba5f4584358f8969c6286f07bd535b478ff6";
+  sha512.doc = "131117d2170aa77f83954d61d630cd0714c7542f3b4f5e868f834bd091d0b4cd76185d478ae2e4d35c8b9930262d3f14e675681540fa8363b4aa060ea5fd96d9";
   hasRunfiles = true;
-  version = "1.050";
+  version = "1.051";
 };
 "basque-book" = {
   revision = 32924;
@@ -2419,14 +2443,23 @@ tl: { # no indentation
   version = "3.1";
 };
 "beamer" = {
-  revision = 52222;
+  revision = 55908;
   stripPrefix = 0;
+  deps."amscls" = tl."amscls";
+  deps."amsfonts" = tl."amsfonts";
+  deps."amsmath" = tl."amsmath";
+  deps."atbegshi" = tl."atbegshi";
+  deps."etoolbox" = tl."etoolbox";
+  deps."geometry" = tl."geometry";
+  deps."hyperref" = tl."hyperref";
+  deps."iftex" = tl."iftex";
   deps."pgf" = tl."pgf";
+  deps."translator" = tl."translator";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "42f934e74e50d48a5e9091b0b8a2ba1fcd42da22bea3e35a4e62033444e46841da16982ae66552396e7c1a8d7d3136dfd7cd1c0396828079df2615113692e836";
-  sha512.doc = "fc387ee6a0630df8100ea7d6b3357f7cba50d1022b48be2d6442606d700761066458359a8cb4e8c9751f53c3c0cd6c36382dd7d781cb97792e493bb5652c54c3";
+  sha512.run = "c3632194b89f6e21fee4507ea4139215b018754a6b15cb2e4e02e7442baa5cb840393fa1d15f123dfe3d48d2312a9098b8ac477abc8dbb5a43e0c574ea8b56a9";
+  sha512.doc = "dc19602254665ddecb9f7000e440671df67835142acd09044428f4c28526b0fddd86c68961bbb8d22cdd31ee171f6e15fe443d5160c232679e5a8a4b4a632ae2";
   hasRunfiles = true;
-  version = "3.57";
+  version = "3.59";
 };
 "beamer-FUBerlin" = {
   revision = 38159;
@@ -2436,12 +2469,12 @@ tl: { # no indentation
   version = "0.02b";
 };
 "beamer-rl" = {
-  revision = 52284;
+  revision = 56151;
   stripPrefix = 0;
-  sha512.run = "4e7e9cae6b48521baab4d92965d5b4e14d9b09a51e95b45c4953a7c6199c29691e5a8e69a68c0b29d27d51ddbd1fe57ed21cc6dc6744fb0de2f7544848aacf06";
-  sha512.doc = "bfa9d52b34ad4edef40166e6a0355e5efd4508499a87c1cf4f643fe30f873366158e21706c06f43822e244c69b85c40d254c68d60a82b91e3a4381d27866b807";
+  sha512.run = "1398e8bb52f4cab94314697b76912bc039f3a7f26e1fdf646e396d7807b40b350e53e38956d554886f4276b6843e1944559a09e6ddb962176809df48f65fb659";
+  sha512.doc = "2e2f8d49ba331c0c91ba1551ecbdc8a481c2c2c0e614d33578187a25e429f27e2e12defe399f3d5aaaf64d49de5154fad53ffc804badcdcdbf843dc4c05c21eb";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4a";
 };
 "beamer-tut-pt" = {
   revision = 15878;
@@ -2465,6 +2498,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.2";
 };
+"beamerappendixnote" = {
+  revision = 55732;
+  stripPrefix = 0;
+  sha512.run = "bfb855380ded0b9ef019a139c93cc4f520d4390d98ddfb43483679742ee597b8e045c8286a9391ec068f51ae6c50372b0438b41e449e23804efbc18767c11726";
+  sha512.doc = "abf6b36bfad890b37a0add2ad443c39ba2f2484bd19f9730fec4cbb416eafc6fce723fd5fa684cb7adba4110f888641cc570ac7b7a26ccbf06dcd3697e2c5921";
+  sha512.source = "f90db38b52c3c5dd3867111c17716160191ba238b965185d31d497494cb17046a83dcc62966bdc01d79a3f1ddfe53d9d9a4e31a6084c951b68598bb4ca392c4c";
+  hasRunfiles = true;
+  version = "1.2.0";
+};
 "beameraudience" = {
   revision = 23427;
   stripPrefix = 0;
@@ -2474,12 +2516,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "beamerauxtheme" = {
-  revision = 51053;
+  revision = 56087;
   stripPrefix = 0;
-  sha512.run = "3f5585ec5b379f32d6051d604526ebb00673fab5236190226fce4bc2a4da3ed4c6a79431edd0c011bd34298d8bc2f5eb7a9dd9aa9b0bb15bfca0195222e1a37b";
-  sha512.doc = "faaf5267dea60efacd78f6ed055e1a8691729d96e3959d98ec315ef9802aa01a7193823973c488d44d21ecd845ae21bf51433acf007a34f806656fa6b3a8ecbb";
+  sha512.run = "8fbe5425396d8e5fea8ce618091948b84bb9e3998b9f34730686d9275398d7a149c912cf80d9f7da083af583ee37fb191435c68d8ea6741776ec2fcaabe9194f";
+  sha512.doc = "3d62f584a8170113242f1ba9bcd1fd3a47c539cf646719d4e11464d892372b0713475b026be3721e5921202d40593e56f2f5cb821bb12f11a629a81e390f25da";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02a";
 };
 "beamercolorthemeowl" = {
   revision = 40105;
@@ -2491,18 +2533,18 @@ tl: { # no indentation
   version = "0.1.1";
 };
 "beamerdarkthemes" = {
-  revision = 35101;
+  revision = 55117;
   stripPrefix = 0;
-  sha512.run = "ca30d15a7bc198e67cca5cc43dcdb8e644e03d1c8ed71f0b40c1dd0219ce81688067a82a0ab002b2d72e990e227f4628319cc72d5687881a3b886e213d7eee93";
-  sha512.doc = "6a1fcfc34793b93005b683eb0f0f4aae794c56e85fd5e14ac6e1c4eeed763f7c6203bd05c92755a2db91aea10f4c16117e702c291388153415dfbacb4b39d00d";
+  sha512.run = "ced5c093d0c4e3c23fcf774bfcc768b8a3adb20287e0677e1a2474d5ad1eeea1f5f979f988c0f0ae6a484ec1953b95c044b0803df9f76f289e999ec50889433a";
+  sha512.doc = "45d0daee876c0e0d94b2ce6ce7b49f6eb8282643b1bf3540abb07e0e7782434c224ba40ff933e9febd893467ebab2ba7cb588669a98784e8eba6acefa0d30611";
   hasRunfiles = true;
-  version = "0.4.1";
+  version = "0.5.1";
 };
 "beamerposter" = {
-  revision = 47508;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "e4ade5948c1eb8e18cba3d3b7699686d55d57361e0b26b923336d295b8fb6c7cdec39832dbe4f9358c94302d412000f19b4706295af5856e12482bb3c9951a98";
-  sha512.doc = "88ec2b723a551711c33972cb72b7ab9ac13508f583e4e26eaa1c9e6d57d537667259b4f93e7e33fd2a5db8086998f6ddef05c363613be645eb293606d72cd52f";
+  sha512.run = "7483f14a3008997c0c39c351e0f8b9a01dc42331ae990575ab33ab29c18cea648e0e6ab328a2c1fde404bc10eec78d7c7b8352bb02636e00d5d6e8689f1c717f";
+  sha512.doc = "f597797340286e4a87b62696fa167af07a1717a175646d11836e1f347601551fe0aec5ad4362c135d0f6bbf6b45e217a91bdb5053ba1331828fbc352583d3697";
   hasRunfiles = true;
   version = "1.13";
 };
@@ -2516,13 +2558,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "beamerswitch" = {
-  revision = 53467;
+  revision = 55441;
   stripPrefix = 0;
-  sha512.run = "e117e71b17cf08b9194edb502fa60b0e551e80db08e18fd56c7b3e1a23761b47ccaef2fee4aa547bd3c04ff8ab0fd7b3128d2fecf972fe389cff7bbcfeff413a";
-  sha512.doc = "f893371bfc9e636d0b5bdfcdcc6209fa264744887ab145eb23335d891082b091d809bc1ca59d75163d8f95179221235327198abdf87bee7116bb0b5271523697";
-  sha512.source = "693f6a0bb6d690926f7bb4fca34126155a3999841664a8847902beb615d3b0f037fd01328577a7ed5a16532699374840889f3d015b8e3a6dbf5f874131726822";
+  sha512.run = "7f7851b146d4dd5db03f372b0014c3bc60f253a302ed157643ba0dcab31c966cecd2b80cf341208cfb25d885bf58dad9c6487ef0e36d1ef1dd86c235156dd761";
+  sha512.doc = "2e87e27d88297b74a6c5d9c17059134bc23d6ec4f0aa987bc7e72269ed153c0dcd9a3cd86ec17b8a6e8b0c280cd89cc40a9209732ebfe192d7b6c763fc2882e4";
+  sha512.source = "22b7e89d43ac5266189c47104a6f5da3e2a489afac705b1ca83be0825fbee29818ecdb3c893f04001e48ad95694cf21e1666a90a1fb27701d0d0ef9ee40fb59a";
   hasRunfiles = true;
-  version = "1.6.1";
+  version = "1.7";
 };
 "beamertheme-cuerna" = {
   revision = 42161;
@@ -2549,12 +2591,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "beamertheme-focus" = {
-  revision = 52872;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "8f863bb0b42356e9d4b11d62020bf81c84662c71820101fa2e5f6303d8da8cff955cd370128fdadded781afdaa0937630733fbdea67fdc80026773cdae4d01fd";
-  sha512.doc = "6f8c1aa0cab3a9cd906c5eb6ea4e727b344e8a15479641acf04d23141a4af80169efc91b2117270be38c1d7505625458f276578756d61e12e34364fb901c383a";
+  sha512.run = "c3e4be78d964598e6e83be90030cf30a0d28e0a36e639b76dc3b9b4fc1170392a97cbfe94959842a789c86422448f9b0423ae242cfca9031d68e15ac23f6968f";
+  sha512.doc = "9771d48a5966da9a8fbb5417178d36769e092fd2179582c69a240f7adbecce3eb52a21a53291a34b78357b722e459a1b32e2ff4d6d338943394967e5e7eab8a9";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.6";
 };
 "beamertheme-light" = {
   revision = 49867;
@@ -2574,10 +2616,10 @@ tl: { # no indentation
   version = "1.2";
 };
 "beamertheme-npbt" = {
-  revision = 48424;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "bbc620fbe30505183c4678e0dc9c7574ba93a4c410647b54609c310918e32a638265b07633932e2f5f63fd2ecf8504869e4f3f138073e666e1341a4d0aff327c";
-  sha512.doc = "0c1f5df1c664a31e400f4d05a9f2b57c4c9fbf881295fa8165796944a06ace35641487df93db33276924d4e7c5b9d6c621aba70e5ed9ee61dc269af3b51f7a2a";
+  sha512.run = "9125794ab2ebc4d15ab500b67b9943234d80088393d9b31989ae8209359dca97778feaab3d11365ae1b4131f06dad2fe73bb21fae1220b401c5f31f413cff171";
+  sha512.doc = "7703951f2afee05627847980a05b0bef0cb2fe87eec078f64a3e4796feb4057bdf93708ef0476090d40dad2605c69e23f695b9164a969e6a67f8329e6e340a3b";
   hasRunfiles = true;
   version = "4.1";
 };
@@ -2589,6 +2631,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"beamertheme-pure-minimalistic" = {
+  revision = 55360;
+  stripPrefix = 0;
+  sha512.run = "6e915b404db09b2400b0953eb543a3ab9315b2ef782e621176e9db7de576ecd666c34f16d54e27d5500fab889d178793cd6768b63a6fc337401245fb897df4ca";
+  sha512.doc = "4a0e1f612ffb1188d2a0a42a23056ae84111ced5286349b7cd69fd28ae6ebddd03ddc33e53ae2121dec39ac3ec1cf5118bcb2b50c3d77da1ff3b5aa170e4039c";
+  hasRunfiles = true;
+  version = "1.2.4";
+};
 "beamertheme-saintpetersburg" = {
   revision = 45877;
   stripPrefix = 0;
@@ -2620,19 +2670,27 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"beamerthemenord" = {
+  revision = 56180;
+  stripPrefix = 0;
+  sha512.run = "4ac0d1a6494f7acdb1afd73b2bf8e7c966ea3167f856432ebb872f0285cfb8fe759735b57bba5e9ebbb91a0bdc9e2dd643f5ab0686e9417e0719369266d7e46d";
+  sha512.doc = "0e2038d76d478bfa54a547c97e002e84a98a1dc7ea0a1584f12d6cb1b2c4cb1f65d9d368533b5870c4f3ecae02396ec0172a89eef1547d33a168ab87c846a4d6";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "bearwear" = {
-  revision = 53425;
+  revision = 54826;
   stripPrefix = 0;
-  sha512.run = "cbce954b7c626f2941e77a121346dc4d9fb618908165bc1d8a6a55904573249dde7cfd4a6323c9753e8fdabd88b73aaf4b7e6d4b40b21e13290e2a80d2080399";
-  sha512.doc = "2d9c60efbc6d0d29d31daebcbef2cdc0d0af35a84223107424e36ecfb085b7341340e06b9006cae0ac15ba93ceaa50e1b0a942b7a01292f9f5010f32983fd4dd";
-  sha512.source = "7b233bfada9e05a147579f32d6405c7eae3e2934c55dc77659112cfd60f4d57b084854458de3fdf3aae7a14c4d4d82da8be91718b487b4b2eca33a569594a693";
+  sha512.run = "c758735d869a9b1dedb64c9c0377891606d32ba69fe0d665d882d7d113bcf3c9678e6cbfe93c269758d492a0336c26f937195f04e80587c1aa083fb1c766829f";
+  sha512.doc = "03171083f40cc4688ca6849fd371189b43a9e5963e06be3ad44271b11cb985cfa0b369b49ed43110395e1d7d50f4337e9ce597989be48049cdf3c3a1beac5ff8";
+  sha512.source = "5263fce263e48699b3e59e556827f3fdd88cb812a33d259effad361289ab8270c40d7c3c510938c56a99070bea4894d769e7f0986c7aab75262feb59dfc27078";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "beebe" = {
-  revision = 53819;
+  revision = 56534;
   stripPrefix = 0;
-  sha512.run = "802a349991ec0418de9a3de2247dd73c904ec5e3223f17cda0dd2805c8012276fabf412b861d656bfdd7aa2da46fec251b7eeae083ac3ed361cf1219f9b2e915";
+  sha512.run = "e1119cd8795e66499b811391a8ea2cedcc5e095d81edeb01750113495ce751b0edc4359ddbaafb216ce6dbe34d5748e2afb6cf8140349662d5819d9121183804";
   hasRunfiles = true;
 };
 "begingreek" = {
@@ -2653,13 +2711,13 @@ tl: { # no indentation
   version = "1.6";
 };
 "beilstein" = {
-  revision = 53925;
+  revision = 56193;
   stripPrefix = 0;
-  sha512.run = "63e4720a73e3ac4abd650c3787dc85e7e4e261481e805cfae4f32dc7ce9cdae6e08516d3e8f10c0f52c7d7790e6d2a2bd390bb512cc0b94fbdb2e04cc67b2495";
-  sha512.doc = "cff7c9ee987ccfcec0252e3e7ed1c06f67d9ea6f6534d36b62c4c00df0f1fe99123debd2fce376fd8d0febcb9d3fcc61b14ee9e4ee7b54a9ca042056beb4d7c0";
-  sha512.source = "551f92238fb5546d3a76bc74786c0cad07d0c2b707adab292d47eeb984e06bc44749437e876eec82908eacd4f3b3927f3830eeee9b8f65b9b7a5ba5c6939e063";
+  sha512.run = "4d604245024a94e23c30c7968e177173efebc7d8d227688f0e90adbf071c7d0d44a6c07c37143675a66899062ca2b8c366516ca3863128e33e784919a33e3d49";
+  sha512.doc = "9684c13b0d91121e7e7548ed9bc1e377ac7a54f9f1f2aeb57d465bab36b17d216e1cae4eea9b3fb6e5afc42e41f465a31db0209f5b45f40f7db0afbc4646c73d";
+  sha512.source = "0bd1079836d7740070d6100730449e6118a14485902a9016109587530e0f83b8dd4a4466cce914c5f06f42163da746e75fd998eb6b279e45574f81535e65ed1f";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "belleek" = {
   revision = 18651;
@@ -2670,11 +2728,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "bengali" = {
-  revision = 20987;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "384c07640acd5d4ef2fb661d661f1f3550fd84ed08e5345ec71cd7b3189560cff18c4992a91c13812e5bacd06364e3cc52faf6fd32d01a4fac1b2928490f97b8";
-  sha512.doc = "cde57bbf0c8eb52b92973f80c7a780d30967fc2dc0624f1626856054bc0005a5f0e318474f145b9abd60a59cdb6e87e8b4a3b03b4b18282db758b5f110b46371";
-  sha512.source = "f6f8641cd631870077a73c702da0d7718b2a06236da608b3ad6cb81e60530f93328772e97870c3da8d6e3ff9106729db5d3137c56329f6271a9b1810a565c189";
+  sha512.run = "2ace635791a4c7a8af0843a5a92d518d0e93fc09a94929a277002a3e4426f199e207238766b07ff3f1e1bf0e3c0cf8b83897b30ba105ee7239d6ce1d591289fe";
+  sha512.doc = "61bed8e39b9dc4673ce27402c0ee76b035e254133af09bbbadd00b80d367ffe204d5f660af8c633bc7dc6bd81f66ce419741e341f63e314367f2e54c61f8269e";
+  sha512.source = "ddfd0dce8379aaa3e224f74fd33fa4dd1fbe6a40d9a01bc6dc8da1dbca5b5eae97c4837ff21c75be8658d37693cdff3c2983fe01c77d13bd0eb89e14f78d6e2a";
   hasRunfiles = true;
 };
 "bera" = {
@@ -2757,20 +2815,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
-"bgreek" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "64a0a2a8e19d7fbc2953b8f1e9fee90d0367e5f943cbf146489e930d6a946f9977c32b5ea3fcb334c2c297050b36292f813e073e35866a167ddddb72f123a2d6";
-  sha512.doc = "b5af046a386422400434b1c5ef441cf1c2ddc29f5d4b089aab0ece392e7ea81d9ba224145d612d721d13f05eab3e4b0f2cd6283f95e096d831e6e68074d6fbf6";
-  hasRunfiles = true;
-  version = "0.3";
-};
 "bgteubner" = {
-  revision = 44205;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "0bf19f7ecb12194c2d112ab15226aaaed3737f99cb2841ab9c755e78e3fe92d43f8c1e3abca566426f1c16bb4a200790d77397129da594239aa9d2f9a6ff0a0a";
-  sha512.doc = "a4277960129fff04ba3ef6e24463866ae75ae0b690d8e95f618a7c95a442dd02e84d16793a4f5ac12a945ef3b4bc7af05fdc27e551c0e8c92c141081d6a71cd3";
-  sha512.source = "5d20396e63bdedcf2b94222b8e060c498539f92bd99c9b78fc0e0fa44eb95734dfcad7c16e503f33dbfa8032f49d7a6c1020a8a940077bba36ff73f5ecd45ef3";
+  sha512.run = "53d38b2bf03861553a60db38c06b5b7eb48404a08f4bad645b24383ac4131a5b60a0103d0d2217cde1aa4f8bd739db4389d25693bb6186fe0974b0ebb63fd567";
+  sha512.doc = "344c8f7800a273b914265ccd9cf8175a040f021c07aa0fce3b6391db85e8ecc43d5d593aeb8707f82cc2c8c987b2d72700a2fe4d8b0bdfcaf2a525c5d79f7e3a";
+  sha512.source = "ff33871afe34c6d578dd5d8e795e36e83a785893d8741dc2ddf2b8bb27062324f00e0f52b3cd3d993074a7e7d21207537f028f6f5dbf8384d02799d1108b9472";
   hasRunfiles = true;
   version = "2.11";
 };
@@ -2801,28 +2851,28 @@ tl: { # no indentation
   version = "1.5";
 };
 "bib2gls" = {
-  revision = 53964;
-  sha512.run = "96d9bbc8d0beea9bbebb6fe4c9611c12947c1b820c0b6e029052e292797fde624166761f112cecfbc4ce040c66b4f5fc0c6450facb7827d8af3dd365a2a58920";
-  sha512.doc = "c08f2ab6452f4dec935131f0139fbb84e8fb92a30f909c7843b452f9c4992532f4bcc9012539d795037d555ad12da918fffcbc8b8373bb6bf10045858c0c5e65";
-  sha512.source = "683f9f48c12bb29a413592a38ed21326b0993010e6a0244be1957c54ce8f1c954f74fab9e16e169dfa0ea254fb05803e0b89ca985242b9588f0556bb53ad2829";
+  revision = 55811;
+  sha512.run = "a4b697b6f4a2b809699081b6992b702b736bb82883a487f58b6b71cbc0e12cbbab5340001fa96e30075a823b4b6a7f37e514fcebb591a950f814658682e2fb2e";
+  sha512.doc = "8f6c1e6647ff35cf167072d89af35930d51eb62968643aebbfcc189446d76b10f49d0db270c43b0c787889069decc1ef844d79bae5df38c3619a92904aaff8b1";
+  sha512.source = "fbce6911efaf89c5a734c6a56bf9656bdf52f40e795f57e5997a93b1b83b8543b35330368697a7e8054648d52f0814accf57fbe059570903f092abb6182276fa";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.7";
 };
 "bibarts" = {
-  revision = 50226;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "04ac23199e53049f54b670a2c6de94546a01d987e96aed23617692aef156e487dbf631309b81aaa0a95885f9b989e4e9fd9409d444d319cd58169e930b842ae6";
-  sha512.doc = "4e6282217b655fe87dea8e5cd68ed0db14990756bf997e90d3a5def53da50fed63687bf33e00ed741ed437572bb554fe68ce34b146bd31f3fd16e9f66e5879f8";
-  sha512.source = "59a2a25aab81c196e50be807e43a2db0a8eb72b0990b7b5cd8dba971ea995f863986fe759534bcd306b64aaae155cc99a5c6432bda65346cf0899de2c62caa97";
+  sha512.run = "2e85d46a2d27d1016dc6e304eeb47a1a6927d38cd5105916c61c86415d8fd92ebdb8a48b5fe4b5bb58856202b5d3ade4c0997e238cefcc67a879b27f27cbd27c";
+  sha512.doc = "7f77175f1b9cc2dbf9957ebb99d2b471e51965c5861e64c6841e3a88eff033d3a9e0791b93919346b3c0d26c1035482b1e5300be2232b69d988e6a4ee5bd96df";
+  sha512.source = "724de91be680017f04a2255e25cd3158c5fdff39ae1684ccdba2421010155ea9e2fbedd4ca1baecc8a56514c5b8fdfb964fddfc0b14d9e48a649d4e7da8eeee3";
   hasRunfiles = true;
   version = "2.2";
 };
 "biber" = {
-  revision = 53064;
-  sha512.run = "e0f59f15bb12276ba653ae57d7599a0d31a5dcd67c64a311382a14ceda686acaef689f1e3be72597b2333fbf3df1d9ea3b21c12ade41393972853ccd51d1912f";
-  sha512.doc = "4aa96124801d1cee36a2a3621a697ecc2184089fc7893ffb43de27e6a9c29a093e22aa5a7a54f0587b35159055998f7a2424637f83fb5107450ad4a3672dfe4c";
-  sha512.source = "e467ec0b5ed9f3d568cde7d71962b1e8c6c1a3ab26ec48b75a08332c69521ca740e54f14558a7a0ecc8f7cc7ef1072fa7a5745f1b84f61a3f7e7d7a709378f72";
-  version = "2.14";
+  revision = 56144;
+  sha512.run = "9ed3866c784065dfc27655ea45679bc32851299e9c15974e19fb635b7d7bb356b34b4339274babeb5650d7a2827471f30656a183aa66ded6a5166f4173dfd008";
+  sha512.doc = "c1b5f8b10d332e2bb2f5e256f67416b7e3a468f4f0e5b9d38b488091c7ef991ad843720c2176573de3b629b3410218363b5ae4e1ce4a6642163fd787e8ff051d";
+  sha512.source = "9bf1ed70c4b07adff102cfce504b4c6eff879a40747a17d34b8d30c2bd6a8d27e5969bc32a6b26304f4024c2ba57209bb277ded1e537850e615d654d598d35ca";
+  version = "2.15";
 };
 "bibexport" = {
   revision = 50677;
@@ -2841,17 +2891,17 @@ tl: { # no indentation
   version = "2.0.2";
 };
 "biblatex" = {
-  revision = 53063;
+  revision = 56166;
   stripPrefix = 0;
-  deps."pdftexcmds" = tl."pdftexcmds";
   deps."etoolbox" = tl."etoolbox";
   deps."kvoptions" = tl."kvoptions";
   deps."logreq" = tl."logreq";
+  deps."pdftexcmds" = tl."pdftexcmds";
   deps."url" = tl."url";
-  sha512.run = "544d32bf4ee3b822ecdab4583ceebb00fc3a03222e6846fe5aac6939fe4fcc6f0997939107b4654bf2d0bae920b6a92310328e330ae60de49402f9b9c21cb753";
-  sha512.doc = "d8a323a2e946c1eb94bca8e24081dfa3af71466a4b25b6b8c677de7515929093a75823198f35e86b175045d2b91a4c18e6e3277b08b8fe8ddc4d7d5c411e3492";
+  sha512.run = "e32babb9276e130311ba93e3a5b107f012e406fddba3594cc2eb94d92aa5508522a868e0fe0284b5e28bc90183c0700d8784b0d4bafad6c207261b9d052de74f";
+  sha512.doc = "be2dc1b5fb666c25eecf9bb37d9766e6133570af56d6b338142a73d8e025d541354126a2f57f7f64613c727d9a92848b2f614aa35d5cf53e61ad7920532a643c";
   hasRunfiles = true;
-  version = "3.14";
+  version = "3.15a";
 };
 "biblatex-abnt" = {
   revision = 49179;
@@ -2861,6 +2911,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.4";
 };
+"biblatex-ajc2020unofficial" = {
+  revision = 54401;
+  stripPrefix = 0;
+  sha512.run = "62d09153fea349881ec381bf6f2badd4453c5b2c328e8e3fa1cf99ae43cf62faf525bd453f02bb6d78e9f12ae4e35dd00c2c6f8efa015336bb13f485e8064683";
+  sha512.doc = "b66f343c8456e3efb118fa18851dd08f298d5dcda4312c9688ff486db7a98fd5b3b953616f407d179480220ce905a6a6a08faa325061df9b71c6490277cdfa4c";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "biblatex-anonymous" = {
   revision = 48548;
   stripPrefix = 0;
@@ -2870,20 +2928,20 @@ tl: { # no indentation
   version = "2.6.2";
 };
 "biblatex-apa" = {
-  revision = 53873;
+  revision = 56208;
   stripPrefix = 0;
-  sha512.run = "1fa8864f512f62025a4ad844c2c1b9571028911846f8ad57dd86ad189c331586e316ae403104ba717af308c89ca27f822ce6f2800df574e5acbb07d95b822c2c";
-  sha512.doc = "7bb1923fb7ea69b4a34e77c0e7b3b5792be6e603042021108ad679a045b2fe0bb8cbd6a74bf3530c981e94ed0d8d419bd95d2491bf05f4bcce1d610682d1d912";
+  sha512.run = "59ffdb263b02b4934955037f377164297871b10ab3794dd8a11b70cecaf9e773bdd2b3b2aef24d5085672614a51956ed8083866c6f56c72a8c8eb4c1ef6a775a";
+  sha512.doc = "eec8f6cfd0244639f91142b3ac45be28eae14e10881a549d97f0711235cc46b6c25983f0d7742ec1c8894dc8c3c189070138874a6215f630f5e3fb710516290f";
   hasRunfiles = true;
-  version = "9.6";
+  version = "9.14";
 };
 "biblatex-apa6" = {
-  revision = 53000;
+  revision = 56209;
   stripPrefix = 0;
-  sha512.run = "83a7456021e207fb8616f4dc1010979e4e37097f05914fdb6bd631c02a75f28e5892cc028e0d05981841a419e74e4d02923b2b58be883855574acbef5973fa26";
-  sha512.doc = "963ff8ca4c6e7c81e410af7d476936def4b19867b38f6740952581f36e87b52872dc3b90b731b8445ecd13696f9b383a48cd5d473754f6324f4bf13eed1d4d7d";
+  sha512.run = "c327dac9368270aff53b8cc9319834c36b20701d379017c1ac0f4597cfcee56a5f9c149433e2629e2bcf708bb63d8b8706ce9c6dc009696870ebf06728f11b7d";
+  sha512.doc = "4eb72746e8c627106cbf7e0a7164a30030cf87a6d91ec0afcef70e072dacdf2dcb386ff91e1ff648da178c6f01121c16277630752ce792d54812fd97cb699541";
   hasRunfiles = true;
-  version = "8.3";
+  version = "8.5";
 };
 "biblatex-archaeology" = {
   revision = 53281;
@@ -2920,12 +2978,12 @@ tl: { # no indentation
   version = "1.3.1a";
 };
 "biblatex-bookinother" = {
-  revision = 53484;
+  revision = 54015;
   stripPrefix = 0;
-  sha512.run = "ff9cc867462155dde3fe654a1d71bc3a3370ce0ad5dfdd8d6a799581e637e17f687a2830d56c3d396616bfecedb5b0d562513d5497bc89e02dc76874e948d95f";
-  sha512.doc = "0ad1d1280699e000c7183c2337e7c2c7570bbed2fb901872249bbe733098cbc623c68d1d6357e21274f8e2e0c1ada023b6e845ea21e96f6c22a22acd5741051c";
+  sha512.run = "afafb9bf593dc3541ad527f09ee881fdda4af3bff78f02b68d53463a07494ac6c03ba55165738501b685e3e1d998eeb973e8431651ccf904b3ce0ea591dc0592";
+  sha512.doc = "ebf06bec2cc1b083a472bcdf03772c9f5568a1482c926ebf886f02ece86a6f0c31a127d285ee16baadc4c0ea771eaac05e374c0a3de215d677b07a0335d362e5";
   hasRunfiles = true;
-  version = "2.3.2";
+  version = "2.3.3";
 };
 "biblatex-bwl" = {
   revision = 26556;
@@ -2958,12 +3016,12 @@ tl: { # no indentation
   version = "1.1y";
 };
 "biblatex-chicago" = {
-  revision = 46331;
+  revision = 54809;
   stripPrefix = 0;
-  sha512.run = "85f50368da0e9497b92c09548c60c7160779fe583a8817a114d625846349dbdb0f9be6813476bd74246016b85badf90733557770094207107fa3d23bdb436783";
-  sha512.doc = "aa511c96eed89d10629bf6f47aad832530f1c108a6f5eea64bfdb9c47f377e7b64b69cd55eed2022ab79fb0d93a31574adb9182919b2113976d1ff084898e920";
+  sha512.run = "dcb94af1b86fb8b7f789e598f2c0cab025d2e085b32f1211e281f426666662a8649f978a049122ff4b8b53acefa69555c2ff0d5eff35971718a11a79401a1131";
+  sha512.doc = "bc807652d834bbb12913d88a4318ce9e537ad893fe4626af29191853fcd9d7ad0cda3a2536b6f05df7467989c75d4b8c0405ed90789a1c486655ccb7374ba0b0";
   hasRunfiles = true;
-  version = "1.0rc5";
+  version = "2.0";
 };
 "biblatex-claves" = {
   revision = 43723;
@@ -2990,12 +3048,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "biblatex-ext" = {
-  revision = 52977;
+  revision = 56150;
   stripPrefix = 0;
-  sha512.run = "5d2294cb06e78052985f99d63ec56d35f54b3e423fa1e184a2829b5089420c7963d341124086ec7a4df3064f3b6f65ce55224260140a5874c15edb1ac66bc251";
-  sha512.doc = "bc44a8ec304dd082c7aebfc9e8ffc29cb5fa0ba53ec18b993f07d79bcbdca6a128a77744e231111093d695ae2ca036f3e660963cbda08a389ee2d1b2fa5775f4";
+  sha512.run = "e42c5c396c5b0134c4213dd1c6d61f7c5db5c809d395d45ea10eb3728946bf298a04e50a201b5dfa495e0a706f4ba296391f882dae8354ce38ec35f705298e03";
+  sha512.doc = "e04bcfa64863a33ad7564cbae3d148186c993ae23d5a039e3b8deda42a4572ea1e548a170df1aeeb7aaecb03259dd1282647c7458009806152b997608bb2eaae";
   hasRunfiles = true;
-  version = "0.8c";
+  version = "0.9";
 };
 "biblatex-fiwi" = {
   revision = 45876;
@@ -3006,12 +3064,20 @@ tl: { # no indentation
   version = "1.7";
 };
 "biblatex-gb7714-2015" = {
-  revision = 51985;
+  revision = 55931;
+  stripPrefix = 0;
+  sha512.run = "46877a112259cf47e8b6c68a32b2b4caad1e88679122da8bf18f17a1d3be7ef7b75ff917796661a1689d65398fb26cf6feb5fed992799d57908938301b4cbc4d";
+  sha512.doc = "73785a881efee53d6ddee45bd920f8cfc3655bb169eafb3e634b3df2b78e012c2bc748cbb608a62ed0e7987398e577a86be9a100f23ab21951ad4ebd6adc1e0d";
+  hasRunfiles = true;
+  version = "1.0v";
+};
+"biblatex-german-legal" = {
+  revision = 54297;
   stripPrefix = 0;
-  sha512.run = "b81acf7825f546d76a55e617c5d78a85aa6b8ad1c35fa63543f49180b78c59629c97a9c11db1291990a001bccccdcd725cf2550e5df46e87528eccd96fd6f045";
-  sha512.doc = "b6f51fa52262b40b847c62e1f8310f7a1d2d2de73608b022286ec5686677fdb7861d2b819c291ba7bbac33dc8be720ab05900ba4e036b37552a7f8e086a929c0";
+  sha512.run = "d5cd757da88530f71560785189aa2830a2a2c6677529a10b318511b472e7a4bee03cea0d627e3d7eb43c36d96577c2b757ec84617f2a2812e99280184d5f03ba";
+  sha512.doc = "2422b1918d20102ffb76fbeea02592feceb408e46209d2aea4146434d5f78f9f1f6e1cadbb919a8be8b3710ace7258d3c3a919103302b6bdd0eaf4a6ce4ee3e3";
   hasRunfiles = true;
-  version = "1.0s";
+  version = "001";
 };
 "biblatex-gost" = {
   revision = 53916;
@@ -3030,12 +3096,12 @@ tl: { # no indentation
   version = "0.4";
 };
 "biblatex-ieee" = {
-  revision = 53931;
+  revision = 56222;
   stripPrefix = 0;
-  sha512.run = "6a5ef61a577b8fe91bb66b3569fb4082f7a5108a710c8ee6aa533b66603914114ddc09de70e3ba019bca1a744c090f21da8000810746d172924947a3c1e4a7e0";
-  sha512.doc = "4c4b8ccdb791ae55e27de07ef4b00793c4461334c7b5f63a564a46738d206cb00441637f6f149842bc04bdbdbdc4a25592bef58601ff9514aad0d9eae1c0c858";
+  sha512.run = "16cf9d5ceb28274a0a33208f4d47fc6c93c70526f4ef4639756ea00c261b6d62503baa3029022bf2bfd1b3ef73fa636cceb2bd3f7c7d63d614890672561e144c";
+  sha512.doc = "1fbca2aa8ed98322e4da15c663eadfe401b68d9f7e831817f4267dff31f13d9c45f1ee81ffa5c2f8753b8b059be8adb7e842e8ac320dd02cc7f301cbd97b7d03";
   hasRunfiles = true;
-  version = "1.3b";
+  version = "1.3c";
 };
 "biblatex-ijsra" = {
   revision = 41634;
@@ -3046,28 +3112,28 @@ tl: { # no indentation
   version = "0.1";
 };
 "biblatex-iso690" = {
-  revision = 52629;
+  revision = 54561;
   stripPrefix = 0;
-  sha512.run = "aed09ed7de33ae8dcbbe6261ff678fde9f9ba92cae48edefe722c944b5fa3396f6094bd93517070e7f77afdd48d6ef9ad185bc73498d398db17cc9f8b33ab6fb";
-  sha512.doc = "e07b9376f3cd5dab1b9dca41d17c06b161288c898db3175dd479ee0d8aa4b93bdb20be9e6934f48f3065ac07fbd074c41a3691f164e1e5e57a375dd2f956bc9e";
+  sha512.run = "70469c6baf7e9f644e9a012d48bae8d7904cd53c883f5238f42c20ee904c11df2381a5721d77ccebe23303975632321e276ef7eac158f4ee1f8d897de41faf2f";
+  sha512.doc = "a9012321245247b6c4331312dc3e371bfda7e70e500b1296b092a12343dd270551496b9787c90ff935c50fcfb4ed2a3b6dcdc5dd722b7ddebda316ecbe9719ac";
   hasRunfiles = true;
-  version = "0.3.3";
+  version = "0.4";
 };
 "biblatex-jura2" = {
-  revision = 53243;
+  revision = 56133;
   stripPrefix = 0;
-  sha512.run = "a47d1cabf771d3b90ffa1c00e354cf1440c0ca6b0e36ea3d92e0fb37aed003ae457fc446fe5e739b513c0d1e39dde09109fe377ad60e5ca074e8ce64d64026b4";
-  sha512.doc = "f6cef0f752daa994751089f63b2e8948423b3644e3f1e49aed6bae05b9a36e5ea8f614a34a3c7cfdf81e0b8262105d25b436efb17e7cbe09bcd8d0a423c0943b";
+  sha512.run = "f3714f1348624129cd2342dafc622c8170085c2210012f7e4580d3dfbfd79a4c695f5888868a79412712818c709d5fa76deb6838303d6e5321f7f4932ce29f4c";
+  sha512.doc = "40adafe11ded9b2f339c4417ebba767a1571b58b052fe7712082a9ce1147d0d2af9f84736c11d36c1eedc3b7c07b004fbd9ed2a8e08f02520bf0ad2024146ead";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "biblatex-juradiss" = {
-  revision = 29252;
+  revision = 56502;
   stripPrefix = 0;
-  sha512.run = "48e5d926b24752a8138b1094ba47955e9f8d479d3572c2c81d727824e0e5a6243cad37d3a61f1d28163b5bddec6ceb2b35a5f19aff722980eae350ac9382cdd9";
-  sha512.doc = "573378ed40ce0a3efd0c47bf0a32d146543e16b80dbff7935ab980e82de61a1d8023688d59fc2df001a3415b9c73bfbbeae3ce4c240c2ea958a65d6d2003274d";
+  sha512.run = "6f78c1da8426508af972a27b6a23439a3b84c402e6df2494b333111cfddcebbbce639a49c8e900cf52b0e63724a41031b4fee82e0a17f07b479584bb66c809d8";
+  sha512.doc = "94bbebfa29a491fa6e502e55236605b5a589c24920d235cbecb8c9372d1e580d586f643537a5ed6afbe6d1656f0d5ee8610cd09e3112a9e2fcd00581937016c8";
   hasRunfiles = true;
-  version = "0.1g";
+  version = "0.23";
 };
 "biblatex-lni" = {
   revision = 49935;
@@ -3168,29 +3234,29 @@ tl: { # no indentation
   version = "2.0.1";
 };
 "biblatex-philosophy" = {
-  revision = 47283;
+  revision = 56493;
   stripPrefix = 0;
-  sha512.run = "faf78d9a7a551c2a161bf69c1a9146dd7846cb4ff1c3f6332806f955357a8f3af66b9ddc7d9732246982b9bba60730071390a0cf240a241d50db03655414174d";
-  sha512.doc = "1e68948403c72e93f94b758786a0c632827d5e5bdf0a8db2066e52868b2ee339bbf0948ed381d78db733482cfca075d9d5c26624df9f2f85d4ded232ece45ed8";
-  sha512.source = "e170fb71a9c429204fab059f266e90c4b67a2ecc24f504ef68f70c5ffdb8cc619a2a1963febc0ae308b27f75aa19f0d2e90445ef9e6f3bc81b2fc212c9cf4835";
+  sha512.run = "bb17f04a770a28ae5f136ff0849d18526fdf740bf47fd30f0149cf91c23e2b321b2dd4bc4c0bcf4db45b3985610544fb0c577f945d000475751a3903fbb1e595";
+  sha512.doc = "aee20e15d7daf56cea581c7a71f93edf0325607642e78664cc7e12861af7539c3b28c51b21a7ff52e09576c0c743cf1120ae2e8ac8804c1f94cc3dcee598c04d";
+  sha512.source = "a5be7057eb1856a63ea5d89e51f19f586e038967c718475da65afb9441d8f6e56a862e7f42fc045dbb3aa85026d80b3aca73d6e554df32cb1446b026a0ec16bd";
   hasRunfiles = true;
-  version = "1.9.8a";
+  version = "1.9.8c";
 };
 "biblatex-phys" = {
-  revision = 53013;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "a7afe31e2cad56dece6bdf60d75d2d7b4279525da00bc4fe0003804dffd0934514a43164e4f5fe5a4776365d428a21a800f0419cd632f56afb6bea6233bf51c5";
-  sha512.doc = "a1dfe75c92e89ef47ed6a4ef6d997bf2aa717d6c6f023773a056f5ccf53cbc78d5d2206b1b29e0ab11389b76ef98d7e2a7f8242947abd0a8fd93e1db94f299c3";
+  sha512.run = "76a37bc2d37e2813dc39b9b21cf38788e6da14e60222e4fb36aa90e5c933c18adfcbc1c8affcf9a8e70df14d516a4827599b2c5979828e7e28b77b7b3021329d";
+  sha512.doc = "62fe809519f86ad46136c18247b5c440766778b61d1d406df302aec76756a2259f06ae175af2267de30c1347db511f9482503326c28e1d382039d5047a75a961";
   hasRunfiles = true;
   version = "1.1b";
 };
 "biblatex-publist" = {
-  revision = 50989;
+  revision = 56392;
   stripPrefix = 0;
-  sha512.run = "9f73dd60d22adc1af2cc87c7fe3cf38b50fcc173a66cd1511a08a37938a0bcacef20ab27995ccc2cf4912d2b74948e417d0209bef93be8bcf49f51a6883778a4";
-  sha512.doc = "1899ddf6edeb2ed11417cd90957bd9567041d6c06b43a56d08d618a734d7700e5092dc1e350ed03a08e82f3b2e8759ef8fed8f8933996d1d8a5b7ed5c8becb17";
+  sha512.run = "dff83dc4b8ed279e2b5ad3a0d8e995500df08f3f21c72853ccf392624e40a20e058d06310fdb1384cf2bab319e93c9004cf7641a212aabeed21e31e50bd76934";
+  sha512.doc = "a5dc972074b40eb402076bcbc570ca36470a856317f7618643b8281f0b7bb8ab1b58c4ef7fa1141cde6b5ea5ab98c179ad9607b621eb43b52d172bb2e730a4b9";
   hasRunfiles = true;
-  version = "1.16";
+  version = "1.21";
 };
 "biblatex-realauthor" = {
   revision = 45865;
@@ -3232,6 +3298,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.1";
 };
+"biblatex-software" = {
+  revision = 55690;
+  stripPrefix = 0;
+  sha512.run = "7f49cbd6ee9e91ec3366625ba49beebf08083143ca7f85bee6b7cd08e5838c0345df31f9dadd506dda7786ba51e097dbbf639ee7f93fe0a6a3e35e286dcf2e8b";
+  sha512.doc = "ce20a6cc535d0755a23d947b704fd3b9a2f2b83eb4a3b2ac05f2f12d6c662e961754845d4d97d72074aacb4bc223d5df0ac54c5b67a95b055d9ce4fa16af0a3c";
+  sha512.source = "fbeabb3711c33c7584844b204af8a282297268c3b095b390e87e131edf94b29d8a20d7f7d4a2d08b596453af65d6a11b228b1631a57dc47e171a5dcea765689b";
+  hasRunfiles = true;
+  version = "1.2-2";
+};
 "biblatex-source-division" = {
   revision = 45379;
   stripPrefix = 0;
@@ -3249,10 +3324,10 @@ tl: { # no indentation
   version = "1.2.0";
 };
 "biblatex-swiss-legal" = {
-  revision = 32750;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "fd21319f30eb2187333db187c7ad171cb61a75ad4d62ddf3414a04021a7ad4fce57836aa0d2a9ef00488256d5126c18a976f664cff8978f8aa1e80a161dce979";
-  sha512.doc = "beba2cd9e8a78076148f7aedb6b5cf950ed865de9432633f225c160e1a46c98098a8bc94c783ec35cd982e020736c85ec94bc66ad68ead05d7187238ceb0a07c";
+  sha512.run = "b0d626284d4bea56c3f0ca7c1b551d3f6e4ca3759aea514de97ac1a3f3a1eeb4e31cc7b4f8d321357da1dfa96b5de5a4a23ecd01e68c10068d30450b6c158a39";
+  sha512.doc = "2cfc4d0ffae18fbfe022bb4613d5169cb65263df639dcf44368c9e9d1395ade3d001bc6b4c4708865056a017fdb1107140195e53ba4f21bf82ecd8d4c543f86f";
   hasRunfiles = true;
   version = "1.1.2a";
 };
@@ -3272,14 +3347,38 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.0.0";
 };
+"biblatex-unified" = {
+  revision = 55290;
+  stripPrefix = 0;
+  sha512.run = "930867328f0f818d03fd5d8cacad6113214609500f43e06b77b711c00939a3a3c99e8e3bba8a093721e719b8449abfc29be50c9b5482b65f3c47f4b7b3a344ad";
+  sha512.doc = "7196a1c293864f8cbe9e1421ee074cf249bac49c9d9a8cdd811a0252d4a0700f1874bc7d8f3cf22f3ecfc50ac214ce17d30ba8e7f84ae92428578e540ce66429";
+  hasRunfiles = true;
+  version = "1.00";
+};
+"biblatex-vancouver" = {
+  revision = 55339;
+  stripPrefix = 0;
+  sha512.run = "9d31315ce02bc47869a3e11644fe3160bb7b0178f87f71a9f3c06e54326c49bb1c37daee0c02f7185ef50513afe0aa4bbf8070b91db3181a2185a138daef48f8";
+  sha512.doc = "ac285c5568d8651e81680576950d593eb5247b636c1c27b0a2a4a6758bc151b51f6e2b4938bc9273cc748924cb9f6193f6b58b883692ce03fb272316b8ec7204";
+  hasRunfiles = true;
+  version = "0.1";
+};
+"biblatex2bibitem" = {
+  revision = 54030;
+  stripPrefix = 0;
+  sha512.run = "4d27fc2bc55a031f571096fed58757de74e5fcbdbb485b327d8a34c8033b2a2ac316b7257ea369d41373d887152a1a84201f28c817abdd2ca84716ebdc4e111a";
+  sha512.doc = "b7f37db4271ea7fe0b6208cca2dfd66f7c2f70966081c85fb35d34f927690ae435574f566accdc0ee358c9f74920f18916bf558f3d97cc1f6a27f540d337d90d";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "bibleref" = {
-  revision = 53090;
+  revision = 55626;
   stripPrefix = 0;
-  sha512.run = "1bd916174754653ada58aa5fe3ae646aa9f409ab2e8860a3a630d552a47ffea2888de5b8bc5a05b246525a317418f4118e1f4dfc5860d2409364e919743c187a";
-  sha512.doc = "270f34c698e043786c703aef017ec67b764ba3743244ed1a5ad66843fd01448a37ef7d790c1a57eb2c1984a4495bdc9bc51b5899579343a01681c17557a4b104";
-  sha512.source = "ab222b17342c909ec9517ce09df4df1b2ac5c021bb7a6cdb16f5bc1c3160c35d7ee1c44227e76d528ba239794dee888e9858e923c6dbdef4c2f9e7ff09a9a1a5";
+  sha512.run = "261773de4bfeb039d4cb3f2dd88ca7c2ae229d2844ae0f5f454e06d888d9543fbe1439490895a49bbcbc79d8335151bba2a35bf36777113a965613efdcf9225e";
+  sha512.doc = "964f8547c073db2b174d9ddfd1f6d0ff06df5bc51b2050725da20687f84ca835f58ee238f3f1a9d6d4ebc1858217ed0d8b2950964cdd638012d91e94bf92aa19";
+  sha512.source = "09329d9142cfeb1f70778f46d0396aaf20c7ab2a215d76120ba11147368236ab98a24ebe386f68aaf253991af4c95a320339e5d07e956132d9d3d08ede63bb79";
   hasRunfiles = true;
-  version = "1.24";
+  version = "1.25";
 };
 "bibleref-french" = {
   revision = 53138;
@@ -3340,10 +3439,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "bibtex" = {
-  revision = 50602;
+  revision = 56291;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "2657225efc1d8f9954d1be9d9b866a626cb252cf596a78a7573ab5b43272e8646a4dd5c59f87275bd6280a2e614bb450c000da6cd9db6b2666f551943ccba8ef";
-  sha512.doc = "4974d5cc9b6702558a9df37d48ed1c00cf12b1ac54c38954c2ff000dcf11a832b2f1267ca1bc009768cc18adccc0fd7bc7bf0e8ebd351f11caaa5f58b63f6585";
+  sha512.run = "12a7e17b1e9bfd34a172507fb513fe7d3e44fc0e7fe9a1b50306a8bd2abdb45c984e100a36d109c3e52311c387570c026fb8dbc40752b23fd961c8c3454dd1f6";
+  sha512.doc = "b8aa778a2ee5acbd67622384844f3d14ad4a9781bc7ff382af7aaf2130d83440e48bc9e7c7176803d950601493198ddbe884f3e2c5d89005ee3dddc1cccb4ee3";
   hasRunfiles = true;
   version = "0.99d";
 };
@@ -3355,11 +3454,11 @@ tl: { # no indentation
   version = "3.71";
 };
 "bibtexperllibs" = {
-  revision = 47520;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "157db9c0bd7d44fea67844046996b5323f2d26828a8a4031712fe006ef0cdbb0992348d4a8e53c2a52ef0f8a1bd8cd108946baba46783d83d27e05b370bbc6c6";
-  sha512.doc = "59f0d671efc182550ca926b1a208c31569e76bacd96e6444437d8ddfae3ad7fcfba60fcb292fcebacfeed1dc225a3e973b41e852ed77eab11308848e532a2c31";
-  sha512.source = "59b5717b5762643e135ac5540d86e841ab6694539723f808e64c1533aa93c62dbcb1a4fe86e0b649abcf60c86efc94b696834614dc0e3c8b9418dfcc86cd36b0";
+  sha512.run = "32263453ac7fbca7bd9c893d363c575fcc5bc160e41d952c6d6bee137c31f242abcf6a285d0f817614b85a42cce7257f8400df152c185a7fa2acd018fa9ab4f5";
+  sha512.doc = "74bf34744140a60c513fff915921c5fe5c2245e0145322bf8f3a8ea0ceb0166dccebe6ca4a6beb22c9a56a1fb23dcb70e5a92b6b48cef0e7471cf12570f8f991";
+  sha512.source = "9b36fd9a5de4c45716b9ff13437765ee742bbcc1b7314c6411942b8cb2009ad4c27d24e3cc0d71036873f8e5430ef18ff7cc96883fc63da35de284b939ebec98";
   hasRunfiles = true;
   version = "1.5";
 };
@@ -3396,13 +3495,13 @@ tl: { # no indentation
   version = "2.2";
 };
 "bidi" = {
-  revision = 53615;
+  revision = 55193;
   stripPrefix = 0;
-  sha512.run = "267dc7398d0e4de4a72fafe8bffe08a876dee7618dc2850c149b55b316945ef98d7c0ff76a4866a58a21c998a70e0ab0fa2dedcb6895809af05f10efa433d01d";
-  sha512.doc = "2d2de125e597310a8856f309c6d4325c3579c36dd43998bd8272cba187e15084d1e1985a240adea8fd862c9472732907d2facfc63d570ff8b97cbdf80ec7e0bb";
-  sha512.source = "445d060b983834bf151e6cf346bda0554e49d2794416ebecb16596a078b7d8eaac54e5b86a53c9be455a146aad73d3472726827befacfd549afd1c3b0f2d1955";
+  sha512.run = "dba36e375340a6d852eba98b83ad8e0821e684424a53069a4eb21acad43ba32cba11a68b971fa8bbbc6380a89c2432916e8a048de85cd5ab377d7811570a9be6";
+  sha512.doc = "16e8062ffec0b64faaa2c1f4916c8decb38510af7279607d11ce0537cdbdd57dd90e9901e47b7396758b9653321f8e14716a809740f5d4c0f610358899ce333d";
+  sha512.source = "bbdbf08f87deff3ba6ff97869bcfb36b996f2985f4b28b4f598ea76827242d54b3e319379a9b027c2a6790f86e4503edf7d3f7e131f6ee34d48cfb042a8eed80";
   hasRunfiles = true;
-  version = "35.11";
+  version = "36.3";
 };
 "bidi-atbegshi" = {
   revision = 35154;
@@ -3496,10 +3595,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "biochemistry-colors" = {
-  revision = 43960;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "204e04776677a70f40ac602977cb4e4f53a8d15873808b98653981b2e8198e7cd234189bc0903467569bc95a1f4aa2070343f27042bcbcf2d43720a44dc53b5e";
-  sha512.doc = "e1ce9b0e9afc7b6fad2b22b9a30b8785dca1a8a5e132c23a1ed688fcf6df06245a6914a5123f937fc37b597fa3a2f412e0a4afc5f8aae85cefc32dbf70a14405";
+  sha512.run = "ff6e61f48eaae649c5b14b60e85c46743dabc6fb841f3f2bdda0723a5a6cfb7a45e21e48574e4bc558ddd436474c356c5d2f767cee1299da3ff67db5c70c03d0";
+  sha512.doc = "0abc9a2d3318627f861be23bd175836efc6956147fbfc16f9ec84b4ff5f137f7910a12ec370c3baf3ad2dc08ca2ca197bd02e371ec258e9538eac4f11233f9d1";
   hasRunfiles = true;
   version = "1.00";
 };
@@ -3545,10 +3644,10 @@ tl: { # no indentation
   version = "1.3";
 };
 "bitter" = {
-  revision = 51086;
+  revision = 56026;
   stripPrefix = 0;
-  sha512.run = "edb101df2026b97585f8f5ca712a4bf41f5a2a15122a0e51448fcf1bdfe532bd7f70315644935a942bacdd431db4ff48ebc8b119cbf5d758909560eb2c942633";
-  sha512.doc = "926e4a3e7e19ed8571e23afc779be014c3b451d9696ef8d552d6c7f9072c9ccac2eb3ebd68adbb247d7238b0e4786594f85aaecd65b91ddf883e81f20222f29c";
+  sha512.run = "e624523e0e46340a1fd4ecb3db0487bac906169dc811886d26783b453a477605618cf211584c5aa44887f39d5d97ca567afee9f5f8fe6443284467f136d25588";
+  sha512.doc = "d4fc5b7c62dc834cfab6771010abf0e38000ec1a07447237288c9fa1747643dcff158d02707746d2965226049e5decc6af64a66ab8a92354ffa6e8df2e85800f";
   hasRunfiles = true;
 };
 "bizcard" = {
@@ -3652,10 +3751,10 @@ tl: { # no indentation
   version = "1.4";
 };
 "bohr" = {
-  revision = 37657;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "cb85d1a70ea2ba3bca7a21996319df8c29f1c28b5a62d08f0f145f5c157d4eda65b66f8fa5b833c40b1a4bb7c91d6f42eecb8d97a3c3d906207558110eee1880";
-  sha512.doc = "5e3dffb0e2d1ac0a5aa3021ade89416e330f7b71600bb1a524920eafbda148bda2f55d5d355efbced93528cad1c918fedbf50f43089f4948d0211e0e13386591";
+  sha512.run = "0f362638797d3adb338afa02589587406af7ca58487e6b61264fa60b539573d4198878a474da00e7a50bebd5dbe28f0dfc373c538a9bfbc11e84566ef586a5a3";
+  sha512.doc = "5a802de7f7a8871a7095a54a1b48ce80d1d1e3134c70c7d93944e88aae44a8885ce28d65069ff44307c8395a666df386b03fd1f9c72b526a8a7a466ff5d438d2";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -3765,6 +3864,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.28";
 };
+"bookshelf" = {
+  revision = 55475;
+  stripPrefix = 0;
+  sha512.run = "e6ab2186784aa9905053d15311b18def1c669a86db4a98033761c2f41fae97199baec02c41c32cc6ef4ed9ddb6ff5413f69a7ad1c9cf5f0c4c91d45297eb1af5";
+  sha512.doc = "38e04eb978152cb97a15f1b6120ba9f062224ed4feada0347042b420d4baa9c66e453be8d4abf4095ba3403d11281153dc7e2494d34864a2ad2e1ac10a1b4b1c";
+  sha512.source = "53076f7ea7a15ade58fc6ff23643515631f46368d67f9b55d67212ceface35834f10724fc7fa8dfd75d7f852bef9a6570d3bc5600805c79f7e24006e663e1528";
+  hasRunfiles = true;
+  version = "0.5";
+};
 "booktabs" = {
   revision = 53402;
   stripPrefix = 0;
@@ -3798,10 +3906,10 @@ tl: { # no indentation
   version = "3.14";
 };
 "boondox" = {
-  revision = 43344;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "348b48abd7a8b95f37d211612ccc1e4931c0a768af82b695c263b7e8931eded562049ae5a1198361363b08cc269cfb8eafae93c074fe1ada7e9881dfc88d7a41";
-  sha512.doc = "24ee6699a84da5931e5223f27bf74518544ebe1a11b303bbcb27c4afc203267159fd4b6d8d9e5828e92c96abd8fa3bb395528868bba0cc26db93fa6748643eca";
+  sha512.run = "0e1cbb6ec227a2cd17852e71f16b4972de18a076fdd4c4416ffef1416f3332fd351036fead4d82a69b5aecdf392bc7e1af85ca5bb1e44c153d25cc86ccfc631c";
+  sha512.doc = "72e77b36b79bdad663db8c707daaca8d324fd3f50edc8cb7780a641f5d0217d3fe4c2b758c1775de0ce5fea3d44e9ea08e745df51485b4d1e3de11e2a98c74f0";
   hasRunfiles = true;
   version = "1.02d";
 };
@@ -3830,21 +3938,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "boxedminipage" = {
-  revision = 17087;
+  revision = 54827;
   stripPrefix = 0;
-  sha512.run = "374033f9b8b88c55db6de9247d065f7841d49c8b7d42386694752e78b4bb2f4a311e42d5ca3c1e0dd5e694fddb0c18bf9ae6ccb39dc80bf075086e18fe39bf59";
-  sha512.doc = "6fe8b0c04117d6b70972ca973e9a71cb33f2ea3f2789460aecb1f0702b896a3cf1d2e6d31533a13819caf1636c5e33ca40f60156992770e243be509dff765644";
+  sha512.run = "697cc00b10468f515b5ebae838d623eec58085269c98897a5c2c4ea932ec52ae819110612feb84b6951ff391bff9309655abf6a41e13da156e5ecc52c015431b";
+  sha512.doc = "54209e9e5fb8da8db65901c729b78aa3c9b536c3bca4d40437848287d8a07d955a84ea0f13d93e7e702c47c6bf8bece3b6d3f3026d5f78568205746c9009b968";
+  sha512.source = "718499cb248fb8a98a9650a78ae377f9aaed9318b91c4417c7690201504366e073e80615106156087686273f9f86adb58f854cc758c2329ad99103f788ba0164";
   hasRunfiles = true;
-  version = "2";
-};
-"boxedminipage2e" = {
-  revision = 36477;
-  stripPrefix = 0;
-  sha512.run = "418fbe838e907f3f545522922cf20548abcde20320dc63396434f7b68f578abaffa9f7b76a18373318ce5ed7cef699c64ad8e10e01cedf0b568e65f33ab609b9";
-  sha512.doc = "1366f37d45e3df28d3b370b3a6d9618aad06dc68127d1c22cccb0a64d3f82195d5ca93adae86158a830cca26e7f3da051bd36ab1f80cd4bf3609676c0b790dd8";
-  sha512.source = "2bf7a086348da5cc606d5b5fa0b4b0c4c5f17e77aecb54fd94bd306d43ebddef8af5e143246a8695f18a447271508576c4a4bb051d4ad8b9e0cdb08f7212431c";
-  hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "boxhandler" = {
   revision = 28031;
@@ -3888,11 +3988,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "braids" = {
-  revision = 51048;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "bf0c0ff2b6e81b0dbbbb317a1be711e8dc9812214740048a0dea40d8d3045c3fbb996fe1369783ed906571587a5fd241e6a7ce5023c3278ee1bdda19a7411787";
-  sha512.doc = "2a96dfb2c18a89d34e4116e1fa81f48532605b625b227fb24f7a949a9e3707f1ffc02f4a20b254e963801a8f97d7f093db7b568adc3b8f4a1fce4bbb7ffb51b5";
-  sha512.source = "0a0760d9d88ba7c96d2691b0e180ed09ea9932f8170c4c112eef5eb58e112bd69e1d2362bd5ba46b852eb0d7678bf9049c9ae8e69e0b47772f8edfd2c23c5285";
+  sha512.run = "e04d1b5c12c1d07b94b8aa2e70b302d05571b8bc8b8e7ff9839501b4d89d8c059552e830be52e1c31c4a949a7976e046934dd64d5d16adf944da67562371c884";
+  sha512.doc = "1f23bc681de14c760f21b49e0c5d8502cfefc23f15803d4c2b926d1367b407a57a0b316cd8c1e9377c4ccaed969777c1515fa5f5edd0135cec55b7bd03b8dbce";
+  sha512.source = "0a440ca071b54b0375cd3ff185c48da83f7b42e26f2210e04bdad9cf3103c62b2a416e073596180e0d3c7b1054836526f484dbea653ecd961c4aac3d1929602b";
   hasRunfiles = true;
   version = "2.0";
 };
@@ -3911,13 +4011,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "brandeis-dissertation" = {
-  revision = 53735;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "5315b8ef67866fe9b41e4e51d3f627a1a5c63411c786a8856c980bffddc24300539aad065dc936628fcc8ccb1df75e6709dfa3d655698f19f0b6ad9a2ecba516";
-  sha512.doc = "10f38445d595e907888bf7b07adf50c956c35af0571dd883f5e2f6f66c0b7ab196a91356c87a4c605067ed0fc851a305fbe4e53773fa4b83549f566c5f4a383c";
-  sha512.source = "a94ba2f6a394431354fa83eed83a59218c4e150685971cdefe3aa6dab06ec188903157d30ba4b71359377dbfd267fd8f4673bc3e750584402e762ad8535bc6d5";
+  sha512.run = "26dde7d29bdc60ae3b4c70b14b6b6c35b0319422cdcbda1ed1f4beec7a3056e145985e7a1b3aa4870b8fcc1e6d75da2e5d879b9a5c26ab85de59710d322647ff";
+  sha512.doc = "49b84e3fc0264f2a74704dbfa90c8c6bea44f436afc88387ff5c7cbf01d5feb207b1ba77e661f6db974e28cc41e3d8054524eed35f948aac3af4dbd24cdffc14";
+  sha512.source = "18cf0e74d51021dda950b2fa0c95807550aa69b1de57f5989b88ed1236c433483291dcb7158beccad9fa72903708212ea50c606d187199ccce589010b02915e3";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.11";
 };
 "brandeis-problemset" = {
   revision = 50991;
@@ -3928,13 +4028,13 @@ tl: { # no indentation
   version = "0.5.5";
 };
 "brandeis-thesis" = {
-  revision = 53736;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "d769296db0ae91931bca16a358f61924dc1cdcbd5cef42c0c07bfedd8ebb4b700882b2a3b0bbedba2683fd1ad51e9a54597b07c7c6017c22764988476944e66e";
-  sha512.doc = "fb23797c136648c16d0e282308c044e64d91a4ea26d7ac835f4d7ab299a49dcdbc10b1a8922cb655284f3670b17b324c57c9560474b02c27f382f436778063ab";
-  sha512.source = "cdf7f50b75e71d4c6bafa6af9736643d22facb508937b46866af6c1143872f9645f9ea7320921769997a2308a07b8e7513c66dfa3eb134549165261b1857f5be";
+  sha512.run = "8dc788bdd5d3b0e16b525f217de177e711abfb5c558382b12e4328fb690e2a16cf1d9fe403b40c392b9b745d605dce30e1c297d5f694cd977b992f585e50e6cc";
+  sha512.doc = "a56e02eaadb1bfe1315d4813fcbab0dc73202de0126d8fc64ee947770ac1866857194ad842fff7a47dfff4650c6f6aed8ab711eed6a47b0b6e8e93b421a8fe1f";
+  sha512.source = "7586d766af63eb1797cb35b0fbcf87ad78065e4564c138eb2159c475ce7e7dabe09a0d1140fe80c0fabed5a00713d23869f3071be8b834c1a503463e215a3827";
   hasRunfiles = true;
-  version = "1.0";
+  version = "3.1";
 };
 "breakcites" = {
   revision = 21014;
@@ -3961,13 +4061,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "breqn" = {
-  revision = 53833;
+  revision = 56422;
   stripPrefix = 0;
-  sha512.run = "0f939606cb3e6a41a9fd51f994671c5ca774b6982fc7b8e19275cb33cc6331b56244156017d9cc091f852c5bc0b7979434a8376c1a9900b59ec573e63036e065";
-  sha512.doc = "8a70f3eef2414778ff4124ada2b7aa442f21e35e9b4dd893f5d64196d97dfe2ac8ecc4bf7ec76dc0c432c81deadb23d0ccd9bcd358e83b2c281909d16a75fe91";
-  sha512.source = "7c73ac6585defc2a6a43ff562f01ac3ecf908ce2be02bd234cee9e128c3e171c8d168c7ba2d6f4b42ade5e6c34f3420ed28c44a5e4de9e16cd184ecd05654132";
+  sha512.run = "ea1df2ebb14d755225368fafac24e2068b317b56c4a42fb10011f1fb9f233a7d40bd83b0063271ac8efcac67725f32e12e0ef63467cb045bd460abe5f84638f7";
+  sha512.doc = "9e5903493b727972dbc5b18b1be6179ae72d23e59eb047c41562461e5800d5c66d83eb017f410b73f42fd12c219d09dfc95e4cd3375f584820ad0e600cdafc91";
+  sha512.source = "5640578e4a42535331094955073d42db502299d25e6f69b4a9caa31b5dd858e2860372bfd123614243b5d1d370eda791c178cb0b6d8c036655febc7c1ce0fbcb";
   hasRunfiles = true;
-  version = "0.98i";
+  version = "0.98k";
 };
 "bropd" = {
   revision = 35383;
@@ -3985,6 +4085,15 @@ tl: { # no indentation
   sha512.doc = "41ad7b1afc7cb0f4bfdf0bcff4c1d85f3d9603c3d48ccb62f94a6fa2258cf3f60f03ee1b4b5756d85a77ba4ff9afddbccaba1c4bd5b69d85ce4fed206aa16b1c";
   hasRunfiles = true;
 };
+"bubblesort" = {
+  revision = 56070;
+  stripPrefix = 0;
+  sha512.run = "8d089fe6eeb4ae2e8c77de1130b0d51bc50c4b89ff4d1d26065fa93d740de16644856db55c38efa9e199c2ccdfd6906ccdccdb9676f2313f92911c5d6e06246a";
+  sha512.doc = "a9cf0d74f8a713d381d1a06f0a9f658c9074a4aa9027113e47f29ba926f835878e2aa7eed9dedd948e9c5f3b50345f82ef9b4f35ac7fdd08ba041e3a00ac20b2";
+  sha512.source = "9cbc0f682dcc18881f4aceca601a2dcf4996e597f4341d3459af336bdae72938b9aa4402fd88f2f7a4de960909bd25bdfa3a01296a8b2e3283809fd63a47eab7";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "bullcntr" = {
   revision = 15878;
   stripPrefix = 0;
@@ -3995,9 +4104,9 @@ tl: { # no indentation
   version = "0.04";
 };
 "bundledoc" = {
-  revision = 52059;
-  sha512.run = "5b3b4e343e8ce0103a7f0cc736331995fde330b473c21d97df761bffab8e0b82f00238187801978611e32b2190b0a0d51c87c4249135228c8bd53ae8fcb6bfc8";
-  sha512.doc = "acd848c58261520c2ea9038d0229b75e7c12e72c087ea1aacc3bd0dc4f8f99d50cf243d282abe44d72c99a75618cf284de400e342a9128f9f1ff87b54ebcdd9a";
+  revision = 55064;
+  sha512.run = "07aa1f9dd3cf8bb16fad2a39783a5bd05168e0956840853b6f9a16de753726b0393b8863c6cad985b8bcf7431570137d6fac82588524efc5d7c0032e2dd555c8";
+  sha512.doc = "bbd78c948c90f6b4470c792c9e0b99fb5bd8ae73b7eb78343739909c13ed0e0d763dd0b6a4b8d05a77280054afe15f2979c985121916fb8a34dff231b810106b";
   hasRunfiles = true;
   version = "3.4";
 };
@@ -4010,18 +4119,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "businesscard-qrcode" = {
-  revision = 48417;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "c0cccd1959a358d06db838ab035dfe2c4c2b960ffbea5241057871e4131ab06bdefd369fbc0179e74777fd83720692eb190322c797bc8da2ea84f1943684faf7";
-  sha512.doc = "bc2db833044104ec82b3c8913067e7687ab18944e7b12ac003391a207fe287b92426de1fce32088eb4293eb2a1bf955a21a82a42ed673938113d9d8a01ec9d10";
+  sha512.run = "66e98af04011a9a17104dac23845ee6bbc5f4fe3aeec37899f82448a85493c5b722f5de59139f2a29fc84390cf5480af3a491ea2d1270edeb16ada734e2cb57d";
+  sha512.doc = "d488e313d538d9faa956b4279974faede62ca231ce744d010b11d8a98a9b596d225a3804ba0aa72a13a6749a6207321b9937617d524e5803f490f9bb8933bb8a";
   hasRunfiles = true;
   version = "1.2";
 };
 "bussproofs" = {
-  revision = 27488;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "a23aa5580e6c3d691c7b14a58b20af1e135681000c50a84be01040df7e1a844b8abeebe11a9dc456cee37e9e34ec020139c9f8de4de51833a88f90e495a65fcc";
-  sha512.doc = "b9af525a6a6204c07095864d257c65feda61214c557b0801c9a0c4357578755e1d01e278fe875c0b290f250e3adb03d260a5816a4ccd9f6f51ba67cd8af8269e";
+  sha512.run = "042e01990554b7ffcbd70c9a281d87ee98d9b25d7071f24d114e097e536ae1d7fb565854399eeee547ad2cf97bdd6d4fd0755169ba7548f01ed0d736e031a383";
+  sha512.doc = "b3fec7f142210ee5051b3b3a45ef26724d95c538978c4904c9723113adcd2164e6385a9949473a8b9d29109b016c24f25a4088fe3728d675fd0023a043ca6262";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -4035,26 +4144,26 @@ tl: { # no indentation
   version = "0.4";
 };
 "bxbase" = {
-  revision = 44481;
+  revision = 56528;
   stripPrefix = 0;
-  sha512.run = "18b281f5147a179d2908944dc35e5b9547bb094b15adb559f8154c432710e531ada4c7ab6f755cb631ab882d005e55dd5aecf8602b61fa07bc54fa91506aac89";
-  sha512.doc = "da2a4dbce775b37d143b112159e132568b3c48bfa56599ab5f04db0b0b51d1b901775036b76cb4bc049f8193117a01a4d2b6054744a49a8d57f986a2193fc6d8";
+  sha512.run = "279018d86ea2c933ae8106678b1fc3164439de59e74ba2244104951b352346e51d6a5a78591e605e25d2dc5dbfa15b6481d5b2f637517dd4e19a53da3d0fc179";
+  sha512.doc = "aa76f5acfe7367c48219eee28635bddc4655fde3e91a7eae5ff8fd03baf0e2732c0f3b587b7518f660cf58fd124a8c021ea495b57520347c4bacbd5246cc2a99";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "bxcalc" = {
-  revision = 52947;
+  revision = 56431;
   stripPrefix = 0;
-  sha512.run = "68947c8aa57d3f0a449c2da45c081cede0dbe28570f28c3091939e43b7d6f5fd601e5eca02556f46497d2dc82d829dc783288ed665b7efeffe5e946b84b3f713";
-  sha512.doc = "caa11080d43cc6f0d8af7f9f13cac63e26d8423cf97d6a77d76467bc73644efec190fd5c1a6d93f3ceccca2606d50ac937b4d04bdf60f080683c8314048adda8";
+  sha512.run = "580fba2af6adcaf2b2f137cd34455b3dc896f2e26aabc2352fb23c12fe1a134340c2505d38dae51e79c72408fb4023213971ddc0ad322f16bafa29a9bc1dc4bc";
+  sha512.doc = "1e2e8eda856a15be3e9f3cdc441d3b1972b97125d0a370061f0919ed0c4aa267d5fbacddd453d9b99bf5b759b801c71c3e988f9666540d960d9a27e7c54ea904";
   hasRunfiles = true;
-  version = "1.0b";
+  version = "1.1";
 };
 "bxcjkjatype" = {
-  revision = 42292;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "ea75072ca87925cbac9c69335fd77b509396516b11cd74b4f29976566613a3f0fe091b8d77f00803932c55f87fd1af964243a02271ef3ba64f08da5a065fb7f3";
-  sha512.doc = "4cf0962455982064956fed4080ccb8a4e4e386bdde5952880e05246bb655f064c22b4c1e2af32d3a8850304c1dd46c817ef16f0cb8a0e8cb764fcf788bb4ce6a";
+  sha512.run = "f720106c08ffc3b8f9a2c9279325364d5ae91948d3c61b83423d41a55249cdb205bf330c8f08ce6877a7713e82a67a29f1a71e9ff07f9c1225926a61a858fb5a";
+  sha512.doc = "cecf43857662a4b1126edbacc017a8d06b366ad8c785db520d6b18a293cdf786b8d7bb7d3981355acf9a4d2759c2a58af25a61a9a06d20b431ba3eb50117b560";
   hasRunfiles = true;
   version = "0.3";
 };
@@ -4131,13 +4240,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "bxjscls" = {
-  revision = 53812;
+  revision = 56552;
   stripPrefix = 0;
-  sha512.run = "4b100e52663c714296d18b487ad5c21fcedfb154bb517ddf399646fc27795da77cf156de18e1119bbe3563dda13cf504e9ef7132bfe427ec48cf4d8a21a9c1bf";
-  sha512.doc = "5f7ddec0451a01d2994d532088754b7135e8dee2d915f94b268e0c07dbdffda4a294c8d9012d0b4a524049fd82b3d3029180ab16d33b68d34700beeb9e0ff973";
-  sha512.source = "efb5fa10b47a48746dea5453979ed80a4ab8ff723d3a4c30ce8b27746b83b6d05f1de6e80b48d6a3ae925d5e1e321d659aed36aa5b0d8f523be6530403a83bc9";
+  sha512.run = "567f67ef9754d093e2ee01fcfaf3c34bf4973f28c61a30ab01a630e38a0910e9b9d20580a498f1cc456f70b965b5bb16a2df594d94cf7f44bd02b03609906330";
+  sha512.doc = "0233721882bafcefac1299577ab6984bc8f45c4aebb4fc880802b93c964e724775670899b9963bae3de04c4383410839adeb720585f99bf627621e81907213b7";
+  sha512.source = "444735c46edc534ddd1e9a5367308ee6f24a50c15c3f3744f0dce68c0d889fd2ccd2abd47a33c45e4e776650e15ec5ab7069f3203364bdcb2a26676cdac06345";
   hasRunfiles = true;
-  version = "1.9k";
+  version = "2.2c";
 };
 "bxnewfont" = {
   revision = 44173;
@@ -4156,20 +4265,20 @@ tl: { # no indentation
   version = "0.3";
 };
 "bxpapersize" = {
-  revision = 52304;
+  revision = 56491;
   stripPrefix = 0;
-  sha512.run = "09b679f14ae4c851b0f4df35ca44653960ba0ca6de03b923602721c25a68e17c6ac3818bc91e189606fe64e3d0585ebf5e5ec5ace60f52435ff79cf6c7a8a12b";
-  sha512.doc = "519c4ab5c8eff946e075a84834209adfad9d1262ddcb30fe51b66bdfab5a15d7abe50549073f8d0aba1b661cc262c11f179a0c71edf1e3eceddef020e3fe107f";
+  sha512.run = "0d889b2f3e3c3e27175148a533ddf86f99704ce8ca380ce182a5361284678a4eeb72862b9b5309a63a31cf3aa2d4afc119d71363bcc9914bd493148c3c7ad6f4";
+  sha512.doc = "a62a581dc66c080e8b347c0708b46ae0432ec629748512c42ea3ea931d6a78b9dc25084922710d6f6fecb373ebfce5391ee7e54665f72147827069f906d9082b";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "bxpdfver" = {
-  revision = 43201;
+  revision = 54802;
   stripPrefix = 0;
-  sha512.run = "06795ad6cf70da674064e9712584761e9ed7fc295585d66439c5501532fb5ed3da03d05c8b22b6022d3491079b7ae40af1edae12dd3c959c2adc0f05732be723";
-  sha512.doc = "326cf6f244660a7d94a4c847ee9c7a43cf3d2fc199ae94035a76464691b48355432e71fff82f9c6bd3642e10b2011ba4d8d0f318304818ad9a8c27c579d3ca37";
+  sha512.run = "996eb85498d4b7d1a12fdc3565819e9e1727b7aa5531e5f766045ad295115a0ad83631be3ea6d4a22fa8e5b8483a5aa13877edefee63895ac5bd15dd7ff2408a";
+  sha512.doc = "f4201b78c2b1311fd76540a416bd1684364c39e0cc1313560d1929b3639421388221f414b8ef2a0f601f0512f2b5c260e1513bbd95c9a1409844d695e57d9d29";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "bxtexlogo" = {
   revision = 47230;
@@ -4205,18 +4314,18 @@ tl: { # no indentation
   version = "1.2";
 };
 "c90" = {
-  revision = 45666;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "f7e7aeb931bd215d38b41e1ded6d8fd046f90e54946a1bd1d4dc04b7ede4f6c20a3501d57397601f8a423fed9518672fffa9d45f17515f56b05217ebd59efe81";
-  sha512.doc = "dbf3f9d28bfad1d52dae43f9e9804d082525ea6deef94ba4ebbef6d06b06ad6010f5944c52ce992b1ba4cb5f3877a8eb3b694f106f0eaaef48ef350f62c76e8e";
-  sha512.source = "fac23323734b4cf9357067cf6d5304d36e669798494636d6b3283a074cbf3ec74168138f6d9bac3d6cb7e3ce3c7d5e35f7d98672865fa9dc87ea59d4227e337e";
+  sha512.run = "9ad45614fa33b2272b0975cd8a044342d7d59d3dcef0b051f7aa49b5821764f838d1ed3f2b69e577a3c5cad1c471f412d4a312ad884ed4f9f29fe0a0782eeb02";
+  sha512.doc = "8b92590067d8c36b9d91a035c1eb88510327bade43f2458b12c64a74d6f0d74f23a33b61fe9ac8949d9a05137976a22e8a513ed3c6d40bb6138ccf3975ab0b8d";
+  sha512.source = "bd250ed720d900551167efe6f17844e2ef89005e9f8014d46b50e6abde74fdf84f0960ae452befdf018d6b39f3efb58dbe600b73261c935a4c35f0228a3d0b46";
   hasRunfiles = true;
 };
 "cabin" = {
-  revision = 52475;
+  revision = 55907;
   stripPrefix = 0;
-  sha512.run = "b5fac4c3439798f21dc67f7ccbdf51a48d6946438dbd5e15e4432faacdd5231e158615c2cfe1617347473109a783dd49bfbd613613431e8e2951ca487482b7f4";
-  sha512.doc = "f76c3faf1bd7084f7697a219d8b12751a820f6d0cfc60c2390a2d2d8c07dce768381dd4e8b018614a73213ad5f07950a069d9646e96418d61ab10e8baee86949";
+  sha512.run = "a70afbed9ec2a5be99c0a22713d27b6f4a541452f9a7c3520e71cdaa6fe0f06851ef6921404ab511fd73414d8621848440ca2a9cdae4ae9d80de56ae906d4f53";
+  sha512.doc = "cb6dd0b813c69536dc2bc5e0c2bdcf2c52d8ed31d144f359c42b3c00e5383969e6eaf1b8d6a77e19a0b4be1789c1ac7da9332099efa877524f27c8633d0c096d";
   hasRunfiles = true;
 };
 "cachepic" = {
@@ -4323,19 +4432,19 @@ tl: { # no indentation
   version = "2.2";
 };
 "canoniclayout" = {
-  revision = 24523;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "19858946010eaac99d0a0b0808f31c57949b7488dea007e7a5a2d8820b0ae16518ff8aa48bfa5e067d90c8662937de7af7f325aa9a80dba382a03a66d89e46b6";
-  sha512.doc = "221b7eb51a3e5e9da2e354646cf1c09a78811ff1804805171bedc1e72e5c1ebc3a2e974f3b5ce3eb6322e17111ce2486e9c9452367e4e753be029d096ae9033d";
-  sha512.source = "27864e2f85680ac3fc8103bf14a420cd3b636124482ac2d0a382061825e70cf3674c8da8eb91fd8db5f2a7a15c173d2e16cc7f576cee28ac2a1d82417d662c8f";
+  sha512.run = "26e6e7a7b521a020e110f44db7e90b87b3489310102bd56703f453c5b83c454ae8b8b108f842928172470bdf3cfc6085898a9f1719c55bd439bb21855470f35f";
+  sha512.doc = "45c35415edc5e4033215af9568a72dcecefafda319936dd3512da58eb5c2b73e0d75d7cc4fc640b9c231807c5027a515a1ad12cf61aa4847bf6ed5143525ee24";
+  sha512.source = "d6262c36db8977185928dae4a41f6bb7f732d55f8fa8890741bdcb8cabb4c95c43eb9229d78fb66c661428717c347d260e4d09e5bdab1af8454dd6b7b1cbe3d4";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "cantarell" = {
-  revision = 51459;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "4565c3ff88cb4449fc2feab5f87de79eee7f38d0bdf61866d8fff421bc92e0382653b9956a724b1540c64ac78dbb529f34421e5dd0a3b76a2669da3a0d667c89";
-  sha512.doc = "2c696061a46a3b83951869ebb36b31da87e61d9489441d14b8f8ca2eaf4616802ac917e9e68d56d6e81fc03a534175b592d74ac42f8079340f476725f869f0b7";
+  sha512.run = "37fd0c1986f76d823be6feecdb76bdfdc8222872355d0cd66c340950ed0ad90e057acee0f90ad0e41fc77b61a682f8bd390d98c8ed559015f9a0a65014b11b2f";
+  sha512.doc = "17c118e49fb173158f7c5cfc31c1bee1063cd38bd1ba976e2629a648c795295e3796e845b735cab07de99296088d09ed9d87ed92c22af3e1dd1ec1a7a90a04d4";
   hasRunfiles = true;
   version = "3.2";
 };
@@ -4364,11 +4473,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "caption" = {
-  revision = 53517;
+  revision = 56374;
   stripPrefix = 0;
-  sha512.run = "5902f3a3c9706f3eb1fe973515232f5d5271c3a5c7dc23d027a30b0274da998c289887e204071538d3c58342572f5c92cff73f729436fdf0e34475fd47405da3";
-  sha512.doc = "57b89b79f2c81aed9101ef2b7ad0ba17053873ce8ec512fb10fde4ac8400bd7a7ba47fac67eded49db870b1dc4d001f46aa2e4ae994d750423c830b8f46450af";
-  sha512.source = "67730bbecc3a2644e3c7157a969908538a5f7356898a9f78f68663a499cff5b3cbdb8e2b91eb18af5e74d49ece6804e39744822765d86820d52d68b653051807";
+  sha512.run = "996c26f073fa88a4f167a757ef401f91a16ae1276b78aec02b0b86fbe90ab305366fed899fd8ac3be45d295abae6744fd7dc19303b79cb2c77d4278a8e1f5d16";
+  sha512.doc = "6ffa5ca8ea4070b5be4a9d83a4612199736c32dfbd1f921c011d6351668088a547ee9e40b632d43dd141256f030a5abee67be99143922835f135a93d7dbf7de5";
+  sha512.source = "25362d04b953eb18bd038030dee621accf05427621fc7c264d2e5b4b616c306d61632c8760d75db1a954fc46bb2c21d48d4dc09491af9dc4356e4498bf894f79";
   hasRunfiles = true;
 };
 "carbohydrates" = {
@@ -4402,13 +4511,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cascade" = {
-  revision = 48200;
+  revision = 55759;
   stripPrefix = 0;
-  sha512.run = "d72e9c46f4228af10abc33e96818ee488d09389d21575b40cec183c03664c63cf7dc7b9dc319b0fb775c41b5c9df8f767d06d131ada730f9b8dfb655111fd7fe";
-  sha512.doc = "d74ad316352672ad753f48e1b1c317dbdf402927d75d583d85d85367ceac69228e81b726b575e84d2746a709457e18d25817ebe7850dd17ca07515192749b713";
-  sha512.source = "53ef700bc723b28b36ffde548b030639e467fa1fd41570179b7ae9661c3d4a9911d9dc765362ce46178d06d3a67dfa1fb408e8f074141c80d32de437554a3b9f";
+  sha512.run = "2c108ed478340c3605848c67dced82eb09040632e63dc59aa00c2ff52d0a0ff9c174240adb096ffdfbce8449c4b612df4ad0da05e41bfdf0040ed4e510a0ea19";
+  sha512.doc = "f3b650bc8ffcb089b09a94bdeda3e188df26c5494cbcc515c095670e6f13be31e6d18a19b781d98fd78ea9df7144f9d5e8bed13a79da99de1f2d0329079438f6";
+  sha512.source = "3b5b9fc20b90dee62d281ba4d25953e660b52488271a812e595215f255c7947131ae33d3cbc65036242d25996bdfe40a980650cd942af2cf6029e408f0f7f915";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.1";
 };
 "cascadilla" = {
   revision = 25144;
@@ -4419,11 +4528,12 @@ tl: { # no indentation
   version = "1.8.2";
 };
 "cases" = {
-  revision = 53909;
+  revision = 54682;
   stripPrefix = 0;
-  sha512.run = "81c0aa3c563cb8faf27fde5859a298b7bccf97ee4b38841f0a8b1e4e1d2130ce01007befefdb5bd28048472c2fca30b477cc9a701096a181a3c551ca01f4d95b";
-  sha512.doc = "f06f9e40be1af54a3b73a7b1c949475b6d6c9bf5e05a74a4c29c261f057220d93d08cd4cb57085eb8cf01d200d9cc18764950b88529ff2df0814c354d5546e5f";
+  sha512.run = "281f9d13741f16fa07f93bbd2628f4da34db07d5005b6c1d7994ec7713aa100f152efd066bf712417bf6dc3fafb496d0a80f65cd2127c4640ab28cca6a4ee1d5";
+  sha512.doc = "89aa9005cbdecc26e0b2489b544cf3f504e952eddd9a28dedd2a2f555d3e0c5f8378ce1ef21dd78fbc5ebac616cdb7559f2147e143f3cef12286a3e33d9b5616";
   hasRunfiles = true;
+  version = "3.2";
 };
 "casyl" = {
   revision = 15878;
@@ -4486,19 +4596,19 @@ tl: { # no indentation
   version = "0.2";
 };
 "cbfonts" = {
-  revision = 31624;
+  revision = 54080;
   stripPrefix = 0;
   deps."cbfonts-fd" = tl."cbfonts-fd";
-  sha512.run = "652472d9251cc9090906627a823fbaef3015ce0a5db5d08a347f6bb496303adb65339ccc2cd55c19df489512ba06c605342ba2871f99175685259415f6d3bc0a";
-  sha512.doc = "5168d8ae6380b6d7521e99037bc2b28c13f135aac9a3cda160c103d3fdd17555e1b6ffd371e8aba968d74cf50ac1d01a7415977f8efbfd1a8841ca4ce730e66e";
+  sha512.run = "0e7cecfdfa102113f75f46f9c8bc76f578fca6c967128bb8b203af76cc64cbefd123ae87a8b04a9780f498517bd9f660d12e2dc586220f2c12cc8aa76f1aa40a";
+  sha512.doc = "a069b7ca1b46e5656a05a5e38a0f9ea5c3ab1e5301edc47d7fdd43817a8f5d641980c2e54b7731dcbcf16e12f0dff17df5a816d66f7bd2b613232788815bb8e0";
   hasRunfiles = true;
 };
 "cbfonts-fd" = {
-  revision = 44917;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "f892af7e63b4376f2d82d886516f6b25d362f8dc627435b4f353a72926f25c3867af1fb42a4083ebd16bddd05ea797d643b94f556cea37495fa0fb7786e33b3e";
-  sha512.doc = "dc2b0570e042ed2e676c55df43b9254a277d1258861cd3c4c45ef65012dc8182c0e374ddf71f3d3ec6a667b5ef99bb449c43ada155367e1ef26a6ca8c8dd058d";
-  sha512.source = "5a66545f0bdb71b951edde9debe8262a2bdd5e644da1fd3ee966cbae883ac62c6f121add0a5e9a39096081b1a810a602a45eddf5f2933c21bced260fa59f6a5e";
+  sha512.run = "af6f11a601f2ea3fd38d639beb3f836becb71aca7d282f5d0c7e020e9f73269c560ae3ac08d93706731872bd1a271c75724e1049c2dbf65e9ac0ea8f6c9b4724";
+  sha512.doc = "8fb94b444966e6e3bd63b5b3ea62f661c038767222b08df2bd288965902cf152e1af4ad4b9d69859d11b1b558f4015b2f304afb0a43c356ff663498d830e1554";
+  sha512.source = "d21d517c40e8c5058c8e610ee0a8ebaf19d97a6b284b9d16ceafb87ec401b4110a483f6ed00ac626fc5ed2e1fd97f9cce99df5cc12e73ee7b92b04c84972f280";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -4520,20 +4630,20 @@ tl: { # no indentation
   version = "3.2c";
 };
 "ccfonts" = {
-  revision = 17122;
+  revision = 54686;
   stripPrefix = 0;
-  sha512.run = "0affcca65346d83ddfdd9f2d6a9bd9baf41113b396a99c76c88801b1d509f3e9d6168f0a4659a5cd440bb46fff996d5f3361ba342e11c902d0866f616e0d41c9";
-  sha512.doc = "6a08c3f13c5ece4ebd67ff1463a4c27c1b5b114fa777e916c034a66dca5c8c85bfc138394ae9c2955182f68f34a91ad57eb4834f749e7107b0a311e0eb61848e";
-  sha512.source = "2d560016ccd3e2c6593e5d06b4cbcf1ac238d3bb0b0d9632bff8f69720bc0cd1b20d2f7e3bc33f3204820abba18995467758db492b9f91fe1850f1eae55487b9";
+  sha512.run = "abac4ad2c89e2d07281de95ac76922066713c511a77d067219dee9fff64e6ed54870da0db5cf83bacca89af11b2e720e352638eee1adfd4265e63a9e887ade14";
+  sha512.doc = "a327a036c804040973462e836c6028895cbb3897047785c1e1f9152ba85393aaa0ab6c876b8878e58bc8e124656ba22e38bcc90ca75ba8d7d74fbbb66a1a4955";
+  sha512.source = "fe3f77676ac1ddad784ef83cbe96e5a70219b7f7fd5b624f7338a95655851cac79d7c28951ac4ec1a62fbb62cd087b22bf38712b0130e05a833f2d46195d62ec";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "ccicons" = {
-  revision = 45646;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "45df39a60891940e4ab24c489d7ff76971a7d378156ab4c533eb739fcc8723bc7ff6ef81322ef157b2498e24b5df97e6807796330f5852301e1e88d950f90d40";
-  sha512.doc = "3e988fa5a9c4f3a07f0557d5ef787ff9f6ee2630be5ecbcab1e892086430f39a8f8e23deaeb624c1bc4b3f2f00b708edef4b3ed645c56400c13c0f9351b5d8dc";
-  sha512.source = "c071924713a6b3e3a45a5e83a116c535ac3fed4958d9d395151c6592c854e8e493b51d2409dbdd07f2e53a6d3b51657b6578888f6dc6197584e5cee2e629610b";
+  sha512.run = "4e755538440c87c2bc1f8d57d41ce78ddaeae9a0e3c1c85aeed172c2a25e952963b26245cd1ddc3222285c883ed4574ac4228d17f1263db31cc330bdb1f345a4";
+  sha512.doc = "0e4216adcbe01d8feb95d31e2df143ad739f66c2239196f9f5c58638a87d320949256baee32703663d6116bd13b4af607dd38d16d4ccae218af55f5402308c03";
+  sha512.source = "af84fa01272028018fbcb4fa9e04971b9580b1e6fd63f0e07419a088005b75e852a122a5ee0416afb7391ff165ae39549f8931a157aae1ea272d97be05132e8d";
   hasRunfiles = true;
   version = "1.6";
 };
@@ -4545,6 +4655,15 @@ tl: { # no indentation
   sha512.source = "d20b1cce1635b415d7368e49a9a32ee3a61efca8d0807b67c7e92ed59604fda1fd9b9d168ac23d54b90e396d971fd421463eb1ec77009d3e077e474166afed55";
   hasRunfiles = true;
 };
+"ccool" = {
+  revision = 55425;
+  stripPrefix = 0;
+  sha512.run = "1e583f234c550f6479d51ed1607323beda8b580072a47c9833ce07427d60cf77fe23639b2d6eebaecd06b502dcfcef96157e6ada03fa64b82de03c1054389a77";
+  sha512.doc = "28f7a031cd4268f7c153ec9217d2dcac4979b738b7d5de9e78a561b71ca6a38ca08b2072c8291296dd7df2694319a7966cc87d2aa5f0ee6259479123d0fd87a0";
+  sha512.source = "14e36b0b3c86c750c049b313b01b1036a9ed3e2352aea5ffb1707e5cfa628c23c6144de6b22ecd68bbc1c120c06b76343ebab327609bc2b5cb6853695486ad27";
+  hasRunfiles = true;
+  version = "3.0";
+};
 "cd" = {
   revision = 34452;
   stripPrefix = 0;
@@ -4580,13 +4699,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cellprops" = {
-  revision = 52205;
+  revision = 55483;
   stripPrefix = 0;
-  sha512.run = "0dd543116fdf89a6d83c5e7a4a96b6dd627f156b13bc56db5905bdb32f2e880d9292913d6e3423e1eb248c0340fa2e9cfb73d0c7795fb4bd363f90c9d150ebc9";
-  sha512.doc = "3f44b803ca78fc08732ca9971da4bfc7755cc73e0b8cae8d88ab3b4e4906271bffe9762b75b2281776f36f3813f3cf0d58c0b38bf2fbb14b25156e00c711e14b";
-  sha512.source = "aa342fe74a9e73f880db8aebcd3cccde038ce56b279d359c82d5f00bcd92bc5bde2a3bcaffed3768f3835c524c5706e695a3a46a938f4d92d352b4176606e31e";
+  sha512.run = "6b94b7933e1a22629c0c02070f31d241c3ee9df0d2d88013a0be4d6bbb8fddaf2c1ea98fcab1e50f4361b9070efde9717cd215ef3744b91ed245557c502426e9";
+  sha512.doc = "764163262630a2e2564dd97cea934666b0af8f1c40471ca55d50854cd3a827aaa709639ee0a0ca5dfbb789d55cad8eda3c7dc4d6ee541f14e8af0cd71d4837a3";
+  sha512.source = "ff408bd9e0217f49670e6af4f6b86a7fd6234824f3dd94a8c16b0b0e657d55a947bed17a87dfe736f9f403e3ebe0a3075e9899ca93442faf466b4a4124558217";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7a";
 };
 "cellspace" = {
   revision = 50374;
@@ -4665,12 +4784,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "changelog" = {
-  revision = 51574;
+  revision = 56338;
   stripPrefix = 0;
-  sha512.run = "ba47ffdfdbc0c43a25ac4ff4379463d9a4d63edd0e2b477650731609685aa1ceaab71216f092ab7bb94e9d2b090601f0a2968f0fade479697f1d4b6b13d80aa9";
-  sha512.doc = "540814f3a757f145087f6d625cef48257303ebb0560e07c49102e086f747678032e4f2a8208060997e8ecbd54c0780483722675c6edd9913d020f70e2bc01396";
+  sha512.run = "f91facbc1ee2f959fb9d4ea679b0d2f9b740664e7b7941a02a87c1df23545591e0f355713f35a7c01504105dcfd33820dfef266529be4965b606bb1647c7c503";
+  sha512.doc = "d3e62f5756bb5c0159523bb23d9c3c9f05725b2756913747410f6e58d41924b88aeb9746faf1bed8847a51295963d30cdfa8d6bb72df423ec2af899f1e399e5e";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.4.0";
 };
 "changepage" = {
   revision = 15878;
@@ -4682,13 +4801,13 @@ tl: { # no indentation
   version = "1.0c";
 };
 "changes" = {
-  revision = 52838;
+  revision = 55577;
   stripPrefix = 0;
-  sha512.run = "04b141aeb9925e3dd0b54acec65d90e2a88937c9591ace8ea103571413f19896790af9a2a22e98d05129a9c0839edada755a722d2455d6692363c8fa01e1e633";
-  sha512.doc = "8d293b2c22d49f39264535c899746118308640f489a6649b25547723bfb42160064a63ca785e25b939cb0488ec20ee5f4047ed6662c62bfbe1367c191df96003";
-  sha512.source = "fd3788b508f306f106a12abaac398e99ba9c8187f91e4874bc8256266f8680dccdf4594961dc755ed3bec90c2db4e9436fa749df52fde98a21f9d09077f29079";
+  sha512.run = "20789bb3c887edc9357549348c1ecdc59e79e9bb561975f62f32003aee73e05cc20b6d4b8390601c4299b8a11d2ec81bbc9e00e706f4f0385cb577856592da3c";
+  sha512.doc = "e9349a12b7f41122b1ef0a016babff956dcf50ffd8faf2424493b369e1a1129b91c6639e181b9f2d6793315f3959ad69f0f4d74c85fe262f273c94fa06141770";
+  sha512.source = "39638f5348bed50714b2a50fd9994383f63438e57f7dc7d9d5e11ee343adbc644913725ce1d17a2c81fca211235251239d8ad020af0898e3498b504100198ff1";
   hasRunfiles = true;
-  version = "3.2.1";
+  version = "3.2.2";
 };
 "chappg" = {
   revision = 15878;
@@ -4708,6 +4827,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.0.1";
 };
+"charissil" = {
+  revision = 55920;
+  stripPrefix = 0;
+  sha512.run = "c12562bce62a161bf261cc3a899c16f71f2c26091531a30626f7a0021cb0b321e1068cb9b2ff48cfd0128f1502d4e7012c12847b303295abe6758a970a759d3c";
+  sha512.doc = "ccaa2f0bfb3c76e9fd6ba2fcb35e926bdaa70ddd65abc14b2ccd2ab5db9eeef8ecdd4aadbf245fea4674265f6c616e7c42a2b1251214548f91bf72cc881bdcbb";
+  hasRunfiles = true;
+  version = "5.0";
+};
 "charter" = {
   revision = 15878;
   stripPrefix = 0;
@@ -4804,21 +4931,21 @@ tl: { # no indentation
   version = "1.0";
 };
 "chemfig" = {
-  revision = 51176;
+  revision = 55828;
   stripPrefix = 0;
-  sha512.run = "bf8b9f313bdc239eac7c11c8b887755fc5106c389b3d62f013c764a8392298f4e0074796ec128edaa0d4126b52b055b3787454885dd2cd214e2603b7896b28dd";
-  sha512.doc = "61027d844de25043317e4eba23fd3003296fd0fad7ea9495f6b809c0a8b5cc055deb0798259bc6de09ed2a1e462b8aa9c226d5482c9642e87ae6c0de3787db47";
+  sha512.run = "6331f9365e063e110e110b8639ade83635ab519e4d1c23c5e0bca16ae27834e3dfed25ba55839b33cf6ecf2aabd1bdefd27408296d051c69f8097826e5d67d8f";
+  sha512.doc = "37440993ee01b7e0e77296717ed8d911c440e7cb7364ab7e0ac9b6b2a4695a0653348dc81b10a5ae060dd65d69fa75e7f4e4bc938a9a4d26244bd7194a2cd160";
   hasRunfiles = true;
-  version = "1.41";
+  version = "1.56";
 };
 "chemformula" = {
-  revision = 53624;
+  revision = 54158;
   stripPrefix = 0;
   deps."units" = tl."units";
-  sha512.run = "adc4567055bfcf2c3758856c889fee55e4e59fd5999378b60996aed6d81927c0feb5af99dd96b677b84a9fa20e583aef73dc435d6d1e81d5b47dcad6eab7b4f6";
-  sha512.doc = "28198199ff48a4575e368ff55137123cf5565638f1c7a91012b1f414529fcf07a9df10659670f02a3f0e3b1c5a681e30638c1a349fa5073fbd591062fc355d7d";
+  sha512.run = "fe66366d642c6e8d517303dd62d545ecbf6906f6d148efab38f058dd71986af54b92c7e61428bb025efe7d59740270b53f8d52af495da2c7f9522c476924170b";
+  sha512.doc = "f9d92d3894dab9f8cfd0d3db680de6b97e014c13d153b16ac658da6e09d3308b924857902eddb264ca971c1919d205d4e2519d4fd4ac99185c3e9171d8d3e973";
   hasRunfiles = true;
-  version = "4.15i";
+  version = "4.15j";
 };
 "chemgreek" = {
   revision = 53437;
@@ -4829,12 +4956,12 @@ tl: { # no indentation
   version = "1.1a";
 };
 "chemmacros" = {
-  revision = 53665;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "cf382e9fc9269b3c24b37f028491e5be439cbb30f3f77b04ed7481bc3eab02bf17c5182ca43ab3fcfc9737e72a93af808b3ee8599b65a0a63354da95913771ae";
-  sha512.doc = "6b570a5f63c516ec1da9133faed9f579df9850e9b81d221b107e2ab7637ce8dedb7b4c7bfc0a63c84623bcc9255e65186bcf4f60d7ff03477c43f98b00aac852";
+  sha512.run = "8e70d109cd203cea5c8424dc306d6c5c5ae96ee8c83adf605cc54215a68f70dd656a6c53ace711ab99255e7ea1fa7978a2ec5fff4585d885a3cfe7c0a0951f6f";
+  sha512.doc = "357b7d8c3f5cc554ce86d71e2e31cc65307ae836d8bad177b4510ae4ed59b106f9dc85d4856ade241e5bab23cf2e4d4977942f2670b609167f627eed3d82d694";
   hasRunfiles = true;
-  version = "5.10";
+  version = "5.11";
 };
 "chemnum" = {
   revision = 52256;
@@ -4938,6 +5065,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.01";
 };
+"chhaya" = {
+  revision = 56103;
+  stripPrefix = 0;
+  sha512.run = "f0fd1e6778a275c9255487e00d37f786c0a52c8425683efe3a18b2518db6c1b233935e8fc0999260b8698bd7a0d8e8332f78528f644c8d8edd03f85f045211cd";
+  sha512.doc = "2b74886fd2078d8a216301b2b826a167c6e84e8abecb02da946e9d5f4000580cf755f89cf86cd04d9eea27fc760324273fbbc8e0fc47024b2597ba7abd656682";
+  sha512.source = "757665001e98ae28ca87fd3b1a0d2d67ab697958ff36dad0f37bed9f233e1a2467c0137add2be17f5a2cadda49f86f07ece2d341ac0d1310cffb0d8d25121869";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "chicago" = {
   revision = 15878;
   stripPrefix = 0;
@@ -4976,11 +5112,11 @@ tl: { # no indentation
   version = "2.0";
 };
 "chivo" = {
-  revision = 51689;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "c50965da981e688530e115352f0d1baae7c9fa2b286856fc1c3d7a9dba1b463b299c129cda72514792a2faf77f512b8720f02494bb178cd619ccac6a37e5f606";
-  sha512.doc = "b7ec648495dc0be4201f01b162ef995eb2168bdaaa43c84144a7518e9b1e0d471e08a1282d301162cc9cabfd23c86249fc57cf0136dd37c0689a33893917f12b";
-  sha512.source = "5b92272061540ec7e08797782af358ab0e50c6a2658a3faf7fa783e2b4e105a9e7d3dedf6e4ec1df82410254686d5adfac205835c68cd88394a85abb39d1f3e3";
+  sha512.run = "41098de0294384383294b382722821c90ed2481f7172957b97c5f6f1775c94e0165a1c3aa7dea3c50742683b05419ecf009941bd79cb234b8b2400a7c3f0d567";
+  sha512.doc = "f430375203fe46e44ce013061f09a8a935b7fca7b4391df2e3f18d2125f4b13ec9b80415e432ce9af267f1caa6f88d6528b474cfc6833e5256e002d54fd221d2";
+  sha512.source = "ca9cb13d589c3141e5e2a981ae9dd1acfe7d18f5c902664c6f836e228a7b95bccc8906b9a54337ebe561e4cdcfee37265bd71ee5c3f7dd1d013188852ac224a2";
   hasRunfiles = true;
   version = "2.1";
 };
@@ -5056,10 +5192,10 @@ tl: { # no indentation
   version = "1.2";
 };
 "chs-physics-report" = {
-  revision = 48549;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "e1af3e29e5b59545804d7ac7f3cfd0c7463fa9487c458ff3790a2b434151cfec925863bc2d107e5eb6e43c988d85136eaabe28065bf95b04836a8342d5626d23";
-  sha512.doc = "3f87d4b32e3257a22e0e7146a89ab2fc90f796d524b0641ea0ec51ff7328518854d226f5405220d7f5466a138bdfecb6d1c6f8b056781e985cc1cc757d0f26e0";
+  sha512.run = "568c7b71838651881417900aa5eb8711d5e38b4496e130802b7732482c4b8d83585c54a507d2f5ee27823c9d97581db7508ea79645275ac8b1b4d02238c814e3";
+  sha512.doc = "edfd22aa48a1d3db245d3e41b36cdceabe4e3c2e263d3fb270325b6acc57dabe686561af5359b849e8a17d1f2e9b77f2016cfbcf8b0af37ba3120085de9e6764";
   hasRunfiles = true;
 };
 "chscite" = {
@@ -5074,9 +5210,9 @@ tl: { # no indentation
 "churchslavonic" = {
   revision = 42751;
   stripPrefix = 0;
+  deps."etoolbox" = tl."etoolbox";
   deps."fonts-churchslavonic" = tl."fonts-churchslavonic";
   deps."hyphen-churchslavonic" = tl."hyphen-churchslavonic";
-  deps."etoolbox" = tl."etoolbox";
   deps."oberdiek" = tl."oberdiek";
   deps."xcolor" = tl."xcolor";
   sha512.run = "6c572235b95bb1f8407addefdefa1d7d3facc09b963f4d65d2be317986eb6523db9a8ff7104f15c526962ea8fbd0e1430b68867bf619cebc9b494f5cc04bfb07";
@@ -5085,10 +5221,10 @@ tl: { # no indentation
   version = "0.2.1";
 };
 "cinzel" = {
-  revision = 52392;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "5325c8ebd42cb7311d16ac20b4b0bad6832cea05dd685b17975eef92363dd0ef99a06ac4e5e269c932e30df2dc9b0ec3b5dbe54adc70e93718c08a92a140d866";
-  sha512.doc = "939dbd310bb861bfef206584d8011b0a296f4b70673b7f334b85999a40d352ff74f07078c9215e6510e431b95e6fd12778e468ab53f401f3b952324c3162f792";
+  sha512.run = "7242b771113d9164231d060169e70f6ae6425fc992edebb86fae8e76128a294f1aba290c2340c9b28ad9e4a7d90f9dc44dbc793f6f171b10b13005bfa848e239";
+  sha512.doc = "8bebe9427e35fd55a2b1e11d924124605b2045aaa50c7ae15e78b8fcad2b50c0363686f6eb6ddc8bcf3f407a8afc983df5b6cc1d8e2c9713616d1110532364d1";
   hasRunfiles = true;
 };
 "circ" = {
@@ -5109,20 +5245,20 @@ tl: { # no indentation
   version = "1.3";
 };
 "circuit-macros" = {
-  revision = 53821;
+  revision = 55089;
   stripPrefix = 0;
-  sha512.run = "2a4144072152000ae818322ff505c478ff266f40516c218c013dbb1e0e0bcee56b5bf3e4a67f112642348b6931b63946a17f407fa9bda07d5a4c35b326ffa136";
-  sha512.doc = "eca330bc347b7f2722f3c609b753cbdcdb8a204c162db8161256fbe1d627fd28b4bc6989cb024316f531fad935f3f927163c2c338373efda58794971ec1d5f5f";
+  sha512.run = "b2251e0fbcdf7dcddf01c8001891d593fe018d269ee1d9ab3f4ae9c30dd63a2652dcea8652b82f1ee21130bdb308af870f4a3df26834f308a4ed5b025bfd2a2b";
+  sha512.doc = "73bc7ceba825afc69659dd4572f0453b3ca125a5836cab8f5d25ceded4ca8bb3fb6a19a71c8505bed60cc613412538be6d2e5f17551b990e7a6a9e52eb2c7e3d";
   hasRunfiles = true;
-  version = "9.2";
+  version = "9.3";
 };
 "circuitikz" = {
-  revision = 53883;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "e9e7476e2e39b0212bb63384deb67b5c01a37dead40f7e310797468a7b8a78539297890132d58c6b77d96c2594b9585f3f908a99c2c4b99f6ecb60fd41fcdbd5";
-  sha512.doc = "50f9d3b6c31cda2c367cd464de88635daf173599e3ef297fd75b710ed8c7260ab8bf1338fc969e9bb4a7527b224d2aa01029389b56e610df55e398986fa184b0";
+  sha512.run = "3f18c02e92afe11c79d7770abc45e1fbdd1bcc145b098687842a242fd37d3426fcd7a10d81441a27d549b839c0bc8fa1ca780203c263a20a52304d1bb0c0c8ae";
+  sha512.doc = "ab86ebbcd68a87a650b7985345e8e1b7e0c81ed6deef6fea51bd3ccf218c2f93865df5bd131bf83962ee1ee6b123febb1f680af07669147deb02954d2ebe8266";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.2.4";
 };
 "cite" = {
   revision = 36428;
@@ -5180,12 +5316,12 @@ tl: { # no indentation
   version = "4.8.4";
 };
 "cjk-gs-integrate" = {
-  revision = 53410;
-  sha512.run = "f584536c3d70ab767407f9ea8f048ab9592133c0b1a76d8eec76e132aa0009cc5b1fe1ee6fc86174aaac618ebb2b5fa7258da79a12acfea9fc2aba4be0184ac5";
-  sha512.doc = "f2524df9e46cddb522517e38e53c1aa116ea7c6df04affe585c7265d427fbb748b2a7c94ab40d36040474ee4085bc3c0a1ada0340bae04d36a0d8ce7302014f0";
-  sha512.source = "e6ac59451a128fadbc32e96652b015b9e407ac623f67b26d1ddeba34ef169ea0f2c53cc57a3ea34fe66b127aedf1d81341d6115ba4711dca7394665d20634c09";
+  revision = 54155;
+  sha512.run = "116b0762afb445d4d25a539f08f7f7e288ecea52556205290b654f3c1a8060b9e98c24cf8d48ba1b57901706d2a663ca7d0c06705571ad4c1381d0a9a838d94b";
+  sha512.doc = "7e4196ecac219d6d6b5520490b3b4691329cabd16fedb62b8f4e2d70e5ddef19c4c5da64092d9cd708beb7954f819b9167cfcf773bee708e1df5bc46f9c815a8";
+  sha512.source = "39a7990c8e91a5c19af2341b5ad56f83deb7a1bfbe88cc73bad36e735a563622401393f3cb70c47fd2806ecd7b44cfe4c4ded48f440606eb3cb03dd71995f8a6";
   hasRunfiles = true;
-  version = "20200115.0";
+  version = "20200307.0";
 };
 "cjk-ko" = {
   revision = 40373;
@@ -5212,10 +5348,10 @@ tl: { # no indentation
   version = "4.8.4";
 };
 "clara" = {
-  revision = 53552;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "b5e91f144a9c1a8ecc2e912e47e49c61a42fcaafddef05731c701bc46f95cbbd88289bddeeb4928aa8766c6f696fecbb59b4638e89619cb08b94c5326a15ffd3";
-  sha512.doc = "40366f58178152d696308513816d642b57d791463260a5afd69df7ccdfe548a1e9bd9e0457fc7c9cb50c3bca7a2170d7c3573761e7362164a7e3d9c592cab7f5";
+  sha512.run = "549efe7ed1b523e0f414d8f6401137cb0078256f514253199f85e436a5bac595d7525380fd986fd0c674d087decb23fc401f41a67b193c58f1e8e3bf95a8283c";
+  sha512.doc = "6b7912050fd352e3095f6abede303f67d3c779b778825852bdaa37345dfec91df860e5b9d0f2fccb7e4e20abfb93740f7f8dba5959aa1d630b7cd990bc0fcf77";
   hasRunfiles = true;
 };
 "classics" = {
@@ -5235,13 +5371,13 @@ tl: { # no indentation
   version = "4.6";
 };
 "classpack" = {
-  revision = 33101;
+  revision = 55218;
   stripPrefix = 0;
-  sha512.run = "ac5e26d91107bb0166040c990e586b6504eccad7da3ec084a49b141a1e0fee2725939f10deef5af1c4fe89396bc8fdef86f3bd2e8de9099cbed9700867700e8a";
-  sha512.doc = "6a22b10f5630a52ba85d113ddab8dacae0ab8148f62d4f9958bf3619c2d88f9a1f3c9778e41773d7b9d392ddc4d6a30dc3cb995a24072cc60b446896ca48707c";
-  sha512.source = "48762603b928b53cd9391908f2b0497e766ab516033a246aeeed014a99cd09a6e18f1feecd107067f58e3ecdad5ca37b4004890c4ec2e4bcce7e5f67e6d03724";
+  sha512.run = "483d96aff1739fc2cdb63e9753fbb86ec93b493ee3d8d104e6089c791e4674d522a30e0dc747a48d8ffc6690452a147b2ad15a3a9cc676c641a9f6aca535563e";
+  sha512.doc = "6e30295ea5d7ff19f47d4144a3ea6eadd85d02a80023b426675efc75cd2867e3c79b60a8210f26cb732e5b0e70bcb856d96d7ad98a6165cfeaed64affa070bec";
+  sha512.source = "59ab38731bbf23dcda81c02a297c69b5787ce89a69953697651c399dc86e0994db91e5d06358365e8a607a3f15b3a115ab93fcedd8bfc9b3e91946c428e5ba40";
   hasRunfiles = true;
-  version = "0.77";
+  version = "1.19";
 };
 "cleanthesis" = {
   revision = 51472;
@@ -5252,20 +5388,20 @@ tl: { # no indentation
   version = "0.4.0";
 };
 "clearsans" = {
-  revision = 52530;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "fbbb0be85ec7e2fcd8e75475df45d0ef6229c86c9672f56516711f8718575b857018239c4ce9bbafc7f226f986c48ea873a1b0e0f187ff46fc6ede604a3abff8";
-  sha512.doc = "43949701e72c24922afa76c49a04067035d5393c480d1fcb8e7db3d50030255f5506cfeb1d66d66ada35a479b4aaa12455424140c2bb74421d4fe3b9a4b487cd";
+  sha512.run = "7a09ef6b27a828823b8bb4d57788805cfd3301196864c9023d5f1ac6ea688da6783535c8449c0e035c02647476de9f2fddd9abdb4180a1512d1ae24ce611baee";
+  sha512.doc = "ec57c7551e9b751505d2973a50411b20b859190cee10c176eacba66b4e26c551b7b4230cbb5349a841645cb5d2e351e655ab242db59f4e3e5675f3e964977845";
   hasRunfiles = true;
 };
 "clefval" = {
-  revision = 16549;
+  revision = 55985;
   stripPrefix = 0;
-  sha512.run = "8bd7457b6f8144982781b029500db910fff387f3872d09039a2929c5e62dd7dea56e22cbc40036519cbb2060ba62bcc7d621dfd383493420a88699660a796e03";
-  sha512.doc = "5789c53aed9c4bbe92e8c36f115cf63e07c7e7c35c26d62ba2be41eff8408c8e60f619f565cec1fc0e1ed55f2c571ee6f8115ffc2e88d9917fff085d19731694";
-  sha512.source = "119c560be9538b97bdd4366e8ef59b394aac864e54554388c98b7e5ef62fbbc0f13c4263f012fa6842081a97433caa318bc2eac6aa10c4b8a8f433ddb3f02090";
+  sha512.run = "1d92e279264970ca6d7612c3850fd46d4f3deb74df8a9149d6e63ac19eb665e5affeb1ab9bfea44d07825b80245b0a3b951d3ec08af0834c228a21270bc45437";
+  sha512.doc = "d8242b0dc52ad63167fe13a88c28fb4b088061f7bddbe3137a7b541dd1f15aacc75a1c7c1c9b6aee2db1ff14278edf3b83d8eea5cbd77e112f16f8af9e36f19a";
+  sha512.source = "abf25917b9a6aac0c3ef310bdddad1063ccbb6c59e844c792638927de403da00013e93db8bb1e9c4a052a65ee8dfb46743404efcc9c8cca6191b2703a6ab16a1";
   hasRunfiles = true;
-  version = "0";
+  version = "0.1";
 };
 "cleveref" = {
   revision = 47525;
@@ -5300,13 +5436,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "cloze" = {
-  revision = 41531;
+  revision = 55763;
   stripPrefix = 0;
-  sha512.run = "e66b5d9086d3d6ac39c0664cc4906b467413b919a64538371077bbd9088d80ea81276ce66a64ba29040068b9b73ec5990a7d4422608ce85b0d94e8b2ee3bdce2";
-  sha512.doc = "c21e8561c296efaa8b4c30044f6121736d58a98d910bf671d11f1931d29ddd0d626bca69ab6f50225a3cb588346877b76ec43426822a869e72e266ee5d65cd5e";
-  sha512.source = "fe68d18164ef34259dcc42c4ec395b929c92d3758a8c9e911c2f20a136c2807ed229612db1efa6cb02704eac6924b9ac8b98742a546e271241013245d855e50a";
+  sha512.run = "f1c986699258bc9e7e27093a2d44f59d001ab13c3d9ba0717dc9bed0c53b00ce8ccf658c9cc3d7d457d18f45357a6d44da4d6710c1661ffcf299a8791822501b";
+  sha512.doc = "ca3d9e0a4eb7486f40e4a26d0b6a2aa5dbf7e3d28343b9069ee97b089e7906aa137d8e7f8c6d010fd2cf472836191b88b9450248bd99728d80159afc54a8d1e7";
+  sha512.source = "53d30866958183101890a4999a9b8f4b20b5bbca996d28ca4a22aaf81331f186facc695725917a9e80206545a3e0962b8c17b4e08b4d2db961878a273ba7c209";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.6";
 };
 "clrdblpg" = {
   revision = 47511;
@@ -5363,9 +5499,9 @@ tl: { # no indentation
   version = "0.5";
 };
 "cm-mf-extra-bold" = {
-  revision = 45796;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "c9a9c5631ce016112ccd37ac3325c753e608bdc55e1de524742ce81f1ffa6c53ad6d113346d9d90cbe5466fe301d27050d40bff258678df840c693987afaf6ad";
+  sha512.run = "1845d58827ff828d6b60b82e4eda94760cd3c86076982b861e53b4f996a0dfcc9a5926ce58de27891ca3ea115a752cc4abc56b06b112d43194aa8a27c61b86fd";
   hasRunfiles = true;
 };
 "cm-super" = {
@@ -5399,6 +5535,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.9";
 };
+"cmathbb" = {
+  revision = 56414;
+  stripPrefix = 0;
+  sha512.run = "8e720662ac4d00557b143c883e9d410da8593cdfa056b5320e0ff348c2c0e37f9c0045341c28e583aa544790e576d9b7db8c80f93cffd8c4da699e46e35f73e0";
+  sha512.doc = "f1b0b1067260287c66347e52111883834d575e5857a3aede8e14930252a284b5c0bd6bd7247c9ee36462d57a63d351110582cb66ca894d9430d476445f37da44";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "cmbright" = {
   revision = 21107;
   stripPrefix = 0;
@@ -5432,10 +5576,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cmexb" = {
-  revision = 45677;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "1d5a3b2ee73dc85c2e19e7bd8bdf0eee0283ca161ecd42dbeffe0443849e73e09113220ca6e09039c0daa684b2f372e0f8b13bdd711a937a09cb8a8fb63b4593";
-  sha512.doc = "f833bc57edead21d4fcb27c5822849f26cbd4b434bcd230bfccb190c94c47d2eaaec4dbc9264c6a55ba24b2571d2607197abfd792423e03b7013c478e261ee6d";
+  sha512.run = "584aa7d96c86be809a1da92955c92c9e73946fc236e9991925431bae4041001f6b4d7029b13004ada0435ae291a90fce8990e527188e1f35a3be922a39faefed";
+  sha512.doc = "e6f362bfa79f6c32537245af645f8b6a343ef5a9204b9cd50cfab9337e9617554bfc3fc813fe4c65d2664fc617d460f15a4ea099961699bbee82381df0856760";
   hasRunfiles = true;
 };
 "cmextra" = {
@@ -5475,12 +5619,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cmsrb" = {
-  revision = 51887;
+  revision = 54706;
   stripPrefix = 0;
-  sha512.run = "71114f560befd3f1c7586dbdde38c12b682bf1eb73019d874b1a55e89ef9829786623ad9f53d2dad99361dfac09c9ec011dd7018d07f48d483463219df18baba";
-  sha512.doc = "81803d7ab7c220b64684ac2c7bf3b56ced62fafec33e5ba2ed2ab2bfcc4c8abccfacb5614a853fbc1ad0993bd6f221b41ddbad1c494558fa3d4af2c27a51eafb";
+  sha512.run = "2fef47e94ba1a5ad0774667ac84e29040a3715c413990585aa09c866297beb61c7da533685bc1e102c8edb30d7bf6bddf8fee5486dd6d4d6ea9ebe51d2424196";
+  sha512.doc = "9200b4da942f308cc60dc53b2fba9cefb7448e95d89f0c34d03604e5f7a9119aea4e762d70cfa35fd12f555f8c4ae1ab4c0b12abb04742e17b6e680bd80cc9d3";
   hasRunfiles = true;
-  version = "3.1";
+  version = "4.0";
 };
 "cmtiup" = {
   revision = 39728;
@@ -5491,12 +5635,12 @@ tl: { # no indentation
   version = "2.1";
 };
 "cmupint" = {
-  revision = 53507;
+  revision = 54735;
   stripPrefix = 0;
-  sha512.run = "df5fec72f9116ddeaa19bbfb1c174c008b6c6e78313459542092cfee30f20ad93c0e42b3078cef83d606e4403d2c84ec232f365c02e4be8b80109544ab24ac3a";
-  sha512.doc = "fe7d492c660ec1786f486f1a58b405303b2dbd63094f05fb0da85fd0a7811eebd11f18a065b524027dd4fc559bd5ebb037a3114b9984f622af5daeb3d42e8acb";
+  sha512.run = "ce08962145a80b7b6748145a7385cc78e361295d85ea96f24397aad3025b7eaa2e962d4d30380ca1a8d22da7175a3135abacef78a76d9d4615f03aed049a4b10";
+  sha512.doc = "80cab8f9387e74db3b3650b8e7b055ecf1e094f75f0e43c4540b32658e43e392c82f3fa8ab6a6c08495ef6f9f2773501a7f282acaf7d7d640f0bd891cb8b1f08";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "cnbwp" = {
   revision = 32550;
@@ -5506,10 +5650,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cnltx" = {
-  revision = 52601;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "e2e51aefb221bd92c03af9fe82738ff4912445cdc56bdcec2ad1e9da132804bc1b1ae578f4db69a39a90981e16682f88b32b5192b0510977f2444dd5232f487b";
-  sha512.doc = "8cb976bc69502c4e4a17473cf5a57cf0316cd488a64af97a4c76679ebb7acf5655991d7a9f21a1e3c3fbbf03b934675fe3c00b6a2db7af12e8e1e170151a6eb7";
+  sha512.run = "fa858296b0d71265f4812289d7e50e1650deea64fe8feb86c1d9a3ce49719ed4d265e457fc1e6c9382c9344b9798ef2de322419ab38b86dfaa2f20ca87052ea4";
+  sha512.doc = "b1481a3f56079e4655b94ac7855019492b051de1405016830fd196442f1c3fb8213d00540ec5fa42dccf743eefd9ff1d0a581626d2b0c64b7462e43708ccb502";
   hasRunfiles = true;
   version = "0.15";
 };
@@ -5538,12 +5682,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "cochineal" = {
-  revision = 53348;
+  revision = 56418;
   stripPrefix = 0;
-  sha512.run = "1042d59946773c0f321758bd61f9aec5f4a6536493db50df4d9afe693f02fc5a3a64b40c01a7097f5ca9c6e1b3f23181e5bec5ea62de0b2c7c7a38438374e3bf";
-  sha512.doc = "115bc2ed0e846f374b768908f5af7019d4b000ecba18df9914248c023eda5ed5033ffc3483ddf89ec909dc6509820858f7de6721a3d5701f1475764c008c49fd";
+  sha512.run = "99a2a1c6b330f5c9a7a74608ff48b5bdaee6fcaad63ae0cdd2c11b351329f0082e39bdd5b3c92252b8dd1ade3c94134b123987ee04597a4b62db13635cf5af1a";
+  sha512.doc = "6fe723ad3b278afa6b73a56a28544f95ff27624f999f7b84681e8aea6cde8bd1457c2cf33654f94e1170345e543244a47e0a8deffe75d398a1e12e027e001f07";
   hasRunfiles = true;
-  version = "1.060";
+  version = "1.064";
 };
 "codeanatomy" = {
   revision = 51627;
@@ -5589,33 +5733,33 @@ tl: { # no indentation
   version = "1.2";
 };
 "coelacanth" = {
-  revision = 52462;
+  revision = 54736;
   stripPrefix = 0;
-  sha512.run = "b29dd50ce96159af8c212aee3dfab5eed5285df453caa60c9fd65bef69ff865ba81c698af8ad55f2d3533ed3ad4209644f34815b7287a678a734c9b27e2acc24";
-  sha512.doc = "38f0f12bd2510a29120fef972578bf7587d4d5a469fda80f8eeecf4d0492e7503040ead69ef9eba46766598889ecea3741b9f78296ca49feb69e69d2f475b1f8";
+  sha512.run = "f23a337931736831148c779defdea8fef6291636334f0f42cb540c53d1228972a9acaeb605f35fdc33c4a077347b11c8e964821ae1218074fdf87c06c7029187";
+  sha512.doc = "be2ddb2897fb81682514c19aa21200c2dc9825bd106cdbff9cb5a31c6874c937d0f47ad4ccfc867f62d5dd00672791ce055d6e5e46a4e49587065a9f6134749d";
   hasRunfiles = true;
   version = "0.005";
 };
 "collcell" = {
-  revision = 21539;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "34a2fb5a5dc309e625e4c7d89b9e5aa9806d15d93cf0fec124a0505b20c6711bfa96b3f99986c23393632a9db1c773842c9bf6f10c01d1c4da8dcef2960df289";
-  sha512.doc = "1bbb4e70a5f5163a62f1b0b135f5601b4d9378cf2a5d27fddfabf9ee5e65dae7a94cb4cf63ed5e98dbf35cee550bd0a7b425f505d462eeb7f1e7035fe3c7664d";
-  sha512.source = "8d567bc14b9e6a8467da4893245efd56f7537f5b721b8b9c4300f9ffda5ab30649f7c0ca51f3673f786676fe20af948de63d1fd36ce2c3d0f9d217ad4e6bbad1";
+  sha512.run = "fff5f9ae7f9cd27f85189a895193f205e0b52874d46171f1f3957d7c816e0641dde6d2711783897953a1f1be699e001fbd9048aa3c15c24cfd33413db1ae688f";
+  sha512.doc = "22dd2b527ca195cb4cbf6d34d8dbd181dbb3386fa738fb09530957eea1413261fd596b0a00395647ce2582c477625cdd87e8ffa1cf2dad5387032a7d7d737edc";
+  sha512.source = "9a5a173381fe9b6e0383571868b215184b75c51e39d18ca209d00e4064c28d7a477c4b887a0be5dd4867d393c6854022a5abd7be63d3be593549e645e3e09aba";
   hasRunfiles = true;
   version = "0.5";
 };
 "collectbox" = {
-  revision = 26557;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "e530c630a905084a3f9c43fd54c45fc5d4af437aab887f15f5d37c40d3ba2a86c576ef032e723cf95f4f5dc46256d3e7bf6440545f68133217fb620aa2db8a65";
-  sha512.doc = "e2248e9825490474e545c1674d1256ad586332045e2fd5ee5dc84d9965d4df263522277a14676010085a73dcf00d822ffb29117338b3fd3f854b7b0d0ddb5c9f";
-  sha512.source = "d29bd5252e632573797eba99f70172659303d7342ea345228d2ed448fb1c1b6a48aa2448a3cae1bec26849241a5d3e19cbc0c00e777a339dad23ad2864dc5da7";
+  sha512.run = "6d5b59bbad4aea17a5298e73c2f8538e7d98f27ded848096ada4db7b63a50a7f8fc0e725887cc13165c57222b2e3d27ffe4a6cf7abd5d0e1f54c8314b2f73db5";
+  sha512.doc = "62a8651ba04958886591113a9ca831aca0f61d23d94c2105873ff5040db1014c61e0535650ed792e8ae3ff776027680b98d64fac47b5fa30b14cf1c723b99a71";
+  sha512.source = "c7b44356a97790883b1e7ba7bc86bd6d5d334536dbca5388e19fe019f82187d1daeba76567e88946038b99cdf835743ae807a8d0ab383a519ea2decb80d4eb54";
   hasRunfiles = true;
   version = "0.4b";
 };
 "collection-basic" = {
-  revision = 53774;
+  revision = 56569;
   stripPrefix = 0;
   deps."amsfonts" = tl."amsfonts";
   deps."bibtex" = tl."bibtex";
@@ -5629,7 +5773,6 @@ tl: { # no indentation
   deps."etex-pkg" = tl."etex-pkg";
   deps."glyphlist" = tl."glyphlist";
   deps."graphics-def" = tl."graphics-def";
-  deps."gsftopk" = tl."gsftopk";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyphenex" = tl."hyphenex";
@@ -5639,6 +5782,7 @@ tl: { # no indentation
   deps."knuth-local" = tl."knuth-local";
   deps."kpathsea" = tl."kpathsea";
   deps."lua-alt-getopt" = tl."lua-alt-getopt";
+  deps."luahbtex" = tl."luahbtex";
   deps."luatex" = tl."luatex";
   deps."makeindex" = tl."makeindex";
   deps."metafont" = tl."metafont";
@@ -5656,14 +5800,12 @@ tl: { # no indentation
   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 = "57aab47e05657c83c41e81fa1ece61a43b223c76043b7f4c2a3af6c54110ba69ee3421ad7bda591e7f0872a5f2e4def87f338d6d0fa9a931396a37ca76dda521";
+  sha512.run = "39ff4680cb002b6e29dac2fd5005d0d63b279deab21f025a87a7e860110a7eba04748adc11c9bf12f580cfc991380d2f301819801c32f681353c43053f98af48";
 };
 "collection-bibtexextra" = {
-  revision = 53243;
+  revision = 55339;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."aaai-named" = tl."aaai-named";
   deps."aichej" = tl."aichej";
   deps."ajl" = tl."ajl";
@@ -5683,6 +5825,7 @@ tl: { # no indentation
   deps."bibhtml" = tl."bibhtml";
   deps."biblatex" = tl."biblatex";
   deps."biblatex-abnt" = tl."biblatex-abnt";
+  deps."biblatex-ajc2020unofficial" = tl."biblatex-ajc2020unofficial";
   deps."biblatex-anonymous" = tl."biblatex-anonymous";
   deps."biblatex-apa" = tl."biblatex-apa";
   deps."biblatex-apa6" = tl."biblatex-apa6";
@@ -5701,6 +5844,7 @@ tl: { # no indentation
   deps."biblatex-ext" = tl."biblatex-ext";
   deps."biblatex-fiwi" = tl."biblatex-fiwi";
   deps."biblatex-gb7714-2015" = tl."biblatex-gb7714-2015";
+  deps."biblatex-german-legal" = tl."biblatex-german-legal";
   deps."biblatex-gost" = tl."biblatex-gost";
   deps."biblatex-historian" = tl."biblatex-historian";
   deps."biblatex-ieee" = tl."biblatex-ieee";
@@ -5728,11 +5872,15 @@ tl: { # no indentation
   deps."biblatex-science" = tl."biblatex-science";
   deps."biblatex-shortfields" = tl."biblatex-shortfields";
   deps."biblatex-socialscienceshuberlin" = tl."biblatex-socialscienceshuberlin";
+  deps."biblatex-software" = tl."biblatex-software";
   deps."biblatex-source-division" = tl."biblatex-source-division";
   deps."biblatex-subseries" = tl."biblatex-subseries";
   deps."biblatex-swiss-legal" = tl."biblatex-swiss-legal";
   deps."biblatex-trad" = tl."biblatex-trad";
   deps."biblatex-true-citepages-omit" = tl."biblatex-true-citepages-omit";
+  deps."biblatex-unified" = tl."biblatex-unified";
+  deps."biblatex-vancouver" = tl."biblatex-vancouver";
+  deps."biblatex2bibitem" = tl."biblatex2bibitem";
   deps."biblist" = tl."biblist";
   deps."bibtexperllibs" = tl."bibtexperllibs";
   deps."bibtopic" = tl."bibtopic";
@@ -5743,13 +5891,14 @@ tl: { # no indentation
   deps."breakcites" = tl."breakcites";
   deps."cell" = tl."cell";
   deps."chbibref" = tl."chbibref";
+  deps."chembst" = tl."chembst";
   deps."chicago" = tl."chicago";
-  deps."chicagoa" = tl."chicagoa";
   deps."chicago-annote" = tl."chicago-annote";
-  deps."chembst" = tl."chembst";
+  deps."chicagoa" = tl."chicagoa";
   deps."chscite" = tl."chscite";
   deps."citeall" = tl."citeall";
   deps."citeref" = tl."citeref";
+  deps."collection-latex" = tl."collection-latex";
   deps."collref" = tl."collref";
   deps."compactbib" = tl."compactbib";
   deps."crossrefware" = tl."crossrefware";
@@ -5780,9 +5929,9 @@ tl: { # no indentation
   deps."jneurosci" = tl."jneurosci";
   deps."jurabib" = tl."jurabib";
   deps."ksfh_nat" = tl."ksfh_nat";
-  deps."ltb2bib" = tl."ltb2bib";
   deps."listbib" = tl."listbib";
   deps."logreq" = tl."logreq";
+  deps."ltb2bib" = tl."ltb2bib";
   deps."luabibentry" = tl."luabibentry";
   deps."margbib" = tl."margbib";
   deps."multibib" = tl."multibib";
@@ -5809,12 +5958,11 @@ tl: { # no indentation
   deps."windycity" = tl."windycity";
   deps."xcite" = tl."xcite";
   deps."zootaxa-bst" = tl."zootaxa-bst";
-  sha512.run = "51da88d702cff5d127c1f40119cac08df392b0677825e9ececbd3183d1691ceaf1bdafd5b9541a434d37a7562dbd2851b6cac28ee4d3558c8a85dc1ad44566c7";
+  sha512.run = "2468c14a693aea29525ef9826a696f76aa35aa526292191fb38ce12a30d3fa369623eae0460fad8eba8bfb39ca704ced031502eaa0ae2851a6c59844ff6d73c4";
 };
 "collection-binextra" = {
-  revision = 53491;
+  revision = 56352;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."a2ping" = tl."a2ping";
   deps."adhocfilelist" = tl."adhocfilelist";
   deps."arara" = tl."arara";
@@ -5827,6 +5975,7 @@ tl: { # no indentation
   deps."chktex" = tl."chktex";
   deps."clojure-pamphlet" = tl."clojure-pamphlet";
   deps."cluttex" = tl."cluttex";
+  deps."collection-basic" = tl."collection-basic";
   deps."ctan-o-mat" = tl."ctan-o-mat";
   deps."ctan_chk" = tl."ctan_chk";
   deps."ctanbib" = tl."ctanbib";
@@ -5850,6 +5999,8 @@ tl: { # no indentation
   deps."dvisvgm" = tl."dvisvgm";
   deps."findhyph" = tl."findhyph";
   deps."fragmaster" = tl."fragmaster";
+  deps."git-latexdiff" = tl."git-latexdiff";
+  deps."gsftopk" = tl."gsftopk";
   deps."hook-pre-commit-pkg" = tl."hook-pre-commit-pkg";
   deps."installfont" = tl."installfont";
   deps."ketcindy" = tl."ketcindy";
@@ -5860,12 +6011,13 @@ tl: { # no indentation
   deps."latex2nemeth" = tl."latex2nemeth";
   deps."latexdiff" = tl."latexdiff";
   deps."latexfileversion" = tl."latexfileversion";
+  deps."latexindent" = tl."latexindent";
   deps."latexmk" = tl."latexmk";
   deps."latexpand" = tl."latexpand";
-  deps."latexindent" = tl."latexindent";
+  deps."light-latex-make" = tl."light-latex-make";
+  deps."listings-ext" = tl."listings-ext";
   deps."ltxfileinfo" = tl."ltxfileinfo";
   deps."ltximg" = tl."ltximg";
-  deps."listings-ext" = tl."listings-ext";
   deps."luajittex" = tl."luajittex";
   deps."make4ht" = tl."make4ht";
   deps."match_parens" = tl."match_parens";
@@ -5885,6 +6037,7 @@ tl: { # no indentation
   deps."purifyeps" = tl."purifyeps";
   deps."pythontex" = tl."pythontex";
   deps."seetexk" = tl."seetexk";
+  deps."spix" = tl."spix";
   deps."srcredact" = tl."srcredact";
   deps."sty2dtx" = tl."sty2dtx";
   deps."synctex" = tl."synctex";
@@ -5910,16 +6063,13 @@ tl: { # no indentation
   deps."xindex" = tl."xindex";
   deps."xindy" = tl."xindy";
   deps."xpdfopen" = tl."xpdfopen";
-  sha512.run = "306dac78fb385fca7c2de33deded8f13fe1dc7999cc58b5019cb0eafd0ac74f629db627b05a49b1ca7cae431d5aff5bb514329b167ee2c2bb16bba81d8f6dd54";
+  sha512.run = "6c6b6344f7d294bf74f3601850f036543ae6f8dc78bf01e32867d46d7c20089a388f779c445173c5d54e874278e718b697691eb94a5a2029ef64acdb914461ae";
 };
 "collection-context" = {
-  revision = 47139;
+  revision = 54074;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."context" = tl."context";
-  deps."jmn" = tl."jmn";
-  deps."context-notes-zh-cn" = tl."context-notes-zh-cn";
-  deps."npp-for-context" = tl."npp-for-context";
   deps."context-account" = tl."context-account";
   deps."context-algorithmic" = tl."context-algorithmic";
   deps."context-animation" = tl."context-animation";
@@ -5943,6 +6093,7 @@ tl: { # no indentation
   deps."context-letter" = tl."context-letter";
   deps."context-lettrine" = tl."context-lettrine";
   deps."context-mathsets" = tl."context-mathsets";
+  deps."context-notes-zh-cn" = tl."context-notes-zh-cn";
   deps."context-rst" = tl."context-rst";
   deps."context-ruby" = tl."context-ruby";
   deps."context-simplefonts" = tl."context-simplefonts";
@@ -5953,18 +6104,18 @@ tl: { # no indentation
   deps."context-typescripts" = tl."context-typescripts";
   deps."context-vim" = tl."context-vim";
   deps."context-visualcounter" = tl."context-visualcounter";
-  sha512.run = "21aa181d7a3e8c16dbb30e12e30822d18db1386e088103a0987dc2a0a4d611172079ac12d7edd7f9d8923598c1532f7162905940846d6e13e143883bd735996f";
+  deps."jmn" = tl."jmn";
+  deps."npp-for-context" = tl."npp-for-context";
+  sha512.run = "5bd74e1a434549cf31ce31777e9a32f90baa14148e6658633945508a46dbf6611644c4212b53812bb32a399e850517369e3d89bb0e495c89e6f2a979090ed765";
 };
 "collection-fontsextra" = {
-  revision = 53908;
+  revision = 56407;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."Asana-Math" = tl."Asana-Math";
   deps."academicons" = tl."academicons";
   deps."accanthis" = tl."accanthis";
   deps."adforn" = tl."adforn";
   deps."adfsymbols" = tl."adfsymbols";
-  deps."aecc" = tl."aecc";
   deps."alegreya" = tl."alegreya";
   deps."algolrevived" = tl."algolrevived";
   deps."allrunes" = tl."allrunes";
@@ -6015,6 +6166,7 @@ tl: { # no indentation
   deps."ccicons" = tl."ccicons";
   deps."cfr-initials" = tl."cfr-initials";
   deps."cfr-lm" = tl."cfr-lm";
+  deps."charissil" = tl."charissil";
   deps."cherokee" = tl."cherokee";
   deps."chivo" = tl."chivo";
   deps."cinzel" = tl."cinzel";
@@ -6023,6 +6175,7 @@ tl: { # no indentation
   deps."cm-lgc" = tl."cm-lgc";
   deps."cm-mf-extra-bold" = tl."cm-mf-extra-bold";
   deps."cm-unicode" = tl."cm-unicode";
+  deps."cmathbb" = tl."cmathbb";
   deps."cmbright" = tl."cmbright";
   deps."cmexb" = tl."cmexb";
   deps."cmll" = tl."cmll";
@@ -6032,6 +6185,7 @@ tl: { # no indentation
   deps."cmupint" = tl."cmupint";
   deps."cochineal" = tl."cochineal";
   deps."coelacanth" = tl."coelacanth";
+  deps."collection-basic" = tl."collection-basic";
   deps."comfortaa" = tl."comfortaa";
   deps."comicneue" = tl."comicneue";
   deps."concmath-fonts" = tl."concmath-fonts";
@@ -6039,6 +6193,7 @@ tl: { # no indentation
   deps."cormorantgaramond" = tl."cormorantgaramond";
   deps."countriesofeurope" = tl."countriesofeurope";
   deps."courier-scaled" = tl."courier-scaled";
+  deps."courierten" = tl."courierten";
   deps."crimson" = tl."crimson";
   deps."crimsonpro" = tl."crimsonpro";
   deps."cryst" = tl."cryst";
@@ -6053,6 +6208,7 @@ tl: { # no indentation
   deps."dingbat" = tl."dingbat";
   deps."domitian" = tl."domitian";
   deps."doublestroke" = tl."doublestroke";
+  deps."doulossil" = tl."doulossil";
   deps."dozenal" = tl."dozenal";
   deps."drm" = tl."drm";
   deps."droid" = tl."droid";
@@ -6067,6 +6223,7 @@ tl: { # no indentation
   deps."eco" = tl."eco";
   deps."eiad" = tl."eiad";
   deps."eiad-ltx" = tl."eiad-ltx";
+  deps."ektype-tanka" = tl."ektype-tanka";
   deps."electrum" = tl."electrum";
   deps."elvish" = tl."elvish";
   deps."epigrafica" = tl."epigrafica";
@@ -6122,6 +6279,7 @@ tl: { # no indentation
   deps."heuristica" = tl."heuristica";
   deps."hfbright" = tl."hfbright";
   deps."hfoldsty" = tl."hfoldsty";
+  deps."ibarra" = tl."ibarra";
   deps."ifsym" = tl."ifsym";
   deps."imfellenglish" = tl."imfellenglish";
   deps."inconsolata" = tl."inconsolata";
@@ -6131,9 +6289,11 @@ tl: { # no indentation
   deps."iwona" = tl."iwona";
   deps."jablantile" = tl."jablantile";
   deps."jamtimes" = tl."jamtimes";
+  deps."josefin" = tl."josefin";
   deps."junicode" = tl."junicode";
   deps."kixfont" = tl."kixfont";
   deps."kpfonts" = tl."kpfonts";
+  deps."kpfonts-otf" = tl."kpfonts-otf";
   deps."kurier" = tl."kurier";
   deps."lato" = tl."lato";
   deps."lexend" = tl."lexend";
@@ -6180,6 +6340,7 @@ tl: { # no indentation
   deps."nkarta" = tl."nkarta";
   deps."noto" = tl."noto";
   deps."noto-emoji" = tl."noto-emoji";
+  deps."notomath" = tl."notomath";
   deps."obnov" = tl."obnov";
   deps."ocherokee" = tl."ocherokee";
   deps."ocr-b" = tl."ocr-b";
@@ -6227,6 +6388,7 @@ tl: { # no indentation
   deps."sourcecodepro" = tl."sourcecodepro";
   deps."sourcesanspro" = tl."sourcesanspro";
   deps."sourceserifpro" = tl."sourceserifpro";
+  deps."spectral" = tl."spectral";
   deps."starfont" = tl."starfont";
   deps."staves" = tl."staves";
   deps."step" = tl."step";
@@ -6263,17 +6425,17 @@ tl: { # no indentation
   deps."yfonts-t1" = tl."yfonts-t1";
   deps."yinit-otf" = tl."yinit-otf";
   deps."zlmtt" = tl."zlmtt";
-  sha512.run = "c98b0241f30fbc7be047c0e1ecda32be6ef0d4e7737906e230ba13de55e0847bf29e2a54e87a84a4270fa023608280b063586830c7cd9c3715f392aba4504b0d";
+  sha512.run = "d0bec50d85039bc9e619f0ead1426869591a0163069a1391620ae63ddaa121ce9506eac06a441a73981f95860506be680c45e31fa499558c9c712de881b0140e";
 };
 "collection-fontsrecommended" = {
-  revision = 53774;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."avantgar" = tl."avantgar";
   deps."bookman" = tl."bookman";
   deps."charter" = tl."charter";
   deps."cm-super" = tl."cm-super";
   deps."cmextra" = tl."cmextra";
+  deps."collection-basic" = tl."collection-basic";
   deps."courier" = tl."courier";
   deps."euro" = tl."euro";
   deps."euro-ce" = tl."euro-ce";
@@ -6282,9 +6444,9 @@ tl: { # no indentation
   deps."helvetic" = tl."helvetic";
   deps."lm" = tl."lm";
   deps."lm-math" = tl."lm-math";
+  deps."manfnt-font" = tl."manfnt-font";
   deps."marvosym" = tl."marvosym";
   deps."mathpazo" = tl."mathpazo";
-  deps."manfnt-font" = tl."manfnt-font";
   deps."mflogo-font" = tl."mflogo-font";
   deps."ncntrsbk" = tl."ncntrsbk";
   deps."palatino" = tl."palatino";
@@ -6302,64 +6464,64 @@ tl: { # no indentation
   deps."wasysym" = tl."wasysym";
   deps."zapfchan" = tl."zapfchan";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "9d2691b1deb294c6a947b4412470f84eb7beee9b8b6ce6a536cdec6a86de7ade51b58d332e8718fb82acac7fbe8980c184ccdc73d720feb8df40cb414c8cb5c2";
+  sha512.run = "eaa6e54780a0813a88102258ee3bd7a4640787be0b89eff4ba2c9cc19298bf3e2799ffab4e03e49f20131d07fbac9f601a7223fc1b47257dd0feeb04797c56a8";
 };
 "collection-fontutils" = {
-  revision = 53559;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."accfonts" = tl."accfonts";
   deps."afm2pl" = tl."afm2pl";
+  deps."collection-basic" = tl."collection-basic";
   deps."dosepsbin" = tl."dosepsbin";
+  deps."dvipsconfig" = tl."dvipsconfig";
   deps."epstopdf" = tl."epstopdf";
+  deps."fontinst" = tl."fontinst";
+  deps."fontools" = tl."fontools";
   deps."fontware" = tl."fontware";
   deps."lcdftypetools" = tl."lcdftypetools";
   deps."metatype1" = tl."metatype1";
-  deps."ps2pk" = tl."ps2pk";
+  deps."mf2pt1" = tl."mf2pt1";
   deps."ps2eps" = tl."ps2eps";
+  deps."ps2pk" = tl."ps2pk";
   deps."psutils" = tl."psutils";
-  deps."dvipsconfig" = tl."dvipsconfig";
-  deps."fontinst" = tl."fontinst";
-  deps."fontools" = tl."fontools";
-  deps."mf2pt1" = tl."mf2pt1";
   deps."t1utils" = tl."t1utils";
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "bd36ffb3bdf0c9df289f73143288b4d1fae6a4fd9c391590274b3eb3365e44dceb67f091e0d94466c7e6110a19a5b8c4b47e8d0591d04bdfa664b4fc2a58c7fe";
+  sha512.run = "b7b908d87f1fb38ee1145c820c01aecb6a61b0d2b706278f8662f0f08377335b13d0809ef6a1da8c8dd2ace32a028233a08e4dffa38e293e14e3288894c2057c";
 };
 "collection-formatsextra" = {
-  revision = 44177;
+  revision = 54074;
   stripPrefix = 0;
+  deps."aleph" = tl."aleph";
+  deps."antomega" = tl."antomega";
   deps."collection-basic" = tl."collection-basic";
   deps."collection-latex" = tl."collection-latex";
   deps."edmac" = tl."edmac";
   deps."eplain" = tl."eplain";
   deps."jadetex" = tl."jadetex";
+  deps."lambda" = tl."lambda";
   deps."lollipop" = tl."lollipop";
   deps."mltex" = tl."mltex";
+  deps."mxedruli" = tl."mxedruli";
+  deps."omega" = tl."omega";
+  deps."omegaware" = tl."omegaware";
+  deps."otibet" = tl."otibet";
   deps."passivetex" = tl."passivetex";
   deps."psizzl" = tl."psizzl";
   deps."startex" = tl."startex";
   deps."texsis" = tl."texsis";
   deps."xmltex" = tl."xmltex";
   deps."xmltexconfig" = tl."xmltexconfig";
-  deps."aleph" = tl."aleph";
-  deps."antomega" = tl."antomega";
-  deps."lambda" = tl."lambda";
-  deps."mxedruli" = tl."mxedruli";
-  deps."omega" = tl."omega";
-  deps."omegaware" = tl."omegaware";
-  deps."otibet" = tl."otibet";
-  sha512.run = "73b00a08738778902d35e934e296552c76db6a202c197432e57c3fe03d300dd5b3ba41a618151ffcd9642275db6899d8030329f3ec424b55da0a743ecbc84d0e";
+  sha512.run = "7700a6cc293a1d45208794db34a276d5de5c975fe91cb00e5b1896515f288b05437344f00997501a54ad2af515bccc983930a75ddda55c6951edc625cd6bda35";
 };
 "collection-games" = {
-  revision = 51178;
+  revision = 55821;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."bartel-chess-fonts" = tl."bartel-chess-fonts";
   deps."chess" = tl."chess";
   deps."chess-problem-diagrams" = tl."chess-problem-diagrams";
   deps."chessboard" = tl."chessboard";
   deps."chessfss" = tl."chessfss";
+  deps."collection-latex" = tl."collection-latex";
   deps."crossword" = tl."crossword";
   deps."crosswrd" = tl."crosswrd";
   deps."egameps" = tl."egameps";
@@ -6374,6 +6536,7 @@ tl: { # no indentation
   deps."labyrinth" = tl."labyrinth";
   deps."logicpuzzle" = tl."logicpuzzle";
   deps."musikui" = tl."musikui";
+  deps."nimsticks" = tl."nimsticks";
   deps."onedown" = tl."onedown";
   deps."othello" = tl."othello";
   deps."othelloboard" = tl."othelloboard";
@@ -6390,17 +6553,17 @@ tl: { # no indentation
   deps."sudokubundle" = tl."sudokubundle";
   deps."xq" = tl."xq";
   deps."xskak" = tl."xskak";
-  sha512.run = "bfa055b06a2a56cdac916627c79ad94242fee0b1ae747f721e0932452eedbff05566211a9e41aa8e66607b27d753db5edf5d0ed04cbf1ebb2944d3c4cebbf108";
+  sha512.run = "29a3739c9a0f5cd066b6013f60b28aafae66566449e3f7b2715cf487aea221016806e5e95818c413eb2faebc99822c823806cf1f774659dc5932b69e575f3c72";
 };
 "collection-humanities" = {
-  revision = 45363;
+  revision = 56575;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."adtrees" = tl."adtrees";
   deps."bibleref" = tl."bibleref";
   deps."bibleref-lds" = tl."bibleref-lds";
   deps."bibleref-mouth" = tl."bibleref-mouth";
   deps."bibleref-parse" = tl."bibleref-parse";
+  deps."collection-latex" = tl."collection-latex";
   deps."covington" = tl."covington";
   deps."diadia" = tl."diadia";
   deps."dramatist" = tl."dramatist";
@@ -6424,6 +6587,7 @@ tl: { # no indentation
   deps."linguex" = tl."linguex";
   deps."liturg" = tl."liturg";
   deps."metrix" = tl."metrix";
+  deps."nnext" = tl."nnext";
   deps."parallel" = tl."parallel";
   deps."parrun" = tl."parrun";
   deps."phonrule" = tl."phonrule";
@@ -6442,17 +6606,16 @@ tl: { # no indentation
   deps."sides" = tl."sides";
   deps."stage" = tl."stage";
   deps."textglos" = tl."textglos";
-  deps."theatre" = tl."theatre";
   deps."thalie" = tl."thalie";
+  deps."theatre" = tl."theatre";
   deps."tree-dvips" = tl."tree-dvips";
   deps."verse" = tl."verse";
   deps."xyling" = tl."xyling";
-  sha512.run = "94e1a021c967f623d24a3720199293f564ccc3e7339c2e58a456163d617740d3a6bfc8b5fd54fc288f269ebe7a4eafddaba0c6c78c66ea565bb2e0d753b7ebad";
+  sha512.run = "8239a85051576d691f7a367b2858dbc191e0545d88e0f193107cf68ccc527c7f4980a6a18cd14bf7735277ea2552955d7be50520290a96a24ff3bc856a13742e";
 };
 "collection-langarabic" = {
-  revision = 50080;
+  revision = 56215;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."alkalami" = tl."alkalami";
   deps."alpha-persian" = tl."alpha-persian";
   deps."amiri" = tl."amiri";
@@ -6462,8 +6625,10 @@ tl: { # no indentation
   deps."arabtex" = tl."arabtex";
   deps."bidi" = tl."bidi";
   deps."bidihl" = tl."bidihl";
+  deps."collection-basic" = tl."collection-basic";
   deps."dad" = tl."dad";
   deps."ghab" = tl."ghab";
+  deps."hvarabic" = tl."hvarabic";
   deps."hyphen-arabic" = tl."hyphen-arabic";
   deps."hyphen-farsi" = tl."hyphen-farsi";
   deps."imsproc" = tl."imsproc";
@@ -6472,71 +6637,74 @@ tl: { # no indentation
   deps."luabidi" = tl."luabidi";
   deps."na-box" = tl."na-box";
   deps."persian-bib" = tl."persian-bib";
+  deps."quran" = tl."quran";
   deps."sexam" = tl."sexam";
   deps."simurgh" = tl."simurgh";
+  deps."texnegar" = tl."texnegar";
   deps."tram" = tl."tram";
   deps."xepersian" = tl."xepersian";
-  sha512.run = "4c0f4860c69b0be0e3bc909c577e2795fcb3c15b65961d7ada1624cc3c9f77b104f8a58a6d390c1085c464ae043c65b4912da9faa0e8334964d0c302952792fe";
+  deps."xepersian-hm" = tl."xepersian-hm";
+  sha512.run = "3c9a530b444eb34dd9c5a1a0b49e662edda54868820633e281c0501146a59b0d0671a61ac6407049913640320d28d4c6e2afbf6907b152176de55d865da5fafb";
 };
 "collection-langchinese" = {
-  revision = 50930;
+  revision = 56196;
   stripPrefix = 0;
-  deps."collection-langcjk" = tl."collection-langcjk";
   deps."arphic" = tl."arphic";
   deps."arphic-ttf" = tl."arphic-ttf";
   deps."asymptote-by-example-zh-cn" = tl."asymptote-by-example-zh-cn";
   deps."asymptote-faq-zh-cn" = tl."asymptote-faq-zh-cn";
   deps."asymptote-manual-zh-cn" = tl."asymptote-manual-zh-cn";
   deps."cns" = tl."cns";
+  deps."collection-langcjk" = tl."collection-langcjk";
   deps."ctex" = tl."ctex";
   deps."ctex-faq" = tl."ctex-faq";
   deps."fandol" = tl."fandol";
   deps."fduthesis" = tl."fduthesis";
   deps."hyphen-chinese" = tl."hyphen-chinese";
   deps."impatient-cn" = tl."impatient-cn";
+  deps."install-latex-guide-zh-cn" = tl."install-latex-guide-zh-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."qyxf-book" = tl."qyxf-book";
   deps."texlive-zh-cn" = tl."texlive-zh-cn";
   deps."texproposal" = tl."texproposal";
-  deps."xtuthesis" = tl."xtuthesis";
   deps."upzhkinsoku" = tl."upzhkinsoku";
   deps."xpinyin" = tl."xpinyin";
+  deps."xtuthesis" = tl."xtuthesis";
   deps."zhlineskip" = tl."zhlineskip";
   deps."zhlipsum" = tl."zhlipsum";
   deps."zhmetrics" = tl."zhmetrics";
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
   deps."zhspacing" = tl."zhspacing";
-  sha512.run = "fa19508a88844191ac410af63bdfbf95ac75231c3e7564aa0c2d54bb1b474b1d769a61c96abf01a11757ce002ae4cdc4c757cbd28414f6a182ffedcb13afb6bf";
+  sha512.run = "a3d86f05a7ed20b18321709e4fde225977c37f409aa701467c9c0a13008957755befc873bd1aacf2db7dd8eea1e43e0c610864ddc1acfc5a0eff8e51444aa4fb";
 };
 "collection-langcjk" = {
-  revision = 45194;
+  revision = 54191;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."adobemapping" = tl."adobemapping";
   deps."c90" = tl."c90";
-  deps."cjk-gs-integrate" = tl."cjk-gs-integrate";
   deps."cjk" = tl."cjk";
+  deps."cjk-gs-integrate" = tl."cjk-gs-integrate";
   deps."cjkpunct" = tl."cjkpunct";
   deps."cjkutils" = tl."cjkutils";
+  deps."collection-basic" = tl."collection-basic";
   deps."dnp" = tl."dnp";
-  deps."garuda-c90" = tl."garuda-c90";
   deps."fixjfm" = tl."fixjfm";
+  deps."garuda-c90" = tl."garuda-c90";
   deps."jfmutil" = tl."jfmutil";
   deps."norasi-c90" = tl."norasi-c90";
   deps."pxtatescale" = tl."pxtatescale";
   deps."xcjk2uni" = tl."xcjk2uni";
   deps."zxjafont" = tl."zxjafont";
-  sha512.run = "959ee256fdf82076f8fa0d5a35f876b3c030e69feaf94cecc68e6e1061d968a72b9389e62b5c18c4d7fd4e98e707a1dfffecca7b7149d0c30388cb0c73870059";
+  sha512.run = "d6186e42081f4a1c2e15cf196de053108e7f8e046bab631e122b3d44ad8217bf83aeaf915c4fda7ebcb1d4be2a8f6dd1fa7027ed8624d31f16257ab8357d4a0b";
 };
 "collection-langcyrillic" = {
-  revision = 53160;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
-  deps."collection-latex" = tl."collection-latex";
   deps."babel-belarusian" = tl."babel-belarusian";
   deps."babel-bulgarian" = tl."babel-bulgarian";
   deps."babel-russian" = tl."babel-russian";
@@ -6545,6 +6713,8 @@ tl: { # no indentation
   deps."babel-ukrainian" = tl."babel-ukrainian";
   deps."churchslavonic" = tl."churchslavonic";
   deps."cmcyr" = tl."cmcyr";
+  deps."collection-basic" = tl."collection-basic";
+  deps."collection-latex" = tl."collection-latex";
   deps."cyrillic" = tl."cyrillic";
   deps."cyrillic-bin" = tl."cyrillic-bin";
   deps."cyrplain" = tl."cyrplain";
@@ -6582,16 +6752,16 @@ tl: { # no indentation
   deps."texlive-sr" = tl."texlive-sr";
   deps."ukrhyph" = tl."ukrhyph";
   deps."xecyrmongolian" = tl."xecyrmongolian";
-  sha512.run = "28ee3e3b72c9297cc2ae6617b80706ff47d97450c5b5547b5be493d156ee420c822cd84909bce148d596aad1601289f5b6167130aa87aca7c2edbf18d248dc05";
+  sha512.run = "43ba5d0f21162fbdb6fd0e9dc7c990fa845918704020da8ca5c6770139370be55f4b707f98708c28b472f9500ee25ea734bdd96c5541a22e66b69c03ae777ad0";
 };
 "collection-langczechslovak" = {
-  revision = 32550;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
-  deps."collection-latex" = tl."collection-latex";
   deps."babel-czech" = tl."babel-czech";
   deps."babel-slovak" = tl."babel-slovak";
   deps."cnbwp" = tl."cnbwp";
+  deps."collection-basic" = tl."collection-basic";
+  deps."collection-latex" = tl."collection-latex";
   deps."cs" = tl."cs";
   deps."csbulletin" = tl."csbulletin";
   deps."cslatex" = tl."cslatex";
@@ -6599,17 +6769,15 @@ tl: { # no indentation
   deps."cstex" = tl."cstex";
   deps."hyphen-czech" = tl."hyphen-czech";
   deps."hyphen-slovak" = tl."hyphen-slovak";
-  deps."vlna" = tl."vlna";
   deps."lshort-czech" = tl."lshort-czech";
   deps."lshort-slovak" = tl."lshort-slovak";
   deps."texlive-cz" = tl."texlive-cz";
-  sha512.run = "daee20efa3c125fb5dcf55875eb3a7a3e94553a5f1e185c8fdf35db0ab933abbb2ac2f67da7fa578b1f915d88f3cde764dca098e76b5df73da18dece3e49dc6f";
+  deps."vlna" = tl."vlna";
+  sha512.run = "719c321173ca12660891080dae509080934f72d13a9417b2c40a22add963c7c5a1ee95d3b306f0d6c26b0db97d69979c27fbb15d1690849aa03b06d4b0193a67";
 };
 "collection-langenglish" = {
-  revision = 52239;
+  revision = 55930;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
-  deps."hyphen-english" = tl."hyphen-english";
   deps."MemoirChapStyles" = tl."MemoirChapStyles";
   deps."Type1fonts" = tl."Type1fonts";
   deps."amscls-doc" = tl."amscls-doc";
@@ -6617,6 +6785,7 @@ tl: { # no indentation
   deps."around-the-bend" = tl."around-the-bend";
   deps."ascii-chart" = tl."ascii-chart";
   deps."biblatex-cheatsheet" = tl."biblatex-cheatsheet";
+  deps."collection-basic" = tl."collection-basic";
   deps."components-of-TeX" = tl."components-of-TeX";
   deps."comprehensive" = tl."comprehensive";
   deps."dickimaw" = tl."dickimaw";
@@ -6627,6 +6796,7 @@ tl: { # no indentation
   deps."gentle" = tl."gentle";
   deps."guide-to-latex" = tl."guide-to-latex";
   deps."happy4th" = tl."happy4th";
+  deps."hyphen-english" = tl."hyphen-english";
   deps."impatient" = tl."impatient";
   deps."intro-scientific" = tl."intro-scientific";
   deps."knuth" = tl."knuth";
@@ -6645,7 +6815,6 @@ tl: { # no indentation
   deps."latexfileinfo-pkgs" = tl."latexfileinfo-pkgs";
   deps."lshort-english" = tl."lshort-english";
   deps."macros2e" = tl."macros2e";
-  deps."math-e" = tl."math-e";
   deps."math-into-latex-4" = tl."math-into-latex-4";
   deps."maths-symbols" = tl."maths-symbols";
   deps."memdesign" = tl."memdesign";
@@ -6654,30 +6823,29 @@ tl: { # no indentation
   deps."patgen2-tutorial" = tl."patgen2-tutorial";
   deps."pictexsum" = tl."pictexsum";
   deps."plain-doc" = tl."plain-doc";
-  deps."presentations-en" = tl."presentations-en";
   deps."short-math-guide" = tl."short-math-guide";
   deps."simplified-latex" = tl."simplified-latex";
   deps."svg-inkscape" = tl."svg-inkscape";
-  deps."tabulars-e" = tl."tabulars-e";
   deps."tamethebeast" = tl."tamethebeast";
   deps."tds" = tl."tds";
   deps."tex-font-errors-cheatsheet" = tl."tex-font-errors-cheatsheet";
+  deps."tex-nutshell" = tl."tex-nutshell";
   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."tlmgrbasics" = tl."tlmgrbasics";
   deps."undergradmath" = tl."undergradmath";
   deps."visualfaq" = tl."visualfaq";
   deps."webguide" = tl."webguide";
   deps."xetexref" = tl."xetexref";
-  sha512.run = "1f003f1a719bf29ee0a0167784f48cc6aef203f714a5024c52b1e3791d47d2cae816056e78816dabb806059cb4f3be066d722f8191ca67e3d72e76b274759e89";
+  sha512.run = "fa6f50f7c512250eeb9019432a7746c28b35b478948b155e395af9fa90ea683b8a556e3df03bbcc41eba010517d5a717ea0bdcef9f7f90514a603ce8410d2df1";
 };
 "collection-langeuropean" = {
-  revision = 46803;
+  revision = 54568;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."armtex" = tl."armtex";
   deps."babel-albanian" = tl."babel-albanian";
   deps."babel-bosnian" = tl."babel-bosnian";
@@ -6706,6 +6874,7 @@ tl: { # no indentation
   deps."babel-swedish" = tl."babel-swedish";
   deps."babel-turkish" = tl."babel-turkish";
   deps."babel-welsh" = tl."babel-welsh";
+  deps."collection-basic" = tl."collection-basic";
   deps."finbib" = tl."finbib";
   deps."gloss-occitan" = tl."gloss-occitan";
   deps."hrlatex" = tl."hrlatex";
@@ -6723,6 +6892,7 @@ tl: { # no indentation
   deps."hyphen-latin" = tl."hyphen-latin";
   deps."hyphen-latvian" = tl."hyphen-latvian";
   deps."hyphen-lithuanian" = tl."hyphen-lithuanian";
+  deps."hyphen-macedonian" = tl."hyphen-macedonian";
   deps."hyphen-norwegian" = tl."hyphen-norwegian";
   deps."hyphen-occitan" = tl."hyphen-occitan";
   deps."hyphen-piedmontese" = tl."hyphen-piedmontese";
@@ -6742,13 +6912,13 @@ tl: { # no indentation
   deps."nevelok" = tl."nevelok";
   deps."swebib" = tl."swebib";
   deps."turkmen" = tl."turkmen";
-  sha512.run = "9505445397888b80e7f92026c63d4ec053758f835d6b217902639ecef6670f85a49e308891381be0340b43e7a793885dac79f88e75c376226d474682cedc3b12";
+  sha512.run = "42f3794f5ba9859b401516a6ba5fc7d52534da01d58ef96940f478c809d6d84918c9d5b4d573d518ff746e0884d3ed339c18c8d9c981004006193c6a0fe1376b";
 };
 "collection-langfrench" = {
-  revision = 51322;
+  revision = 56051;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."aeguill" = tl."aeguill";
+  deps."annee-scolaire" = tl."annee-scolaire";
   deps."apprendre-a-programmer-en-tex" = tl."apprendre-a-programmer-en-tex";
   deps."apprends-latex" = tl."apprends-latex";
   deps."babel-basque" = tl."babel-basque";
@@ -6758,13 +6928,16 @@ tl: { # no indentation
   deps."bib-fr" = tl."bib-fr";
   deps."bibleref-french" = tl."bibleref-french";
   deps."booktabs-fr" = tl."booktabs-fr";
+  deps."collection-basic" = tl."collection-basic";
   deps."droit-fr" = tl."droit-fr";
   deps."e-french" = tl."e-french";
   deps."epslatex-fr" = tl."epslatex-fr";
+  deps."expose-expl3-dunkerque-2019" = tl."expose-expl3-dunkerque-2019";
   deps."facture" = tl."facture";
   deps."formation-latex-ul" = tl."formation-latex-ul";
   deps."frenchmath" = tl."frenchmath";
   deps."frletter" = tl."frletter";
+  deps."frpseudocode" = tl."frpseudocode";
   deps."hyphen-basque" = tl."hyphen-basque";
   deps."hyphen-french" = tl."hyphen-french";
   deps."impatient-fr" = tl."impatient-fr";
@@ -6782,22 +6955,21 @@ tl: { # no indentation
   deps."translation-tabbing-fr" = tl."translation-tabbing-fr";
   deps."variations" = tl."variations";
   deps."visualtikz" = tl."visualtikz";
-  sha512.run = "be5230f2fec255b9bf7220a9ad33930032ef617de8665d2c35c4360852f77d2764dbe1d7917bab3552f6098e0749cc5e0a9e001bac87abbb5b0de6af24ee1eed";
+  sha512.run = "48b1851d391cf4208ec844edd47a103e1c375f398cabc14749bbd44118fef4959d50189db724d1cd1f7fd5fe672697812ae692715947ec02dede53345822bc57";
 };
 "collection-langgerman" = {
-  revision = 53815;
+  revision = 55706;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."apalike-german" = tl."apalike-german";
   deps."babel-german" = tl."babel-german";
   deps."bibleref-german" = tl."bibleref-german";
   deps."booktabs-de" = tl."booktabs-de";
+  deps."collection-basic" = tl."collection-basic";
   deps."csquotes-de" = tl."csquotes-de";
   deps."dehyph" = tl."dehyph";
   deps."dehyph-exptl" = tl."dehyph-exptl";
   deps."dhua" = tl."dhua";
-  deps."einfuehrung" = tl."einfuehrung";
-  deps."einfuehrung2" = tl."einfuehrung2";
+  deps."dtk-bibliography" = tl."dtk-bibliography";
   deps."etdipa" = tl."etdipa";
   deps."etoolbox-de" = tl."etoolbox-de";
   deps."fifinddo-info" = tl."fifinddo-info";
@@ -6809,16 +6981,12 @@ tl: { # no indentation
   deps."koma-script-examples" = tl."koma-script-examples";
   deps."l2picfaq" = tl."l2picfaq";
   deps."l2tabu" = tl."l2tabu";
-  deps."latex-bib-ex" = tl."latex-bib-ex";
-  deps."latex-bib2-ex" = tl."latex-bib2-ex";
-  deps."latex-referenz" = tl."latex-referenz";
-  deps."latex-tabellen" = tl."latex-tabellen";
   deps."latexcheat-de" = tl."latexcheat-de";
   deps."lshort-german" = tl."lshort-german";
   deps."lualatex-doc-de" = tl."lualatex-doc-de";
   deps."microtype-de" = tl."microtype-de";
   deps."milog" = tl."milog";
-  deps."presentations" = tl."presentations";
+  deps."quran-de" = tl."quran-de";
   deps."r_und_s" = tl."r_und_s";
   deps."schulmathematik" = tl."schulmathematik";
   deps."templates-fenn" = tl."templates-fenn";
@@ -6838,18 +7006,17 @@ tl: { # no indentation
   deps."uhrzeit" = tl."uhrzeit";
   deps."umlaute" = tl."umlaute";
   deps."voss-mathcol" = tl."voss-mathcol";
-  sha512.run = "a73e281ccb849825e3a1996273cbd34ef7337fcf5368f556c2909a029fbedb10672a18b984444574cde3a2b39d11a6f23f17bedd382268a2b6aa2226c5a26d61";
+  sha512.run = "19b9f47b68ca6068900c413d8216e13c20d25ab084cdcbd500694a18a10cbaa35ba5681be09392e0b20873788519a436c28c1ea89a728e3f546083ce0883c15c";
 };
 "collection-langgreek" = {
-  revision = 44192;
+  revision = 54139;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."babel-greek" = tl."babel-greek";
   deps."begingreek" = tl."begingreek";
   deps."betababel" = tl."betababel";
-  deps."bgreek" = tl."bgreek";
   deps."cbfonts" = tl."cbfonts";
   deps."cbfonts-fd" = tl."cbfonts-fd";
+  deps."collection-basic" = tl."collection-basic";
   deps."gfsbaskerville" = tl."gfsbaskerville";
   deps."gfsporson" = tl."gfsporson";
   deps."greek-fontenc" = tl."greek-fontenc";
@@ -6857,8 +7024,8 @@ tl: { # no indentation
   deps."greekdates" = tl."greekdates";
   deps."greektex" = tl."greektex";
   deps."greektonoi" = tl."greektonoi";
-  deps."hyphen-greek" = tl."hyphen-greek";
   deps."hyphen-ancientgreek" = tl."hyphen-ancientgreek";
+  deps."hyphen-greek" = tl."hyphen-greek";
   deps."ibycus-babel" = tl."ibycus-babel";
   deps."ibygrk" = tl."ibygrk";
   deps."kerkis" = tl."kerkis";
@@ -6868,17 +7035,18 @@ tl: { # no indentation
   deps."teubner" = tl."teubner";
   deps."xgreek" = tl."xgreek";
   deps."yannisgr" = tl."yannisgr";
-  sha512.run = "9633d376e164895cc7ea0d1a18759c1f06c71b83e612c10069dfd18237d61afab99170c03a9a1ba461d43d4273c7228f41f899dd77dc9308a8d329da6b336cba";
+  sha512.run = "15a0ac0f1e4e3c4f1e107e34ae2794e637b20a00e1d40f3a8d8fda225ff8a9e948fb77153b043bbcd0e7aaef4840a97ce9e19ae059ce2560d468fc373fc37cfa";
 };
 "collection-langitalian" = {
-  revision = 53306;
+  revision = 55129;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."amsldoc-it" = tl."amsldoc-it";
   deps."amsmath-it" = tl."amsmath-it";
   deps."amsthdoc-it" = tl."amsthdoc-it";
+  deps."antanilipsum" = tl."antanilipsum";
   deps."babel-italian" = tl."babel-italian";
   deps."codicefiscaleitaliano" = tl."codicefiscaleitaliano";
+  deps."collection-basic" = tl."collection-basic";
   deps."fancyhdr-it" = tl."fancyhdr-it";
   deps."fixltxhyph" = tl."fixltxhyph";
   deps."frontespizio" = tl."frontespizio";
@@ -6891,12 +7059,11 @@ tl: { # no indentation
   deps."psfrag-italian" = tl."psfrag-italian";
   deps."texlive-it" = tl."texlive-it";
   deps."verifica" = tl."verifica";
-  sha512.run = "2b172a37bd15ab85cdfa52f25c1b7310c23af5f9f4925cd678ee7a6f7731e4ba39fb866de2df05d6e06f3483303a9a4bfa60b65edd035e1cf55d6f5c004413b9";
+  sha512.run = "6ec5e8a62e3c1ed8e3c23542381091d38c77af507af7088a55e44f1e34b85d01ec19342db4541d9d6cd712c0929d54a3fc663e1d8fde3c53fef0d6fc43be4994";
 };
 "collection-langjapanese" = {
-  revision = 53811;
+  revision = 54894;
   stripPrefix = 0;
-  deps."collection-langcjk" = tl."collection-langcjk";
   deps."ascmac" = tl."ascmac";
   deps."babel-japanese" = tl."babel-japanese";
   deps."bxbase" = tl."bxbase";
@@ -6909,6 +7076,7 @@ tl: { # no indentation
   deps."bxjscls" = tl."bxjscls";
   deps."bxorigcapt" = tl."bxorigcapt";
   deps."bxwareki" = tl."bxwareki";
+  deps."collection-langcjk" = tl."collection-langcjk";
   deps."convbkmk" = tl."convbkmk";
   deps."endnotesj" = tl."endnotesj";
   deps."gentombow" = tl."gentombow";
@@ -6920,6 +7088,7 @@ tl: { # no indentation
   deps."japanese-otf" = tl."japanese-otf";
   deps."japanese-otf-uptex" = tl."japanese-otf-uptex";
   deps."jlreq" = tl."jlreq";
+  deps."jlreq-deluxe" = tl."jlreq-deluxe";
   deps."jsclasses" = tl."jsclasses";
   deps."lshort-japanese" = tl."lshort-japanese";
   deps."luatexja" = tl."luatexja";
@@ -6951,14 +7120,14 @@ tl: { # no indentation
   deps."wadalab" = tl."wadalab";
   deps."zxjafbfont" = tl."zxjafbfont";
   deps."zxjatype" = tl."zxjatype";
-  sha512.run = "3d9cc9c20a4ef6dbacae6fda18e625fc3828b4f899460d8e920217b79e19aab5601bd7146e6adaa6d599c81a7424390a98c3b8a26dd5ac759caa57fa74fcb5c4";
+  sha512.run = "8412379041e16c25e6ec557b17926877c4b13d4b0fc2112adf8fba446636f8108255ffce8bece9df6c64170398e70576ab8fcbcc2560adbb5340cf7a5cc4eba7";
 };
 "collection-langkorean" = {
-  revision = 53506;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-langcjk" = tl."collection-langcjk";
   deps."baekmuk" = tl."baekmuk";
   deps."cjk-ko" = tl."cjk-ko";
+  deps."collection-langcjk" = tl."collection-langcjk";
   deps."kotex-oblivoir" = tl."kotex-oblivoir";
   deps."kotex-plain" = tl."kotex-plain";
   deps."kotex-utf" = tl."kotex-utf";
@@ -6969,15 +7138,14 @@ tl: { # no indentation
   deps."uhc" = tl."uhc";
   deps."unfonts-core" = tl."unfonts-core";
   deps."unfonts-extra" = tl."unfonts-extra";
-  sha512.run = "6f1ae7dfcee95eb5f9c8d0b6545ccdd159e63684b7bba22ebe4280dd2e13cbfb6518274eb131f1502bd99ac16114b4e694105e366631afe484caa22eee94b9d7";
+  sha512.run = "2d93df728d34137c8f9a884aa2871a2980e806672006f2c5f0c5f79412d5789c6f94958363cfc9a78b5a97a7d76bbb6cb157b2cb2a8a283f7afdfd838fa24883";
 };
 "collection-langother" = {
-  revision = 52581;
+  revision = 55932;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
+  deps."akshar" = tl."akshar";
   deps."amsldoc-vn" = tl."amsldoc-vn";
   deps."aramaic-serto" = tl."aramaic-serto";
-  deps."hyphen-armenian" = tl."hyphen-armenian";
   deps."babel-azerbaijani" = tl."babel-azerbaijani";
   deps."babel-esperanto" = tl."babel-esperanto";
   deps."babel-georgian" = tl."babel-georgian";
@@ -6991,7 +7159,9 @@ tl: { # no indentation
   deps."bangtex" = tl."bangtex";
   deps."bengali" = tl."bengali";
   deps."burmese" = tl."burmese";
+  deps."chhaya" = tl."chhaya";
   deps."cjhebrew" = tl."cjhebrew";
+  deps."collection-basic" = tl."collection-basic";
   deps."ctib" = tl."ctib";
   deps."ebong" = tl."ebong";
   deps."ethiop" = tl."ethiop";
@@ -6999,6 +7169,7 @@ tl: { # no indentation
   deps."fc" = tl."fc";
   deps."fonts-tlwg" = tl."fonts-tlwg";
   deps."hyphen-afrikaans" = tl."hyphen-afrikaans";
+  deps."hyphen-armenian" = tl."hyphen-armenian";
   deps."hyphen-coptic" = tl."hyphen-coptic";
   deps."hyphen-esperanto" = tl."hyphen-esperanto";
   deps."hyphen-ethiopic" = tl."hyphen-ethiopic";
@@ -7014,6 +7185,7 @@ tl: { # no indentation
   deps."latino-sine-flexione" = tl."latino-sine-flexione";
   deps."lshort-thai" = tl."lshort-thai";
   deps."lshort-vietnamese" = tl."lshort-vietnamese";
+  deps."marathi" = tl."marathi";
   deps."ntheorem-vn" = tl."ntheorem-vn";
   deps."padauk" = tl."padauk";
   deps."quran-ur" = tl."quran-ur";
@@ -7027,16 +7199,16 @@ tl: { # no indentation
   deps."wnri" = tl."wnri";
   deps."wnri-latex" = tl."wnri-latex";
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "e69c9003086890a627c9e7bafb9e76e722e3bd111af1ba7b36b393e81a536752fb6355455a491effa5aaabe286c97e16fd9d6688a237656c9d3e63437ec2b718";
+  sha512.run = "8b22cb1d574989bfa18b1ef44c5a16abe68b747c1adbd3874a97646c5cf3fc89cf7cede05cf706bd16dfc3c0dce33f3b954e35b416ca98c0d84202cbb1d27021";
 };
 "collection-langpolish" = {
-  revision = 44371;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
-  deps."collection-basic" = tl."collection-basic";
   deps."babel-polish" = tl."babel-polish";
   deps."bredzenie" = tl."bredzenie";
   deps."cc-pl" = tl."cc-pl";
+  deps."collection-basic" = tl."collection-basic";
+  deps."collection-latex" = tl."collection-latex";
   deps."gustlib" = tl."gustlib";
   deps."gustprog" = tl."gustprog";
   deps."hyphen-polish" = tl."hyphen-polish";
@@ -7051,14 +7223,14 @@ 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 = "38799df728e830c93a50928efe5f337c91e34b97368e4cce4707e6cbca0a8ee22b9edc528084034a86c72a748367c3f46af37fbe87f5171951563d98f836de58";
+  sha512.run = "fc0d08f70aeb83869109290e6d1585d513097dcd4e17791752ecd3d26ac202838afb5931f78ceaeeaf72c63b18fe9183edd650c075d03188f24cb2caded178de";
 };
 "collection-langportuguese" = {
-  revision = 51640;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."babel-portuges" = tl."babel-portuges";
   deps."beamer-tut-pt" = tl."beamer-tut-pt";
+  deps."collection-basic" = tl."collection-basic";
   deps."cursolatex" = tl."cursolatex";
   deps."feupphdteses" = tl."feupphdteses";
   deps."hyphen-portuguese" = tl."hyphen-portuguese";
@@ -7068,16 +7240,15 @@ tl: { # no indentation
   deps."numberpt" = tl."numberpt";
   deps."ordinalpt" = tl."ordinalpt";
   deps."xypic-tut-pt" = tl."xypic-tut-pt";
-  sha512.run = "d805cfa253db9af2c74f9aa072b384f7cdb775258d5063ff33713a60977899ef7b833d5bc5c5b589d9b4f61737c1a48209c25481571dc3be32d5ebdf43430340";
+  sha512.run = "16d67d288fb702807b43dcf8da044a45206c27c5cf0d953688fc341966fb166db8cec69b727b1de079b9bf434f024f7338eaf34529510cab7881147d1635b43d";
 };
 "collection-langspanish" = {
-  revision = 40587;
+  revision = 54141;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."babel-catalan" = tl."babel-catalan";
   deps."babel-galician" = tl."babel-galician";
-  deps."babel-spanglish" = tl."babel-spanglish";
   deps."babel-spanish" = tl."babel-spanish";
+  deps."collection-basic" = tl."collection-basic";
   deps."es-tex-faq" = tl."es-tex-faq";
   deps."hyphen-catalan" = tl."hyphen-catalan";
   deps."hyphen-galician" = tl."hyphen-galician";
@@ -7086,14 +7257,12 @@ tl: { # no indentation
   deps."latex2e-help-texinfo-spanish" = tl."latex2e-help-texinfo-spanish";
   deps."latexcheat-esmx" = tl."latexcheat-esmx";
   deps."lshort-spanish" = tl."lshort-spanish";
-  deps."spanish-mx" = tl."spanish-mx";
   deps."texlive-es" = tl."texlive-es";
-  sha512.run = "ed816cee1ca88a971b621d4a91ea7e6beebf8aacb684f8f000da8c4ce58e368a347eec69676db992dd1f09f287957855b4e814336a9bec689656a3eb6c34ce8b";
+  sha512.run = "88bdc5cefd5519bc80e50e2d808abf32aae8f7c730023afab3babb82ab817dc034c78d42b4143135df187343de7164a8fd94dc95c5ec8909e317a2f5628de15e";
 };
 "collection-latex" = {
-  revision = 53921;
+  revision = 56507;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."ae" = tl."ae";
   deps."amscls" = tl."amscls";
   deps."amsmath" = tl."amsmath";
@@ -7107,16 +7276,19 @@ tl: { # no indentation
   deps."bitset" = tl."bitset";
   deps."bookmark" = tl."bookmark";
   deps."carlisle" = tl."carlisle";
+  deps."collection-basic" = tl."collection-basic";
   deps."colortbl" = tl."colortbl";
   deps."epstopdf-pkg" = tl."epstopdf-pkg";
   deps."etexcmds" = tl."etexcmds";
   deps."fancyhdr" = tl."fancyhdr";
+  deps."firstaid" = tl."firstaid";
   deps."fix2col" = tl."fix2col";
   deps."geometry" = tl."geometry";
   deps."gettitlestring" = tl."gettitlestring";
   deps."graphics" = tl."graphics";
   deps."graphics-cfg" = tl."graphics-cfg";
   deps."grfext" = tl."grfext";
+  deps."hopatch" = tl."hopatch";
   deps."hycolor" = tl."hycolor";
   deps."hyperref" = tl."hyperref";
   deps."intcalc" = tl."intcalc";
@@ -7136,6 +7308,7 @@ tl: { # no indentation
   deps."mptopdf" = tl."mptopdf";
   deps."natbib" = tl."natbib";
   deps."oberdiek" = tl."oberdiek";
+  deps."pagesel" = tl."pagesel";
   deps."pdfescape" = tl."pdfescape";
   deps."pslatex" = tl."pslatex";
   deps."psnfss" = tl."psnfss";
@@ -7146,13 +7319,11 @@ tl: { # no indentation
   deps."tools" = tl."tools";
   deps."uniquecounter" = tl."uniquecounter";
   deps."url" = tl."url";
-  sha512.run = "0dbb2072e05a4f11ba940b9672d86c6c87a765c584c258271b93589382401ba96a296a00ad446645357cded4bfc44b60aa21df4b923e567aadf2b220f34f2dfb";
+  sha512.run = "493b72a28c23a194126feafd9e60dc6e4203e8c8db803f80e0015a20c5318f70682b7e2a226813cbea80f0e5e6529ddd9711174d9b813bdfd67b60092ee3d00c";
 };
 "collection-latexextra" = {
-  revision = 53921;
+  revision = 56539;
   stripPrefix = 0;
-  deps."collection-latexrecommended" = tl."collection-latexrecommended";
-  deps."collection-pictures" = tl."collection-pictures";
   deps."2up" = tl."2up";
   deps."ESIEEcv" = tl."ESIEEcv";
   deps."GS1" = tl."GS1";
@@ -7182,7 +7353,6 @@ tl: { # no indentation
   deps."alertmessage" = tl."alertmessage";
   deps."alnumsec" = tl."alnumsec";
   deps."alphalph" = tl."alphalph";
-  deps."alterqcm" = tl."alterqcm";
   deps."altfont" = tl."altfont";
   deps."amsaddr" = tl."amsaddr";
   deps."animate" = tl."animate";
@@ -7208,6 +7378,7 @@ tl: { # no indentation
   deps."authoraftertitle" = tl."authoraftertitle";
   deps."authorarchive" = tl."authorarchive";
   deps."authorindex" = tl."authorindex";
+  deps."autofancyhdr" = tl."autofancyhdr";
   deps."autonum" = tl."autonum";
   deps."autopdf" = tl."autopdf";
   deps."avremu" = tl."avremu";
@@ -7217,8 +7388,9 @@ tl: { # no indentation
   deps."bashful" = tl."bashful";
   deps."basicarith" = tl."basicarith";
   deps."bchart" = tl."bchart";
-  deps."beamer2thesis" = tl."beamer2thesis";
   deps."beamer-rl" = tl."beamer-rl";
+  deps."beamer2thesis" = tl."beamer2thesis";
+  deps."beamerappendixnote" = tl."beamerappendixnote";
   deps."beameraudience" = tl."beameraudience";
   deps."beamerauxtheme" = tl."beamerauxtheme";
   deps."beamercolorthemeowl" = tl."beamercolorthemeowl";
@@ -7233,10 +7405,12 @@ tl: { # no indentation
   deps."beamertheme-metropolis" = tl."beamertheme-metropolis";
   deps."beamertheme-npbt" = tl."beamertheme-npbt";
   deps."beamertheme-phnompenh" = tl."beamertheme-phnompenh";
+  deps."beamertheme-pure-minimalistic" = tl."beamertheme-pure-minimalistic";
   deps."beamertheme-saintpetersburg" = tl."beamertheme-saintpetersburg";
   deps."beamertheme-upenn-bc" = tl."beamertheme-upenn-bc";
   deps."beamerthemejltree" = tl."beamerthemejltree";
   deps."beamerthemenirma" = tl."beamerthemenirma";
+  deps."beamerthemenord" = tl."beamerthemenord";
   deps."bearwear" = tl."bearwear";
   deps."beton" = tl."beton";
   deps."bewerbung" = tl."bewerbung";
@@ -7257,14 +7431,15 @@ tl: { # no indentation
   deps."bookcover" = tl."bookcover";
   deps."bookest" = tl."bookest";
   deps."booklet" = tl."booklet";
+  deps."bookshelf" = tl."bookshelf";
   deps."boolexpr" = tl."boolexpr";
   deps."bophook" = tl."bophook";
   deps."boxedminipage" = tl."boxedminipage";
-  deps."boxedminipage2e" = tl."boxedminipage2e";
   deps."boxhandler" = tl."boxhandler";
   deps."bracketkey" = tl."bracketkey";
   deps."braket" = tl."braket";
   deps."breakurl" = tl."breakurl";
+  deps."bubblesort" = tl."bubblesort";
   deps."bullcntr" = tl."bullcntr";
   deps."bxcalc" = tl."bxcalc";
   deps."bxdpx-beamer" = tl."bxdpx-beamer";
@@ -7326,7 +7501,6 @@ tl: { # no indentation
   deps."cleveref" = tl."cleveref";
   deps."clipboard" = tl."clipboard";
   deps."clock" = tl."clock";
-  deps."cloze" = tl."cloze";
   deps."clrdblpg" = tl."clrdblpg";
   deps."clrstrip" = tl."clrstrip";
   deps."cmdstring" = tl."cmdstring";
@@ -7340,6 +7514,8 @@ tl: { # no indentation
   deps."codesection" = tl."codesection";
   deps."collcell" = tl."collcell";
   deps."collectbox" = tl."collectbox";
+  deps."collection-latexrecommended" = tl."collection-latexrecommended";
+  deps."collection-pictures" = tl."collection-pictures";
   deps."colophon" = tl."colophon";
   deps."colordoc" = tl."colordoc";
   deps."colorinfo" = tl."colorinfo";
@@ -7358,6 +7534,7 @@ tl: { # no indentation
   deps."competences" = tl."competences";
   deps."concepts" = tl."concepts";
   deps."concprog" = tl."concprog";
+  deps."conditext" = tl."conditext";
   deps."constants" = tl."constants";
   deps."continue" = tl."continue";
   deps."contour" = tl."contour";
@@ -7426,8 +7603,8 @@ tl: { # no indentation
   deps."datetime2-hebrew" = tl."datetime2-hebrew";
   deps."datetime2-icelandic" = tl."datetime2-icelandic";
   deps."datetime2-irish" = tl."datetime2-irish";
-  deps."datetime2-italian" = tl."datetime2-italian";
   deps."datetime2-it-fulltext" = tl."datetime2-it-fulltext";
+  deps."datetime2-italian" = tl."datetime2-italian";
   deps."datetime2-latin" = tl."datetime2-latin";
   deps."datetime2-lsorbian" = tl."datetime2-lsorbian";
   deps."datetime2-magyar" = tl."datetime2-magyar";
@@ -7452,6 +7629,7 @@ tl: { # no indentation
   deps."decorule" = tl."decorule";
   deps."delimtxt" = tl."delimtxt";
   deps."denisbdoc" = tl."denisbdoc";
+  deps."diabetes-logbook" = tl."diabetes-logbook";
   deps."diagbox" = tl."diagbox";
   deps."diagnose" = tl."diagnose";
   deps."dialogl" = tl."dialogl";
@@ -7466,6 +7644,7 @@ tl: { # no indentation
   deps."docmute" = tl."docmute";
   deps."doctools" = tl."doctools";
   deps."documentation" = tl."documentation";
+  deps."docutils" = tl."docutils";
   deps."doi" = tl."doi";
   deps."dotarrow" = tl."dotarrow";
   deps."dotlessi" = tl."dotlessi";
@@ -7481,8 +7660,8 @@ tl: { # no indentation
   deps."dtk" = tl."dtk";
   deps."dtxdescribe" = tl."dtxdescribe";
   deps."dtxgallery" = tl."dtxgallery";
-  deps."duckuments" = tl."duckuments";
   deps."ducksay" = tl."ducksay";
+  deps."duckuments" = tl."duckuments";
   deps."dvdcoll" = tl."dvdcoll";
   deps."dynamicnumber" = tl."dynamicnumber";
   deps."dynblocks" = tl."dynblocks";
@@ -7497,6 +7676,7 @@ tl: { # no indentation
   deps."ecclesiastic" = tl."ecclesiastic";
   deps."ecv" = tl."ecv";
   deps."ed" = tl."ed";
+  deps."edichokey" = tl."edichokey";
   deps."edmargin" = tl."edmargin";
   deps."eemeir" = tl."eemeir";
   deps."efbox" = tl."efbox";
@@ -7520,6 +7700,7 @@ tl: { # no indentation
   deps."endfloat" = tl."endfloat";
   deps."endheads" = tl."endheads";
   deps."endnotes" = tl."endnotes";
+  deps."endnotes-hy" = tl."endnotes-hy";
   deps."engpron" = tl."engpron";
   deps."engrec" = tl."engrec";
   deps."enotez" = tl."enotez";
@@ -7529,6 +7710,7 @@ tl: { # no indentation
   deps."environ" = tl."environ";
   deps."envlab" = tl."envlab";
   deps."epigraph" = tl."epigraph";
+  deps."epigraph-keys" = tl."epigraph-keys";
   deps."epiolmec" = tl."epiolmec";
   deps."eqell" = tl."eqell";
   deps."eqlist" = tl."eqlist";
@@ -7555,7 +7737,6 @@ tl: { # no indentation
   deps."exam-n" = tl."exam-n";
   deps."exam-randomizechoices" = tl."exam-randomizechoices";
   deps."examdesign" = tl."examdesign";
-  deps."exframe" = tl."exframe";
   deps."example" = tl."example";
   deps."examplep" = tl."examplep";
   deps."exceltex" = tl."exceltex";
@@ -7564,6 +7745,8 @@ tl: { # no indentation
   deps."exercisebank" = tl."exercisebank";
   deps."exercisepoints" = tl."exercisepoints";
   deps."exercises" = tl."exercises";
+  deps."exesheet" = tl."exesheet";
+  deps."exframe" = tl."exframe";
   deps."exp-testopt" = tl."exp-testopt";
   deps."expdlist" = tl."expdlist";
   deps."export" = tl."export";
@@ -7681,6 +7864,7 @@ tl: { # no indentation
   deps."glossaries-irish" = tl."glossaries-irish";
   deps."glossaries-italian" = tl."glossaries-italian";
   deps."glossaries-magyar" = tl."glossaries-magyar";
+  deps."glossaries-nynorsk" = tl."glossaries-nynorsk";
   deps."glossaries-polish" = tl."glossaries-polish";
   deps."glossaries-portuges" = tl."glossaries-portuges";
   deps."glossaries-serbian" = tl."glossaries-serbian";
@@ -7702,8 +7886,8 @@ tl: { # no indentation
   deps."gridset" = tl."gridset";
   deps."gridslides" = tl."gridslides";
   deps."guitlogo" = tl."guitlogo";
-  deps."halloweenmath" = tl."halloweenmath";
   deps."hackthefootline" = tl."hackthefootline";
+  deps."halloweenmath" = tl."halloweenmath";
   deps."handin" = tl."handin";
   deps."handout" = tl."handout";
   deps."hang" = tl."hang";
@@ -7722,6 +7906,7 @@ tl: { # no indentation
   deps."hrefhide" = tl."hrefhide";
   deps."hvindex" = tl."hvindex";
   deps."hvqrurl" = tl."hvqrurl";
+  deps."hypdestopt" = tl."hypdestopt";
   deps."hypdvips" = tl."hypdvips";
   deps."hyper" = tl."hyper";
   deps."hyperbar" = tl."hyperbar";
@@ -7773,8 +7958,8 @@ tl: { # no indentation
   deps."kerntest" = tl."kerntest";
   deps."keycommand" = tl."keycommand";
   deps."keyfloat" = tl."keyfloat";
-  deps."keyreader" = tl."keyreader";
   deps."keyindex" = tl."keyindex";
+  deps."keyreader" = tl."keyreader";
   deps."keystroke" = tl."keystroke";
   deps."keyval2e" = tl."keyval2e";
   deps."keyvaltable" = tl."keyvaltable";
@@ -7811,6 +7996,7 @@ tl: { # no indentation
   deps."leaflet" = tl."leaflet";
   deps."lectures" = tl."lectures";
   deps."leftidx" = tl."leftidx";
+  deps."leftindex" = tl."leftindex";
   deps."leipzig" = tl."leipzig";
   deps."lengthconvert" = tl."lengthconvert";
   deps."lettre" = tl."lettre";
@@ -7831,7 +8017,6 @@ tl: { # no indentation
   deps."lkproof" = tl."lkproof";
   deps."lmake" = tl."lmake";
   deps."locality" = tl."locality";
-  deps."localloc" = tl."localloc";
   deps."logbox" = tl."logbox";
   deps."logical-markup-utils" = tl."logical-markup-utils";
   deps."logpap" = tl."logpap";
@@ -7847,17 +8032,15 @@ tl: { # no indentation
   deps."ltabptch" = tl."ltabptch";
   deps."ltxdockit" = tl."ltxdockit";
   deps."ltxguidex" = tl."ltxguidex";
-  deps."ltxindex" = tl."ltxindex";
   deps."ltxkeys" = tl."ltxkeys";
   deps."ltxnew" = tl."ltxnew";
   deps."ltxtools" = tl."ltxtools";
   deps."lua-check-hyphen" = tl."lua-check-hyphen";
+  deps."lua-physical" = tl."lua-physical";
   deps."luatodonotes" = tl."luatodonotes";
   deps."macroswap" = tl."macroswap";
   deps."magaz" = tl."magaz";
   deps."magicnum" = tl."magicnum";
-  deps."makecookbook" = tl."makecookbook";
-  deps."makerobust" = tl."makerobust";
   deps."mailing" = tl."mailing";
   deps."mailmerge" = tl."mailmerge";
   deps."makebarcode" = tl."makebarcode";
@@ -7866,8 +8049,10 @@ tl: { # no indentation
   deps."makecell" = tl."makecell";
   deps."makecirc" = tl."makecirc";
   deps."makecmds" = tl."makecmds";
+  deps."makecookbook" = tl."makecookbook";
   deps."makedtx" = tl."makedtx";
   deps."makeglos" = tl."makeglos";
+  deps."makerobust" = tl."makerobust";
   deps."mandi" = tl."mandi";
   deps."manfnt" = tl."manfnt";
   deps."manuscript" = tl."manuscript";
@@ -7888,6 +8073,7 @@ tl: { # no indentation
   deps."mcite" = tl."mcite";
   deps."mciteplus" = tl."mciteplus";
   deps."mdframed" = tl."mdframed";
+  deps."media4svg" = tl."media4svg";
   deps."media9" = tl."media9";
   deps."medstarbeamer" = tl."medstarbeamer";
   deps."meetingmins" = tl."meetingmins";
@@ -7895,8 +8081,10 @@ tl: { # no indentation
   deps."memory" = tl."memory";
   deps."mensa-tex" = tl."mensa-tex";
   deps."menu" = tl."menu";
+  deps."menucard" = tl."menucard";
   deps."menukeys" = tl."menukeys";
   deps."metalogox" = tl."metalogox";
+  deps."metanorma" = tl."metanorma";
   deps."metastr" = tl."metastr";
   deps."method" = tl."method";
   deps."metre" = tl."metre";
@@ -8118,6 +8306,7 @@ tl: { # no indentation
   deps."rccol" = tl."rccol";
   deps."rcs-multi" = tl."rcs-multi";
   deps."rcsinfo" = tl."rcsinfo";
+  deps."readablecv" = tl."readablecv";
   deps."readarray" = tl."readarray";
   deps."realboxes" = tl."realboxes";
   deps."recipe" = tl."recipe";
@@ -8155,6 +8344,7 @@ tl: { # no indentation
   deps."rtkinenc" = tl."rtkinenc";
   deps."rulerbox" = tl."rulerbox";
   deps."rulercompass" = tl."rulercompass";
+  deps."runcode" = tl."runcode";
   deps."rvwrite" = tl."rvwrite";
   deps."sanitize-umlaut" = tl."sanitize-umlaut";
   deps."sauerj" = tl."sauerj";
@@ -8166,6 +8356,7 @@ tl: { # no indentation
   deps."scalerel" = tl."scalerel";
   deps."scanpages" = tl."scanpages";
   deps."schedule" = tl."schedule";
+  deps."schooldocs" = tl."schooldocs";
   deps."scontents" = tl."scontents";
   deps."scrlttr2copy" = tl."scrlttr2copy";
   deps."sdaps" = tl."sdaps";
@@ -8178,10 +8369,12 @@ tl: { # no indentation
   deps."seealso" = tl."seealso";
   deps."selectp" = tl."selectp";
   deps."selinput" = tl."selinput";
+  deps."semantex" = tl."semantex";
   deps."semantic" = tl."semantic";
   deps."semantic-markup" = tl."semantic-markup";
   deps."semioneside" = tl."semioneside";
   deps."semproc" = tl."semproc";
+  deps."semtex" = tl."semtex";
   deps."sepfootnotes" = tl."sepfootnotes";
   deps."seqsplit" = tl."seqsplit";
   deps."sesstime" = tl."sesstime";
@@ -8215,11 +8408,10 @@ tl: { # no indentation
   deps."skrapport" = tl."skrapport";
   deps."slantsc" = tl."slantsc";
   deps."smalltableof" = tl."smalltableof";
-  deps."smartunits" = tl."smartunits";
   deps."smartref" = tl."smartref";
+  deps."smartunits" = tl."smartunits";
   deps."snapshot" = tl."snapshot";
   deps."snotez" = tl."snotez";
-  deps."soul" = tl."soul";
   deps."soulpos" = tl."soulpos";
   deps."soulutf8" = tl."soulutf8";
   deps."spacingtricks" = tl."spacingtricks";
@@ -8239,8 +8431,8 @@ tl: { # no indentation
   deps."stackengine" = tl."stackengine";
   deps."standalone" = tl."standalone";
   deps."stdclsdv" = tl."stdclsdv";
-  deps."stealcaps" = tl."stealcaps";
   deps."stdpage" = tl."stdpage";
+  deps."stealcaps" = tl."stealcaps";
   deps."stex" = tl."stex";
   deps."storebox" = tl."storebox";
   deps."storecmd" = tl."storecmd";
@@ -8306,11 +8498,11 @@ tl: { # no indentation
   deps."texments" = tl."texments";
   deps."texpower" = tl."texpower";
   deps."texshade" = tl."texshade";
-  deps."texvc" = tl."texvc";
   deps."textfit" = tl."textfit";
   deps."textmerg" = tl."textmerg";
   deps."textpos" = tl."textpos";
   deps."textualicomma" = tl."textualicomma";
+  deps."texvc" = tl."texvc";
   deps."theoremref" = tl."theoremref";
   deps."thinsp" = tl."thinsp";
   deps."thmtools" = tl."thmtools";
@@ -8338,6 +8530,7 @@ tl: { # no indentation
   deps."toolbox" = tl."toolbox";
   deps."topfloat" = tl."topfloat";
   deps."topiclongtable" = tl."topiclongtable";
+  deps."totalcount" = tl."totalcount";
   deps."totcount" = tl."totcount";
   deps."totpages" = tl."totpages";
   deps."translations" = tl."translations";
@@ -8364,6 +8557,8 @@ tl: { # no indentation
   deps."underlin" = tl."underlin";
   deps."underoverlap" = tl."underoverlap";
   deps."undolabl" = tl."undolabl";
+  deps."unitconv" = tl."unitconv";
+  deps."unitipa" = tl."unitipa";
   deps."units" = tl."units";
   deps."unravel" = tl."unravel";
   deps."upmethodology" = tl."upmethodology";
@@ -8371,17 +8566,20 @@ tl: { # no indentation
   deps."uri" = tl."uri";
   deps."ushort" = tl."ushort";
   deps."uspace" = tl."uspace";
+  deps."utf8add" = tl."utf8add";
   deps."uwmslide" = tl."uwmslide";
   deps."variablelm" = tl."variablelm";
   deps."varindex" = tl."varindex";
   deps."varsfromjobname" = tl."varsfromjobname";
   deps."varwidth" = tl."varwidth";
+  deps."vcell" = tl."vcell";
   deps."vdmlisting" = tl."vdmlisting";
   deps."verbasef" = tl."verbasef";
   deps."verbatimbox" = tl."verbatimbox";
   deps."verbatimcopy" = tl."verbatimcopy";
   deps."verbdef" = tl."verbdef";
   deps."verbments" = tl."verbments";
+  deps."verifiche" = tl."verifiche";
   deps."version" = tl."version";
   deps."versions" = tl."versions";
   deps."versonotes" = tl."versonotes";
@@ -8403,6 +8601,7 @@ tl: { # no indentation
   deps."widetable" = tl."widetable";
   deps."widows-and-orphans" = tl."widows-and-orphans";
   deps."williams" = tl."williams";
+  deps."willowtreebook" = tl."willowtreebook";
   deps."withargs" = tl."withargs";
   deps."wordcount" = tl."wordcount";
   deps."wordlike" = tl."wordlike";
@@ -8442,8 +8641,8 @@ tl: { # no indentation
   deps."xwatermark" = tl."xwatermark";
   deps."xytree" = tl."xytree";
   deps."yafoot" = tl."yafoot";
-  deps."yaletter" = tl."yaletter";
   deps."yagusylo" = tl."yagusylo";
+  deps."yaletter" = tl."yaletter";
   deps."ycbook" = tl."ycbook";
   deps."ydoc" = tl."ydoc";
   deps."yplan" = tl."yplan";
@@ -8453,12 +8652,11 @@ tl: { # no indentation
   deps."zref" = tl."zref";
   deps."zwgetfdate" = tl."zwgetfdate";
   deps."zwpagelayout" = tl."zwpagelayout";
-  sha512.run = "3d19c59c6d2df89882415bfa2b1f647a2bdbb17b68eae2e2664fceff7bf6381a2127e94e7dc6ef159527f3036d8de7a42bdc9d926541be15ea6bb2d6ac17454c";
+  sha512.run = "7251735eba465bf564b320ca79b725156618032c140e1331226cc7acc25575bd29e427aabe1d89054a8ef9c9811b51d9f899d852c6d095f312cc38801d7820d8";
 };
 "collection-latexrecommended" = {
-  revision = 53921;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."anysize" = tl."anysize";
   deps."attachfile2" = tl."attachfile2";
   deps."beamer" = tl."beamer";
@@ -8467,12 +8665,13 @@ tl: { # no indentation
   deps."caption" = tl."caption";
   deps."cite" = tl."cite";
   deps."cmap" = tl."cmap";
+  deps."collection-latex" = tl."collection-latex";
   deps."crop" = tl."crop";
   deps."ctable" = tl."ctable";
   deps."eso-pic" = tl."eso-pic";
+  deps."etoolbox" = tl."etoolbox";
   deps."euenc" = tl."euenc";
   deps."euler" = tl."euler";
-  deps."etoolbox" = tl."etoolbox";
   deps."extsizes" = tl."extsizes";
   deps."fancybox" = tl."fancybox";
   deps."fancyref" = tl."fancyref";
@@ -8488,9 +8687,9 @@ tl: { # no indentation
   deps."infwarerr" = tl."infwarerr";
   deps."jknapltx" = tl."jknapltx";
   deps."koma-script" = tl."koma-script";
-  deps."latexbug" = tl."latexbug";
   deps."l3experimental" = tl."l3experimental";
   deps."l3packages" = tl."l3packages";
+  deps."latexbug" = tl."latexbug";
   deps."lineno" = tl."lineno";
   deps."listings" = tl."listings";
   deps."lwarp" = tl."lwarp";
@@ -8528,30 +8727,34 @@ tl: { # no indentation
   deps."xkeyval" = tl."xkeyval";
   deps."xltxtra" = tl."xltxtra";
   deps."xunicode" = tl."xunicode";
-  sha512.run = "63b9150f0f35a6d4cfa2a0e1d9ce42f686d1887a4984340403ad74e267af063831c01921d55435159e39a683d7db0a45ba9a5f5f9d6c3d8416060f565c4bc237";
+  sha512.run = "dfab2d2976b532689105fcc1a4081f86faa400af78dbd089bdf1f26e7d5f4fecf4b432cd46219cc275603181b9b42c969e4775a21afa87d9c5870230a4b88c8a";
 };
 "collection-luatex" = {
-  revision = 53894;
+  revision = 56210;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."addliga" = tl."addliga";
   deps."auto-pst-pdf-lua" = tl."auto-pst-pdf-lua";
   deps."barracuda" = tl."barracuda";
   deps."bezierplot" = tl."bezierplot";
   deps."checkcites" = tl."checkcites";
   deps."chickenize" = tl."chickenize";
+  deps."cloze" = tl."cloze";
+  deps."collection-basic" = tl."collection-basic";
   deps."combofont" = tl."combofont";
   deps."cstypo" = tl."cstypo";
   deps."ctablestack" = tl."ctablestack";
+  deps."ekdosis" = tl."ekdosis";
   deps."emoji" = tl."emoji";
+  deps."emojicite" = tl."emojicite";
   deps."enigma" = tl."enigma";
   deps."interpreter" = tl."interpreter";
   deps."kanaparser" = tl."kanaparser";
+  deps."lua-uca" = tl."lua-uca";
+  deps."lua-ul" = tl."lua-ul";
+  deps."lua-uni-algos" = tl."lua-uni-algos";
   deps."lua-visual-debug" = tl."lua-visual-debug";
-  deps."lua2dox" = tl."lua2dox";
   deps."luacode" = tl."luacode";
   deps."luacolor" = tl."luacolor";
-  deps."luahbtex" = tl."luahbtex";
   deps."luahyphenrules" = tl."luahyphenrules";
   deps."luaimageembed" = tl."luaimageembed";
   deps."luaindex" = tl."luaindex";
@@ -8564,6 +8767,7 @@ tl: { # no indentation
   deps."luamplib" = tl."luamplib";
   deps."luaotfload" = tl."luaotfload";
   deps."luapackageloader" = tl."luapackageloader";
+  deps."luaprogtable" = tl."luaprogtable";
   deps."luarandom" = tl."luarandom";
   deps."luatex85" = tl."luatex85";
   deps."luatexbase" = tl."luatexbase";
@@ -8579,14 +8783,13 @@ tl: { # no indentation
   deps."plantuml" = tl."plantuml";
   deps."selnolig" = tl."selnolig";
   deps."spelling" = tl."spelling";
+  deps."stricttex" = tl."stricttex";
   deps."typewriter" = tl."typewriter";
-  sha512.run = "3cc433cf11324c414817c88a47819776f78b18d81306ed5e4f26ffb94240fca51be693fbba2c628f5e4efd21634f177fdcea5e756c81a30463690124621d96f1";
+  sha512.run = "e896f6bfbda00f8e75911588fa1b9aa1edd08d9f88d29cecf6a48a7c625b69d4c2ec3c64ad40d7072686098dbb91d125e11fc1d0990f632c7ff67a2ee597e06c";
 };
 "collection-mathscience" = {
-  revision = 53699;
+  revision = 56164;
   stripPrefix = 0;
-  deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
-  deps."collection-latex" = tl."collection-latex";
   deps."12many" = tl."12many";
   deps."SIstyle" = tl."SIstyle";
   deps."SIunits" = tl."SIunits";
@@ -8596,6 +8799,7 @@ tl: { # no indentation
   deps."algorithm2e" = tl."algorithm2e";
   deps."algorithmicx" = tl."algorithmicx";
   deps."algorithms" = tl."algorithms";
+  deps."algpseudocodex" = tl."algpseudocodex";
   deps."algxpar" = tl."algxpar";
   deps."aligned-overset" = tl."aligned-overset";
   deps."amscdx" = tl."amscdx";
@@ -8619,6 +8823,7 @@ tl: { # no indentation
   deps."calculation" = tl."calculation";
   deps."cascade" = tl."cascade";
   deps."ccfonts" = tl."ccfonts";
+  deps."ccool" = tl."ccool";
   deps."chemarrow" = tl."chemarrow";
   deps."chemcompounds" = tl."chemcompounds";
   deps."chemcono" = tl."chemcono";
@@ -8634,7 +8839,10 @@ tl: { # no indentation
   deps."clrscode" = tl."clrscode";
   deps."clrscode3e" = tl."clrscode3e";
   deps."codeanatomy" = tl."codeanatomy";
+  deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
+  deps."collection-latex" = tl."collection-latex";
   deps."commath" = tl."commath";
+  deps."commutative-diagrams" = tl."commutative-diagrams";
   deps."complexity" = tl."complexity";
   deps."computational-complexity" = tl."computational-complexity";
   deps."concmath" = tl."concmath";
@@ -8642,6 +8850,7 @@ tl: { # no indentation
   deps."conteq" = tl."conteq";
   deps."correctmathalign" = tl."correctmathalign";
   deps."cryptocode" = tl."cryptocode";
+  deps."decision-table" = tl."decision-table";
   deps."delim" = tl."delim";
   deps."delimseasy" = tl."delimseasy";
   deps."delimset" = tl."delimset";
@@ -8677,6 +8886,7 @@ tl: { # no indentation
   deps."gotoh" = tl."gotoh";
   deps."grundgesetze" = tl."grundgesetze";
   deps."gu" = tl."gu";
+  deps."helmholtz-ellis-ji-notation" = tl."helmholtz-ellis-ji-notation";
   deps."hep" = tl."hep";
   deps."hepnames" = tl."hepnames";
   deps."hepparticles" = tl."hepparticles";
@@ -8701,11 +8911,13 @@ tl: { # no indentation
   deps."mathcommand" = tl."mathcommand";
   deps."mathcomp" = tl."mathcomp";
   deps."mathfixs" = tl."mathfixs";
+  deps."mathlig" = tl."mathlig";
   deps."mathpartir" = tl."mathpartir";
   deps."mathpunctspace" = tl."mathpunctspace";
-  deps."matrix-skeleton" = tl."matrix-skeleton";
   deps."matlab-prettifier" = tl."matlab-prettifier";
+  deps."matrix-skeleton" = tl."matrix-skeleton";
   deps."mattens" = tl."mattens";
+  deps."membranecomputing" = tl."membranecomputing";
   deps."memorygraphs" = tl."memorygraphs";
   deps."mgltex" = tl."mgltex";
   deps."mhchem" = tl."mhchem";
@@ -8713,7 +8925,6 @@ tl: { # no indentation
   deps."miller" = tl."miller";
   deps."mismath" = tl."mismath";
   deps."multiobjective" = tl."multiobjective";
-  deps."mychemistry" = tl."mychemistry";
   deps."natded" = tl."natded";
   deps."nath" = tl."nath";
   deps."nicematrix" = tl."nicematrix";
@@ -8740,6 +8951,7 @@ tl: { # no indentation
   deps."qsharp" = tl."qsharp";
   deps."rank-2-roots" = tl."rank-2-roots";
   deps."rec-thy" = tl."rec-thy";
+  deps."rest-api" = tl."rest-api";
   deps."revquantum" = tl."revquantum";
   deps."ribbonproofs" = tl."ribbonproofs";
   deps."rmathbr" = tl."rmathbr";
@@ -8789,18 +9001,19 @@ tl: { # no indentation
   deps."xymtex" = tl."xymtex";
   deps."yhmath" = tl."yhmath";
   deps."youngtab" = tl."youngtab";
+  deps."yquant" = tl."yquant";
   deps."ytableau" = tl."ytableau";
-  sha512.run = "f76274cf450f7d01e10650537756aa2794bb4acd9c7c08afaad899a0c14b7b5e8d3bdd2d47ac7d6f7c37bc22bc95a90abdd9cd69e14272608569bf66f97a407e";
+  sha512.run = "aeab82783e3bac3dfc43024541e4573cbcab5f007f541feae420fd975bc56d084634a785ba7ec7a84dddfa7505b360c1ee64e6d4f6eff7b19964f95e85c9d10d";
 };
 "collection-metapost" = {
   revision = 50293;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."automata" = tl."automata";
   deps."bbcard" = tl."bbcard";
   deps."blockdraw_mp" = tl."blockdraw_mp";
   deps."bpolynomial" = tl."bpolynomial";
   deps."cmarrows" = tl."cmarrows";
+  deps."collection-basic" = tl."collection-basic";
   deps."drv" = tl."drv";
   deps."dviincl" = tl."dviincl";
   deps."emp" = tl."emp";
@@ -8843,14 +9056,14 @@ tl: { # no indentation
   sha512.run = "09dfaa35971f85134d0854c08a99c4d2b01ddf08e8ab97449460bb99d1236a38c48643501e7bb56197a844491509af301da6c4f75a33d9286601633211ec7d93";
 };
 "collection-music" = {
-  revision = 51864;
+  revision = 54666;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."abc" = tl."abc";
   deps."autosp" = tl."autosp";
   deps."bagpipe" = tl."bagpipe";
   deps."chordbars" = tl."chordbars";
   deps."chordbox" = tl."chordbox";
+  deps."collection-latex" = tl."collection-latex";
   deps."ddphonism" = tl."ddphonism";
   deps."figbas" = tl."figbas";
   deps."gchords" = tl."gchords";
@@ -8860,11 +9073,12 @@ tl: { # no indentation
   deps."guitarchordschemes" = tl."guitarchordschemes";
   deps."guitartabs" = tl."guitartabs";
   deps."harmony" = tl."harmony";
-  deps."leadsheets" = tl."leadsheets";
   deps."latex4musicians" = tl."latex4musicians";
+  deps."leadsheets" = tl."leadsheets";
   deps."lilyglyphs" = tl."lilyglyphs";
   deps."lyluatex" = tl."lyluatex";
   deps."m-tx" = tl."m-tx";
+  deps."musical" = tl."musical";
   deps."musicography" = tl."musicography";
   deps."musixguit" = tl."musixguit";
   deps."musixtex" = tl."musixtex";
@@ -8877,12 +9091,11 @@ tl: { # no indentation
   deps."songbook" = tl."songbook";
   deps."songs" = tl."songs";
   deps."xpiano" = tl."xpiano";
-  sha512.run = "a4ad811435b9b6d51d59c6fa09fa20c82d8adf455fccca3121711f0814a1d73f10b3549d928555cd34ac9917accb1748f0a7ed3ebafd979833d8e6ebb146efd1";
+  sha512.run = "bd76efc0bdec2bca391cb687a379c53f08beb55bd3ec8d781743296999cb5ea3ec31cc06550dacaea61f3cc9cedd7bce43b27f3f935386c0271eb1a5befd11ed";
 };
 "collection-pictures" = {
-  revision = 53426;
+  revision = 55827;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."adigraph" = tl."adigraph";
   deps."aobs-tikz" = tl."aobs-tikz";
   deps."askmaps" = tl."askmaps";
@@ -8904,9 +9117,10 @@ tl: { # no indentation
   deps."callouts" = tl."callouts";
   deps."celtic" = tl."celtic";
   deps."chemfig" = tl."chemfig";
-  deps."combinedgraphics" = tl."combinedgraphics";
   deps."circuit-macros" = tl."circuit-macros";
   deps."circuitikz" = tl."circuitikz";
+  deps."collection-basic" = tl."collection-basic";
+  deps."combinedgraphics" = tl."combinedgraphics";
   deps."curve" = tl."curve";
   deps."curve2e" = tl."curve2e";
   deps."curves" = tl."curves";
@@ -8914,8 +9128,9 @@ tl: { # no indentation
   deps."diagmac2" = tl."diagmac2";
   deps."ditaa" = tl."ditaa";
   deps."doc-pictex" = tl."doc-pictex";
-  deps."dottex" = tl."dottex";
   deps."dot2texi" = tl."dot2texi";
+  deps."dottex" = tl."dottex";
+  deps."dpcircling" = tl."dpcircling";
   deps."dratex" = tl."dratex";
   deps."drs" = tl."drs";
   deps."duotenzor" = tl."duotenzor";
@@ -8962,6 +9177,7 @@ tl: { # no indentation
   deps."maker" = tl."maker";
   deps."makeshape" = tl."makeshape";
   deps."mathspic" = tl."mathspic";
+  deps."mercatormap" = tl."mercatormap";
   deps."milsymb" = tl."milsymb";
   deps."miniplot" = tl."miniplot";
   deps."mkpic" = tl."mkpic";
@@ -8974,6 +9190,7 @@ tl: { # no indentation
   deps."pgf" = tl."pgf";
   deps."pgf-blur" = tl."pgf-blur";
   deps."pgf-cmykshadings" = tl."pgf-cmykshadings";
+  deps."pgf-pie" = tl."pgf-pie";
   deps."pgf-soroban" = tl."pgf-soroban";
   deps."pgf-spectra" = tl."pgf-spectra";
   deps."pgf-umlcd" = tl."pgf-umlcd";
@@ -8998,8 +9215,8 @@ tl: { # no indentation
   deps."ptolemaicastronomy" = tl."ptolemaicastronomy";
   deps."pxpgfmark" = tl."pxpgfmark";
   deps."qcircuit" = tl."qcircuit";
-  deps."quantikz" = tl."quantikz";
   deps."qrcode" = tl."qrcode";
+  deps."quantikz" = tl."quantikz";
   deps."randbild" = tl."randbild";
   deps."randomwalk" = tl."randomwalk";
   deps."realhats" = tl."realhats";
@@ -9007,12 +9224,12 @@ tl: { # no indentation
   deps."rviewport" = tl."rviewport";
   deps."sa-tikz" = tl."sa-tikz";
   deps."schemabloc" = tl."schemabloc";
-  deps."scsnowman" = tl."scsnowman";
   deps."scratch" = tl."scratch";
   deps."scratch3" = tl."scratch3";
+  deps."scsnowman" = tl."scsnowman";
   deps."setdeck" = tl."setdeck";
-  deps."simpleoptics" = tl."simpleoptics";
   deps."signchart" = tl."signchart";
+  deps."simpleoptics" = tl."simpleoptics";
   deps."smartdiagram" = tl."smartdiagram";
   deps."spath3" = tl."spath3";
   deps."spectralsequences" = tl."spectralsequences";
@@ -9020,7 +9237,6 @@ tl: { # no indentation
   deps."table-fct" = tl."table-fct";
   deps."texdraw" = tl."texdraw";
   deps."ticollege" = tl."ticollege";
-  deps."tipfr" = tl."tipfr";
   deps."tikz-3dplot" = tl."tikz-3dplot";
   deps."tikz-bayesnet" = tl."tikz-bayesnet";
   deps."tikz-cd" = tl."tikz-cd";
@@ -9033,6 +9249,7 @@ tl: { # no indentation
   deps."tikz-kalender" = tl."tikz-kalender";
   deps."tikz-karnaugh" = tl."tikz-karnaugh";
   deps."tikz-ladder" = tl."tikz-ladder";
+  deps."tikz-lake-fig" = tl."tikz-lake-fig";
   deps."tikz-layers" = tl."tikz-layers";
   deps."tikz-nef" = tl."tikz-nef";
   deps."tikz-network" = tl."tikz-network";
@@ -9040,6 +9257,7 @@ tl: { # no indentation
   deps."tikz-optics" = tl."tikz-optics";
   deps."tikz-page" = tl."tikz-page";
   deps."tikz-palattice" = tl."tikz-palattice";
+  deps."tikz-planets" = tl."tikz-planets";
   deps."tikz-qtree" = tl."tikz-qtree";
   deps."tikz-relay" = tl."tikz-relay";
   deps."tikz-sfc" = tl."tikz-sfc";
@@ -9053,36 +9271,35 @@ tl: { # no indentation
   deps."tikzmark" = tl."tikzmark";
   deps."tikzmarmots" = tl."tikzmarmots";
   deps."tikzorbital" = tl."tikzorbital";
+  deps."tikzpackets" = tl."tikzpackets";
   deps."tikzpagenodes" = tl."tikzpagenodes";
-  deps."tikzpfeile" = tl."tikzpfeile";
   deps."tikzpeople" = tl."tikzpeople";
+  deps."tikzpfeile" = tl."tikzpfeile";
   deps."tikzposter" = tl."tikzposter";
   deps."tikzscale" = tl."tikzscale";
   deps."tikzsymbols" = tl."tikzsymbols";
+  deps."tikztosvg" = tl."tikztosvg";
+  deps."tile-graphic" = tl."tile-graphic";
   deps."timing-diagrams" = tl."timing-diagrams";
-  deps."tqft" = tl."tqft";
+  deps."tipfr" = tl."tipfr";
   deps."tkz-base" = tl."tkz-base";
-  deps."tkz-berge" = tl."tkz-berge";
   deps."tkz-doc" = tl."tkz-doc";
   deps."tkz-euclide" = tl."tkz-euclide";
   deps."tkz-fct" = tl."tkz-fct";
-  deps."tkz-graph" = tl."tkz-graph";
-  deps."tkz-kiviat" = tl."tkz-kiviat";
-  deps."tkz-linknodes" = tl."tkz-linknodes";
   deps."tkz-orm" = tl."tkz-orm";
   deps."tkz-tab" = tl."tkz-tab";
+  deps."tqft" = tl."tqft";
   deps."tsemlines" = tl."tsemlines";
   deps."tufte-latex" = tl."tufte-latex";
   deps."venndiagram" = tl."venndiagram";
   deps."visualpstricks" = tl."visualpstricks";
   deps."xpicture" = tl."xpicture";
   deps."xypic" = tl."xypic";
-  sha512.run = "86e6de5c89def33ebdd4c501713ca857ea24537cc4522a8c6d851c058822f51398023d80bac638611fd0a93a0a7f05598a992e53f95c43281f046dcd1e087f54";
+  sha512.run = "8e08a60ca96ceb9f9395770a93860baaea5d54477c49096d7660a2709c8f3af49e1c67779056e38a39b79ac0b38eb1bf938b909dd60c91a17c7464b245f7fb31";
 };
 "collection-plaingeneric" = {
-  revision = 53957;
+  revision = 56496;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."abbr" = tl."abbr";
   deps."abstyles" = tl."abstyles";
   deps."apnum" = tl."apnum";
@@ -9093,7 +9310,9 @@ tl: { # no indentation
   deps."c-pascal" = tl."c-pascal";
   deps."catcodes" = tl."catcodes";
   deps."chronosys" = tl."chronosys";
+  deps."collection-basic" = tl."collection-basic";
   deps."colorsep" = tl."colorsep";
+  deps."compare" = tl."compare";
   deps."cweb-old" = tl."cweb-old";
   deps."dinat" = tl."dinat";
   deps."dirtree" = tl."dirtree";
@@ -9105,7 +9324,9 @@ tl: { # no indentation
   deps."epsf" = tl."epsf";
   deps."epsf-dvipdfmx" = tl."epsf-dvipdfmx";
   deps."expkv" = tl."expkv";
+  deps."expkv-cs" = tl."expkv-cs";
   deps."expkv-def" = tl."expkv-def";
+  deps."expkv-opt" = tl."expkv-opt";
   deps."fenixpar" = tl."fenixpar";
   deps."figflow" = tl."figflow";
   deps."fixpdfmag" = tl."fixpdfmag";
@@ -9115,7 +9336,6 @@ tl: { # no indentation
   deps."fontch" = tl."fontch";
   deps."fontname" = tl."fontname";
   deps."gates" = tl."gates";
-  deps."genmisc" = tl."genmisc";
   deps."getoptk" = tl."getoptk";
   deps."gfnotation" = tl."gfnotation";
   deps."gobble" = tl."gobble";
@@ -9129,18 +9349,23 @@ tl: { # no indentation
   deps."lambda-lists" = tl."lambda-lists";
   deps."langcode" = tl."langcode";
   deps."lecturer" = tl."lecturer";
+  deps."letterspacing" = tl."letterspacing";
   deps."librarian" = tl."librarian";
   deps."listofitems" = tl."listofitems";
+  deps."localloc" = tl."localloc";
   deps."mathdots" = tl."mathdots";
   deps."metatex" = tl."metatex";
   deps."midnight" = tl."midnight";
   deps."mkpattern" = tl."mkpattern";
   deps."modulus" = tl."modulus";
   deps."multido" = tl."multido";
+  deps."namedef" = tl."namedef";
   deps."navigator" = tl."navigator";
   deps."newsletr" = tl."newsletr";
+  deps."nth" = tl."nth";
   deps."ofs" = tl."ofs";
   deps."olsak-misc" = tl."olsak-misc";
+  deps."outerhbox" = tl."outerhbox";
   deps."path" = tl."path";
   deps."pdf-trans" = tl."pdf-trans";
   deps."pitex" = tl."pitex";
@@ -9151,11 +9376,16 @@ tl: { # no indentation
   deps."plstmary" = tl."plstmary";
   deps."poormanlog" = tl."poormanlog";
   deps."present" = tl."present";
+  deps."pwebmac" = tl."pwebmac";
+  deps."random" = tl."random";
   deps."randomlist" = tl."randomlist";
   deps."resumemac" = tl."resumemac";
+  deps."ruler" = tl."ruler";
   deps."schemata" = tl."schemata";
   deps."shade" = tl."shade";
   deps."simplekv" = tl."simplekv";
+  deps."soul" = tl."soul";
+  deps."swrule" = tl."swrule";
   deps."systeme" = tl."systeme";
   deps."tabto-generic" = tl."tabto-generic";
   deps."termmenu" = tl."termmenu";
@@ -9175,15 +9405,16 @@ tl: { # no indentation
   deps."xii-lat" = tl."xii-lat";
   deps."xlop" = tl."xlop";
   deps."yax" = tl."yax";
-  sha512.run = "04b467a1c6be23641e42fe2988487139757e67badc710d7547ab63dfc772091af105930c37f2e34b32a8f01528393fea742f3c3b20c5147db916c8bdf5bb0caf";
+  deps."zztex" = tl."zztex";
+  sha512.run = "e70cb404a4beb339c772d7d0d1eb6c096abae4715c807791c84dbea0528c95419398f49d32c8889ac50eff1e3c75f5460e067d848272996f0a3e3c059ddb1630";
 };
 "collection-pstricks" = {
-  revision = 52261;
+  revision = 54455;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
-  deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."auto-pst-pdf" = tl."auto-pst-pdf";
   deps."bclogo" = tl."bclogo";
+  deps."collection-basic" = tl."collection-basic";
+  deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."dsptricks" = tl."dsptricks";
   deps."makeplot" = tl."makeplot";
   deps."pdftricks" = tl."pdftricks";
@@ -9194,9 +9425,9 @@ tl: { # no indentation
   deps."pst-3d" = tl."pst-3d";
   deps."pst-3dplot" = tl."pst-3dplot";
   deps."pst-abspos" = tl."pst-abspos";
-  deps."pst-arrow" = tl."pst-arrow";
   deps."pst-am" = tl."pst-am";
   deps."pst-antiprism" = tl."pst-antiprism";
+  deps."pst-arrow" = tl."pst-arrow";
   deps."pst-asr" = tl."pst-asr";
   deps."pst-bar" = tl."pst-bar";
   deps."pst-barcode" = tl."pst-barcode";
@@ -9253,8 +9484,8 @@ tl: { # no indentation
   deps."pst-osci" = tl."pst-osci";
   deps."pst-ovl" = tl."pst-ovl";
   deps."pst-pad" = tl."pst-pad";
-  deps."pst-pdgr" = tl."pst-pdgr";
   deps."pst-pdf" = tl."pst-pdf";
+  deps."pst-pdgr" = tl."pst-pdgr";
   deps."pst-perspective" = tl."pst-perspective";
   deps."pst-platon" = tl."pst-platon";
   deps."pst-plot" = tl."pst-plot";
@@ -9272,7 +9503,6 @@ tl: { # no indentation
   deps."pst-soroban" = tl."pst-soroban";
   deps."pst-spectra" = tl."pst-spectra";
   deps."pst-spinner" = tl."pst-spinner";
-  deps."pst-spirograph" = tl."pst-spirograph";
   deps."pst-stru" = tl."pst-stru";
   deps."pst-support" = tl."pst-support";
   deps."pst-text" = tl."pst-text";
@@ -9286,7 +9516,6 @@ tl: { # no indentation
   deps."pst-vehicle" = tl."pst-vehicle";
   deps."pst-venn" = tl."pst-venn";
   deps."pst-vowel" = tl."pst-vowel";
-  deps."pst-vue3d" = tl."pst-vue3d";
   deps."pst2pdf" = tl."pst2pdf";
   deps."pstricks" = tl."pstricks";
   deps."pstricks-add" = tl."pstricks-add";
@@ -9294,12 +9523,11 @@ tl: { # no indentation
   deps."uml" = tl."uml";
   deps."vaucanson-g" = tl."vaucanson-g";
   deps."vocaltract" = tl."vocaltract";
-  sha512.run = "336ecc5633674197d366aa52ad2ce650378868110ccc8203c64b9a2ebb69cfa2172230bd46f40acf38b1f984b4fb2d831a7747cca26b16a7d3b2c2ceef435020";
+  sha512.run = "653143f95761352dc349c66f618b01a77650b20bf8b2cf45137e72b2f05ba3dcefbf0238f1b2757297ac37ec6cbd4a05283c0bfc03d6e153e57f4be23ca8f87f";
 };
 "collection-publishers" = {
-  revision = 53831;
+  revision = 56590;
   stripPrefix = 0;
-  deps."collection-latex" = tl."collection-latex";
   deps."IEEEconf" = tl."IEEEconf";
   deps."IEEEtran" = tl."IEEEtran";
   deps."aastex" = tl."aastex";
@@ -9314,6 +9542,7 @@ tl: { # no indentation
   deps."aguplus" = tl."aguplus";
   deps."aiaa" = tl."aiaa";
   deps."ametsoc" = tl."ametsoc";
+  deps."anonymous-acm" = tl."anonymous-acm";
   deps."anufinalexam" = tl."anufinalexam";
   deps."aomart" = tl."aomart";
   deps."apa" = tl."apa";
@@ -9346,6 +9575,7 @@ tl: { # no indentation
   deps."classicthesis" = tl."classicthesis";
   deps."cleanthesis" = tl."cleanthesis";
   deps."cmpj" = tl."cmpj";
+  deps."collection-latex" = tl."collection-latex";
   deps."confproc" = tl."confproc";
   deps."cquthesis" = tl."cquthesis";
   deps."dccpaper" = tl."dccpaper";
@@ -9382,6 +9612,7 @@ tl: { # no indentation
   deps."hecthese" = tl."hecthese";
   deps."hep-paper" = tl."hep-paper";
   deps."hithesis" = tl."hithesis";
+  deps."hitszbeamer" = tl."hitszbeamer";
   deps."hitszthesis" = tl."hitszthesis";
   deps."hobete" = tl."hobete";
   deps."hu-berlin-bundle" = tl."hu-berlin-bundle";
@@ -9404,6 +9635,7 @@ tl: { # no indentation
   deps."ksp-thesis" = tl."ksp-thesis";
   deps."ku-template" = tl."ku-template";
   deps."langsci" = tl."langsci";
+  deps."langsci-avm" = tl."langsci-avm";
   deps."limecv" = tl."limecv";
   deps."lion-msc" = tl."lion-msc";
   deps."llncsconf" = tl."llncsconf";
@@ -9426,14 +9658,15 @@ tl: { # no indentation
   deps."navydocs" = tl."navydocs";
   deps."nddiss" = tl."nddiss";
   deps."ndsu-thesis" = tl."ndsu-thesis";
-  deps."novel" = tl."novel";
-  deps."nwejm" = tl."nwejm";
   deps."nih" = tl."nih";
   deps."nihbiosketch" = tl."nihbiosketch";
   deps."nostarch" = tl."nostarch";
+  deps."novel" = tl."novel";
   deps."nrc" = tl."nrc";
+  deps."nwejm" = tl."nwejm";
   deps."onrannual" = tl."onrannual";
   deps."opteng" = tl."opteng";
+  deps."oup-authoring-template" = tl."oup-authoring-template";
   deps."philosophersimprint" = tl."philosophersimprint";
   deps."pittetd" = tl."pittetd";
   deps."pkuthss" = tl."pkuthss";
@@ -9444,22 +9677,26 @@ tl: { # no indentation
   deps."proposal" = tl."proposal";
   deps."prtec" = tl."prtec";
   deps."ptptex" = tl."ptptex";
+  deps."qrbill" = tl."qrbill";
   deps."quantumarticle" = tl."quantumarticle";
   deps."resphilosophica" = tl."resphilosophica";
   deps."resumecls" = tl."resumecls";
   deps."revtex" = tl."revtex";
   deps."revtex4" = tl."revtex4";
+  deps."revtex4-1" = tl."revtex4-1";
   deps."rutitlepage" = tl."rutitlepage";
   deps."ryersonsgsthesis" = tl."ryersonsgsthesis";
   deps."ryethesis" = tl."ryethesis";
   deps."sageep" = tl."sageep";
   deps."sapthesis" = tl."sapthesis";
   deps."schule" = tl."schule";
-  deps."scrjrnl" = tl."scrjrnl";
   deps."scientific-thesis-cover" = tl."scientific-thesis-cover";
+  deps."scrjrnl" = tl."scrjrnl";
   deps."sduthesis" = tl."sduthesis";
   deps."seuthesis" = tl."seuthesis";
   deps."seuthesix" = tl."seuthesix";
+  deps."shortmathj" = tl."shortmathj";
+  deps."shtthesis" = tl."shtthesis";
   deps."soton" = tl."soton";
   deps."sphdthesis" = tl."sphdthesis";
   deps."spie" = tl."spie";
@@ -9487,8 +9724,8 @@ tl: { # no indentation
   deps."tudscr" = tl."tudscr";
   deps."tugboat" = tl."tugboat";
   deps."tugboat-plain" = tl."tugboat-plain";
-  deps."turabian" = tl."turabian";
   deps."tui" = tl."tui";
+  deps."turabian" = tl."turabian";
   deps."uaclasses" = tl."uaclasses";
   deps."uafthesis" = tl."uafthesis";
   deps."uantwerpendocs" = tl."uantwerpendocs";
@@ -9503,8 +9740,8 @@ tl: { # no indentation
   deps."uiucthesis" = tl."uiucthesis";
   deps."ulthese" = tl."ulthese";
   deps."umbclegislation" = tl."umbclegislation";
-  deps."umthesis" = tl."umthesis";
   deps."umich-thesis" = tl."umich-thesis";
+  deps."umthesis" = tl."umthesis";
   deps."unam-thesis" = tl."unam-thesis";
   deps."unamth-template" = tl."unamth-template";
   deps."unamthesis" = tl."unamthesis";
@@ -9514,45 +9751,45 @@ tl: { # no indentation
   deps."unizgklasa" = tl."unizgklasa";
   deps."unswcover" = tl."unswcover";
   deps."uothesis" = tl."uothesis";
-  deps."urcls" = tl."urcls";
   deps."uowthesis" = tl."uowthesis";
   deps."uowthesistitlepage" = tl."uowthesistitlepage";
+  deps."urcls" = tl."urcls";
   deps."uspatent" = tl."uspatent";
   deps."ut-thesis" = tl."ut-thesis";
   deps."utexasthesis" = tl."utexasthesis";
   deps."uwthesis" = tl."uwthesis";
   deps."vancouver" = tl."vancouver";
-  deps."xduthesis" = tl."xduthesis";
   deps."wsemclassic" = tl."wsemclassic";
+  deps."xduthesis" = tl."xduthesis";
   deps."yathesis" = tl."yathesis";
   deps."yazd-thesis" = tl."yazd-thesis";
   deps."york-thesis" = tl."york-thesis";
-  sha512.run = "6c8fb62dbf05c1d522965f8837a3753ea0b534870bb17512178aed979f21401d1e96c4ded2054fa6d71f2c3ec57d4fa158c30fb6b0c0462d336d4f2fc057b0af";
+  sha512.run = "5a1e89da355bc14c2faab559707a87876c822368796a57b661e7567d0ddf9f2826369de1392406ad957ea836e5660d46e7479a2b5a1f63b5a7f257ac7f4ac61c";
 };
 "collection-texworks" = {
-  revision = 36934;
+  revision = 54074;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."texworks" = tl."texworks";
-  sha512.run = "76e9ad96aa649c70442533135cb3e198278a8df631f91f23b55bd2977eccacd81a2bafa6cf4f0fd1e83f86dd591a85eb8aaa93c5928b2cb9766683d089994199";
+  sha512.run = "b1f38877115fb6efc9b63a5591c399b799f3a258e342d5e198b74b582628461ad67ea7c1ab76e5ae83a3e8e538c62ac3e7c5b3d3f1d29c093331843067cfec57";
 };
 "collection-wintools" = {
-  revision = 30307;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "648617c8a047b9833429a38e77f1b605b060fc3ab4a356ab8a19e0c1b3650bb56eef7e7b9e8727e95d1e48b0fcac40d8994303527afc7511c5d1a34adab8df30";
+  sha512.run = "9bf4c58094748424c1b60a3731d9cb2b1ad1d24764469072da693de26a4e4e857df3bcab6d4c2b5ae7454a69f9730fc596fd156b46b7704eafb1421f6936d66a";
 };
 "collection-xetex" = {
-  revision = 52686;
+  revision = 55209;
   stripPrefix = 0;
-  deps."collection-basic" = tl."collection-basic";
   deps."arabxetex" = tl."arabxetex";
   deps."awesomebox" = tl."awesomebox";
   deps."bidi-atbegshi" = tl."bidi-atbegshi";
   deps."bidicontour" = tl."bidicontour";
   deps."bidipagegrid" = tl."bidipagegrid";
-  deps."bidishadowtext" = tl."bidishadowtext";
   deps."bidipresentation" = tl."bidipresentation";
+  deps."bidishadowtext" = tl."bidishadowtext";
   deps."businesscard-qrcode" = tl."businesscard-qrcode";
+  deps."collection-basic" = tl."collection-basic";
   deps."cqubeamer" = tl."cqubeamer";
   deps."fixlatvian" = tl."fixlatvian";
   deps."font-change-xetex" = tl."font-change-xetex";
@@ -9562,8 +9799,6 @@ tl: { # no indentation
   deps."na-position" = tl."na-position";
   deps."philokalia" = tl."philokalia";
   deps."ptext" = tl."ptext";
-  deps."quran" = tl."quran";
-  deps."quran-de" = tl."quran-de";
   deps."realscripts" = tl."realscripts";
   deps."simple-resume-cv" = tl."simple-resume-cv";
   deps."simple-thesis-dissertation" = tl."simple-thesis-dissertation";
@@ -9588,7 +9823,7 @@ tl: { # no indentation
   deps."xetexfontinfo" = tl."xetexfontinfo";
   deps."xetexko" = tl."xetexko";
   deps."xevlna" = tl."xevlna";
-  sha512.run = "f4413abed31de8fc073ae63c0136da9e3e71d7dad5f4d46d59c7251a74b446df77db6eafc3ec97848fb2f5c5a84f07b37d36d0e43f2d7379922876874d33594e";
+  sha512.run = "8563a018890f0db23567cb90c5a4c18d060a6e3a622f0a9a910dab425958b35d99356394bfeb006f5b9fa59fb3bdcbd8ec42bf5d74e5801eb610af9af995bf90";
 };
 "collref" = {
   revision = 46358;
@@ -9732,20 +9967,20 @@ tl: { # no indentation
   version = "0.3";
 };
 "comfortaa" = {
-  revision = 51461;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "83398c18c37a1e2d2e780133910e5ccd59daffb548f689e22bb642d7a2776e425a80df8ded3982f9b343b83d3421d3d5a9f363840b5f4d9e5ab470439183aa70";
-  sha512.doc = "e7c554f3d8ddccf5660e7dd21ba4aec1412433fb594398d9e3b57f9ecd7943c34529b4ac747d9678dd30374eb8fdfbfcacac0545f12769bf419644cf79123a05";
+  sha512.run = "6b851b6c56ef5b6ae6e59c5a3606238671af34963c5dfb8a39a9bd6b84597f673d12963abdd687013f11edade4fb9ae37794a4789650c38c29f64bea1d41dea5";
+  sha512.doc = "b1b4efa42012646538316af9bdd5c724f285aa784e18e85a1239376dc02cf1b79bf43bb0ce07a822995a82811eb6562e6943aca0b903f9241bda088ac0675fce";
   hasRunfiles = true;
   version = "3.2";
 };
 "comicneue" = {
-  revision = 42851;
+  revision = 54891;
   stripPrefix = 0;
-  sha512.run = "c72d19a0f5219d96da92916ec13fe333703c911b4222b60f825aa5ea2d412df261fbae2227c56844e70fcc057ed8367a4c42f17799c4b8418b02c3171b8d4864";
-  sha512.doc = "e3d1630dbecc93365e18b496565a5430e0867f3d3a82c0bedcfec8a02168bddf71d9e65b996e4682294c086d1049cf88182a36c5619d8fe6762aa1050fd923a4";
+  sha512.run = "5dc900d215fef53fe69ffda6e9120f1230173f40d220c71eaaa3d7eb21610b214591bdc043f27f0fe5259daf2a800b695167d2deee1810a67045997aff7c2a76";
+  sha512.doc = "24baee44951d9dc6fd70b6b6092112a1d7d13c394eeb495162c3f80444ebd799b526acf7b7c86b7590afc9f5f6efa97c10b661ddead6ca11a168325c7c840650";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "comma" = {
   revision = 18259;
@@ -9789,12 +10024,26 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.8";
 };
+"commutative-diagrams" = {
+  revision = 55526;
+  stripPrefix = 0;
+  sha512.run = "ff7cd8401eb54f14bd013db9a62e2540a8015e51ad573cb76683b19c2cf2fed0a2081be87c5c81238664ab441f6d17eedc896e41fa0700dcd70b088d08e6ec8a";
+  sha512.doc = "3709730425aafd1fd9aed5b4cbb1b80bf70ed474c792f0ad6f35d4ae6ad64624db64bda7a02656b226c13ea93159d2811356eb75f8b2756328f0ecea2289f738";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
 "compactbib" = {
   revision = 15878;
   stripPrefix = 0;
   sha512.run = "dbc3bb28178a656b400a2a72e48ec813d6e282ddba7c70bb4dd0b5ed7f76e9e0be1dffb0ecf43e4893210453ef420c1b1d859c287663cad6bfe8c7f46dc8d86b";
   hasRunfiles = true;
 };
+"compare" = {
+  revision = 54265;
+  stripPrefix = 0;
+  sha512.run = "16d6ffeaa66c1165ce4c6795ff2f73e0cc5a811045198db6e7aa2556bc6ff8b20883478011fae9f06400475f9a96a57fea34f7513b7fbbb392aee03dbd30ad01";
+  hasRunfiles = true;
+};
 "competences" = {
   revision = 47573;
   stripPrefix = 0;
@@ -9819,11 +10068,11 @@ tl: { # no indentation
   sha512.doc = "5da762a898a6cb95d5da95f444e862c8d0ac351ca63eca776fc1a9e35e2fb00389d414a85fa1bef357abc3d68b691a36ddac8c6aba20b7ea6f398c9017ac13fb";
 };
 "comprehensive" = {
-  revision = 46270;
+  revision = 55667;
   stripPrefix = 0;
-  sha512.run = "8c34a44188cb3dd286f0f841cbfd2d4760bee9be75c814041ea7d2f9ffef39991f018fce276a440f88ca8771eca0c1baa9884d2a7f60afbb788f63220b51c3e7";
-  sha512.doc = "e262b3996a745024d2cca39d62ba35e00e9b6a8ead58ae1c89c5d8949744cf8a084021beba8c611ef6b2726447919241e0f2f6cbbb21e6de4d6c15af7c7b5ea4";
-  version = "12.3";
+  sha512.run = "57046d6981bcda498ff025644fe915ce67a01b60c6fe58431060754e801b51b9332eb718fca263fd39b9b728b9db6702d83e227d8ed579c03d58f6d653c76a0d";
+  sha512.doc = "a2c4c855c0321e2d57d430f6788e762ab1bc8d51a5513fbbf0f6f4b53874d8816b877d9e4d5f3222e1014b8ea8384ff16a9d52742e9bebfc7932e08ab170e53e";
+  version = "13.0";
 };
 "computational-complexity" = {
   revision = 44847;
@@ -9871,6 +10120,14 @@ tl: { # no indentation
   sha512.doc = "5fb4fd77468dd4d5ba19d43d176588f05345038d58c9b0b2630e6795ed33bdb3db0053d5bb249030a118bf19cddf7c7e4d8f1ae96173b1e1368e468ea2c00727";
   hasRunfiles = true;
 };
+"conditext" = {
+  revision = 55387;
+  stripPrefix = 0;
+  sha512.run = "60619cdd5031d0fbd2f9e4e8614dacf8f439282787f6230bd2662bad21607720757a19ab27ef783a36a6a19299d5960fb786d8cc787e471a46e89f8cc2e7c866";
+  sha512.doc = "3949b2f03c86a922d306cab525a5ca321509d64cfd73b99a39e3404800f63f15e262921e2c1e8eedf98ba2f6cbdda00dfb14e54198af5b7438afdea4572a86ee";
+  hasRunfiles = true;
+  version = "1.5";
+};
 "confproc" = {
   revision = 29349;
   stripPrefix = 0;
@@ -9899,20 +10156,20 @@ tl: { # no indentation
   version = "0.1.1";
 };
 "context" = {
-  revision = 50573;
-  deps."metapost" = tl."metapost";
-  deps."pdftex" = tl."pdftex";
-  deps."xetex" = tl."xetex";
-  deps."luatex" = tl."luatex";
+  revision = 55265;
+  deps."amsfonts" = tl."amsfonts";
   deps."lm" = tl."lm";
   deps."lm-math" = tl."lm-math";
-  deps."amsfonts" = tl."amsfonts";
+  deps."luatex" = tl."luatex";
   deps."manfnt-font" = tl."manfnt-font";
+  deps."metapost" = tl."metapost";
   deps."mflogo-font" = tl."mflogo-font";
-  deps."stmaryrd" = tl."stmaryrd";
   deps."mptopdf" = tl."mptopdf";
-  sha512.run = "1c525a6a7fe325dddb9588d3720e806ac762eefc90848e4457fc4d3cd60c64cf7b6e5c9388a1f22b22c526e84cca512140511bec9ca5ddad99bf7b968ac49c03";
-  sha512.doc = "b172eed71f2917ca16b4ce18b24d28e51ea48a1281fa8e34a5e104363656c1492c7a79339f3d0f7475ffc1f7ea13b647513f3af519afa684231dd7df3ea3b488";
+  deps."pdftex" = tl."pdftex";
+  deps."stmaryrd" = tl."stmaryrd";
+  deps."xetex" = tl."xetex";
+  sha512.run = "3351a0da659954026a8ac4f25c246f82fda0f63ded2a8dd1dc463bc71b237977b4beffa3e44ee932f2e22e7fbc396ffee3c70ad5a85d153ba032ad46040b176a";
+  sha512.doc = "0ed466b4fcd66ac43808d5d6e11d81419ba87104d3ca9e8e79f4a1e355a88b26cb9ac172f9502b74a58b21d5a99ac1364a6d8e42fdbc8f95175f0f504b9a67e1";
   hasRunfiles = true;
 };
 "context-account" = {
@@ -10012,19 +10269,19 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-filter" = {
-  revision = 48390;
+  revision = 55718;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "330e7085ce8d3e284c9e4cff349b351b862cf7e6544f736268b01d623370658de507176d3bf957f5b2bb2da28523a9b5543b091cf1dad0711f0cd38b2da30fb6";
-  sha512.doc = "f27471636d5fdfeec2d47fe901b87fb56613bed3fbf95c5580c531c5643c919b890c38aa4f33d12252d06c9c3a681c112b052de6dbaf279374c7a87b7b9ce957";
+  sha512.run = "cfd8b7f1276464a8593dce148e170105c2da3d20a755a4d197999b2c00610a3ee0227a8820e5eb34c09ac3537381c8cc984a67efba2c3fe8b85f7c57cb13c720";
+  sha512.doc = "20279aeab1d574ff034b208d8657b02d35efc7f6ab1a92847bc3a7d0453e152571fec214cbfc90a70cd8e8debd2ec57317fda47183a10f644776949c295fc1a9";
   hasRunfiles = true;
 };
 "context-french" = {
-  revision = 47085;
+  revision = 54215;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "0131af9d1c23f612450333c2cca116d2369cb8ecd402bfb9c9abc7e473b4eab44c9962d343d7391d9d9a29bd376012c82bf9e6378a280d41e37d41736b1853a2";
-  sha512.doc = "96874c7039d9f252a9322cf84c4f77e8ca6bfbb9740e2b9fc8793dea79bf0d5f002ed1a69eff590c8aad6e43c315cda5af2aab0f9011bafb47a53da63101a9e7";
+  sha512.run = "aed7a7f91e909e8b9b7efc5e0b45c67d5ed3e084c5019e1ddd68d8e9e969c0579b1dbbe4e25d74ca22b256324358ed34f3f54a92e2fb3a012a6aa43797e8aaa7";
+  sha512.doc = "926a054d12f59d45dbe538eaed4087ed2c9f3321f1051c7006fe651af95d2275788030ee9371ffd39a7f7f8a4022776c19721323ab82871f061dca365c081728";
   hasRunfiles = true;
 };
 "context-fullpage" = {
@@ -10077,11 +10334,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-letter" = {
-  revision = 53499;
+  revision = 56073;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "12e0ab8934b8022010e6a23109b094ae97a9c409cc143705d73776350b8d36aca11f3d6df181d5252415f12ff11bbaa4d12e2271ba5ad9b43ee84c566c5c1e17";
-  sha512.doc = "74d2f845dfe6c70ab2a4601e0d074ed5996f7d8f3f024bae2c40836b4f30dc66451dfb030e6559a986dd1a460c5426ebd01b72133f328f08a85cc48690c8427b";
+  sha512.run = "12c0e37865f241eb37b46989346e16c75cd49672e76e22f511d2a146ea221e0279c93ebacd0b85e0377cffab0ae07e26515fe3a6abb86bc85df52b87569dec2a";
+  sha512.doc = "81e18af260a8441aedc04e48f120c69ea9fadf08fd69b18d95caeb1e98d5de8d0d37aadcb7589273122c4cf8a8b8832ed55675426f5cb29dfa3f9e60dd3012f4";
   hasRunfiles = true;
 };
 "context-lettrine" = {
@@ -10172,12 +10429,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-vim" = {
-  revision = 48391;
+  revision = 56356;
   stripPrefix = 0;
-  deps."context-filter" = tl."context-filter";
   deps."context" = tl."context";
-  sha512.run = "3e32d0132997f21c6cb5d4c5740cd2ef4db3894343196f3cfaa8e046a289082b0b16e811582124e974a93df1606ed4a5b6a1284663eff7524048eef098227593";
-  sha512.doc = "01cce32879386b537a83c203c3327dfd0798f75e781c631e24357d290534a657280b009549adac29ebc237ab1bf228a7cc6f513197c5fe8a2f6867c798f44949";
+  deps."context-filter" = tl."context-filter";
+  sha512.run = "fb3eaf1c65d688ce853a9e27a2cfa96c40ef422b11efe2f5a6646e4ddc8a474ba9f1c0aabf3824e9d31d37dd9093751b4da2cee3eeb26d177993970430309f6f";
+  sha512.doc = "296efd4abe29b99f51fa6cecc7b1dfbd894cf7ed769a6e65daa45c2f85c14fab6f2ca967cf3900cd76e847cab355114d8404ba1a3195d8a4de98a9f16af335a4";
   hasRunfiles = true;
 };
 "context-visualcounter" = {
@@ -10330,10 +10587,10 @@ tl: { # no indentation
   version = "0.1";
 };
 "cormorantgaramond" = {
-  revision = 53339;
+  revision = 54696;
   stripPrefix = 0;
-  sha512.run = "04f9cf2cfa444b33af34e1289825333a105e05f224b855229a3eb437c28085a5cbfc3507761918867dadf940e5c175acf61d124668941549f4d0acddca0385fd";
-  sha512.doc = "7641db7d8c3100e6db19eef63cc6a9d9de15eb4547175cd6d32482926c1f3665dbd9d1658f52023fc030c4921a5c7a8d050fc3acb839937816e9eb704205d8e5";
+  sha512.run = "ecb159a7278d7f2e98402b0174f6985d6e29ce340e2c9cdaafb39116f7be42ae2f802b9cd48265bb8b7b0ef4e0320c35459e07df9af7f18831fb4f2750bb5437";
+  sha512.doc = "a746ec2d0702cc8ac5b9d62c824c5227ad9ad816a74f04f115fdfb9a19d8e64b31739e4d4421386ea43e98286eab05257f69686c1bb5edda0d9a25e533e81a8a";
   hasRunfiles = true;
   version = "3.601";
 };
@@ -10354,10 +10611,10 @@ tl: { # no indentation
   version = "1.1";
 };
 "countriesofeurope" = {
-  revision = 52285;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "77d075fe233359be6d50003d9577ce84965c409ae89da18ae91ab214a80200b83843ee25a1caaf1d0ac1e6fc076efbe560f3dacc1770120a89c6d8612915418b";
-  sha512.doc = "03071f1cc0c00f1930307395126f035080c2efae21ec99ae81a03abdbc572d1219dcd3a63b8d988036a1c2b9c4f1a4a564df7017a886965068d1ae314a995306";
+  sha512.run = "fa0faa88db3e7c1baf73d5fad1fa196915c752e15dc024cef051127581f1e8a3d218d5f2f815b44bbedc9bd6fce6292825929471b595771e9ecd0b5131b11d26";
+  sha512.doc = "e99ac6f4b57a2aed80cfd1214da7625ae94336677f0cfa0306125b06054835c2c3b23ac901cc3f421d56e4d021dd468db12e21acd6b3883c8b937919dbda056a";
   hasRunfiles = true;
   version = "0.23";
 };
@@ -10383,6 +10640,13 @@ tl: { # no indentation
   sha512.doc = "59c5cec8491e678b084afb4c6e63ed07ca179b5f17be8fe581ff341c80b3cee8016601799ada090e1fcde9eeb72197986f3d4aeffa7c7a9d10a014e34282f52a";
   hasRunfiles = true;
 };
+"courierten" = {
+  revision = 55436;
+  stripPrefix = 0;
+  sha512.run = "06343c68149c28b8808a38d5d7f2a57e9bff996d836c90a352ed77da4637fff150a18c13b8807f401e3d9cc9e7ecc773275f8ca18e2dc8d315ec5647c3f6b55c";
+  sha512.doc = "737818c02e35e5502eca7bd80427fb814f54d495bd1315b124ad32a033da0ba0b9b4a2cc5a1f8c19b0f8d91f8534a783253742728ad1c8499d97e14fc3a67938";
+  hasRunfiles = true;
+};
 "courseoutline" = {
   revision = 15878;
   stripPrefix = 0;
@@ -10426,21 +10690,21 @@ tl: { # no indentation
   version = "1.0e";
 };
 "cqubeamer" = {
-  revision = 47630;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "6dd13c29855533c100146e712431d64e4d55bfe9c49b2199a63f292933e6666c0fcd15e17e56b534e648a64b5117b8bf211a1f0f595d83db54e587977590a2ce";
-  sha512.doc = "38cbdd297bf4ff67d0404b75c497416eddaf18d4430ea49af8413ef504e8463a3127e3d42aa12f2920a12d13c03935d6aab5b036d398322428659918b5058444";
+  sha512.run = "7c2c4548f8bbb4885680588ff113c8af96d79b5403d6cb01bebc6824745fecdd243af7e14b51bdacc91a6ee2301946ae911aa6c892d248958c1089d3fac383a0";
+  sha512.doc = "f11c9d614b75a973cfd0452e283078c5af259127624f7746c0f49152da20ea016acb8842ce343cf342e4fd45f563bdadb48fc4e98cf964bb1c6dd044e610e202";
   hasRunfiles = true;
   version = "1.0";
 };
 "cquthesis" = {
-  revision = 52355;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "08c18f72346fcb3bda3f0bacdcdaca72d68e89675b98f1aba46c3181a334fb4e21de82b219637d05bce0de4259b3b4ef4790ebdea3ac538f4a121311e5fcab5b";
-  sha512.doc = "88daa7155ffbf06bc393c991c9e043015bfa25122737f64203f6c0352eb2e9b386ce7398736ca62d33e0708db4f60741f5ac76ab48eaabb10b5c1ce7c4a40b71";
-  sha512.source = "06b48932193614c71e20f5e8cf0eb4905f798694eddae90f42e03c67d48c1b4dc0cea9d8e9a2cb0b9d8ca31c5b3b4f075813fd9755ceda7a09029e9817d95c5b";
+  sha512.run = "929e1b191e8aefd67e734c49227c24ba6f4a15704d3f40aa49b1c0390796dfef36b56e7735e068fade5415838918ec712bd34cfffc9aa2981929067d73d86ad9";
+  sha512.doc = "ab270eb465858de3b92248b3b884fcb648b59cc3f947e3362a445562c29e910b0a7f1e4c137aea49c537e68ba61a90d08f40ab43d3340c109e01a293505cfdf9";
+  sha512.source = "2184befc80f4ef6f23aba573778e99314dab80b65f053416e5dc8ebb0ff462c8f5d665085955fd28d88dd24cdc9e0599ba4735196b239e3123523cc1316da3a5";
   hasRunfiles = true;
-  version = "1.40";
+  version = "1.50";
 };
 "crbox" = {
   revision = 29803;
@@ -10451,27 +10715,27 @@ tl: { # no indentation
   version = "0.1";
 };
 "crimson" = {
-  revision = 43525;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "58708970173456998d07a7953d86b3124a0b97a918910229c0d20a300de688283bdb85b63a7596d2bbf2a6cf5f1069a596e43b29d6fa0c5866ef9b0cc1d01b3e";
-  sha512.doc = "2fac264b2986a52a739496c907930b6182e56dc24c8b13356d4d564113d6aa019734fb450168122aff2b0f14ecea3d962b4097638277b805d3a13cff5493fa9b";
+  sha512.run = "26a4e2fb4439f111893c85b7f9b77162be5960a34e000d7a33ce59cc2db83c39cf283a882c89fcb031162ab6a398c481adfe0556dd42b76a2ab36cd9d1573108";
+  sha512.doc = "1e97ec47cfe2a9fcc66a87469262c611e6e95c051444915548d2bea644f4c8fba3ce38beccdf2ac52d95e416e4fe8b6dba33eacb4aea9b33726e84e04ad11cb9";
   hasRunfiles = true;
 };
 "crimsonpro" = {
-  revision = 52506;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "64c7f5d30798fd99de0745869985108b702b66de8d48f0d2ed68ede9cd49e032aaacbf24d5a5fdbced79c2fd01d25e171273fab5873baa351f5b46ebd91993ab";
-  sha512.doc = "fa46cd05b0e5fbd71881d8a42f635bc7271106a73d412d02e49b968ca60985b60f470927a6c8f68c42060774dd2f67b0830ff6628c506eff57462f5bc6e06638";
+  sha512.run = "4e7d10cc23057a5bf2bef8f62dc392f5a3855184d18c814e5569bd6e8d7f0ce692ed9329377aca920a3b6b8f924ea9df47c6c51cf29c638483b7a294da1a16f5";
+  sha512.doc = "8c6e5951acce558777527fbe4f36380418e9ebae9dd38d62d034f6a33a87de76259c8fa074d2a3afedc746d595ea60f1710c792af6ab6a4c413ebf8a12480bba";
   hasRunfiles = true;
 };
 "crop" = {
-  revision = 15878;
+  revision = 55424;
   stripPrefix = 0;
-  sha512.run = "6909ec6d94362aca7b0c0a00accba6015f5b30c06bce01acd22b87b2d1550ebb7747013d008b7cc82c4cf0b3f5fe6a6575fcca4ee50707214fcb0e19ed796989";
-  sha512.doc = "b68db452aca35a90dc77e500df8db574c321c693490abdf9c7135c7457b34b5a42dc32213c5917a2e4ee37252d909315c4e68ff76f3185a9c321eee3bee10a04";
-  sha512.source = "dde8987ead8158440334e35ce04b10051a3ff2c12ab61f9a3522c0c6d6bf93351e2b9ddfd17d03b8c2c42c0b7204dc3a54b46ad2f486a32374fb6d7a50e60ebc";
+  sha512.run = "f6161e7688d8853d2d9041cfe26360b71a920028df673d04ba38f258c810021752bb7282757ceb98b2e62f7ae52a5f4abcdc61333081d77b205d5431ca62a569";
+  sha512.doc = "770ab2977a4ddfdfdbac5f1107e01b8bd5858a31747d44bf0186565dc79becbefde2f34a9514dcf214b8eb781390e98d5f5383f2e70e393ddc22043d4a0eacfc";
+  sha512.source = "1b1f0e6a309d1657a12f9760ce2a01ab370de1d34bd628bc066768eded3d7126cbd1f8c38d315fc120c58d73cee48fbf2515492c218a6510306766dd83861b15";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.10.2";
 };
 "crossreference" = {
   revision = 15878;
@@ -10482,12 +10746,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "crossreftools" = {
-  revision = 49589;
+  revision = 55879;
   stripPrefix = 0;
-  sha512.run = "9f5426951f7062ac3a850d141aff2031ea2197a97d5e4bf2c2b93fcd2719d5b1d6587b66d51fb258f514423bcb43cc8699b58a74c411824ffe7057cc27d03702";
-  sha512.doc = "66597598d04218394abe1762aca2e9ecb25ab25328e9b203bb789459d053ec575f2a7adcc9460b1356d5488b32f2fb8335e8a7554074fb5ab2df810fde2be586";
+  sha512.run = "50b8ce01e9bbfc1f3b4ec9093fe0b091780edbc197a9c637b98a025926600459c5f0b22f5683427bd0a4f0a6ddacadf77833f3171d2dbd45ce43dd6e1d80d813";
+  sha512.doc = "0edf43d8b68decea7d83cf5eaf2f92f86635f19041680be4a511a57a7751dd40efe4b4ede05a898c2e00f91076caeb3f4b39c444d1ab8b05a4f0471913e4b475";
   hasRunfiles = true;
-  version = "0.9";
+  version = "1.0";
 };
 "crossrefware" = {
   revision = 47861;
@@ -10496,13 +10760,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "crossword" = {
-  revision = 32657;
+  revision = 55271;
   stripPrefix = 0;
-  sha512.run = "e55390ea7eb83686bc49e1f33fd4df2e7b977e031fa6d42e3d18d2cb5b9f34905aa4c43f173ad6745e98683376eb5ad4fae1a8344355b272f0b4b8096b1521ce";
-  sha512.doc = "121e26265895e99dd00dc84ef8b1ba9f4b6917ccbfafa6a35d1f6b81b42c70153bed17790eb6e2d4a5a4fcd8c5cf2e03f5b6e458a2b125a2b7a0f0292bb24947";
-  sha512.source = "91f7fc2a78a83eb404aa11a95f941f81f10da9a908a8ca4f554b5ed496435cca615ce69d9e608c59a025b51243e6c1bf14ea69c896d944a757e1c1cb470e831e";
+  sha512.run = "120d76d4513d2fb2d5ddaa9b5a45a3fabc42b4574776e60fc700f9de07030679ad36f2328ffd1dd5a0ce0148c4b2ce7c6f774eecf1fb2ad747fdbe585178ea26";
+  sha512.doc = "ca1d098a53724ce035ab8eb6e07de2f2b38deaca029b4e3a0d15e98dfa5ed9998fdb95b8dd5ab254862ca0ecbb7c15fda6bbef3d84cd6a7293f0172abbadb901";
+  sha512.source = "4071af8acad185db5ff31137f966378dd239a155668b822fcaee4091d460fd8062a0b08fc39b5d5a2b0d2c0d1adfbacc0884ae9654a555eae634b71cf722adea";
   hasRunfiles = true;
-  version = "1.9";
+  version = "1.10";
 };
 "crosswrd" = {
   revision = 16896;
@@ -10514,12 +10778,13 @@ tl: { # no indentation
   version = "3.0";
 };
 "cryptocode" = {
-  revision = 49131;
+  revision = 55920;
   stripPrefix = 0;
-  sha512.run = "b15b76169656d91a366e17fc832f0b661e0bd31e2d8f61e2431d3e7adab66b24c145c2e84e4c9f9aa8dfbe27655b37c657765e549e04f9de447c5c6cefe38480";
-  sha512.doc = "0245804ad3761368a634d7b062a02e5a073ed91499c3792f82670ea6ed18f6790f74d23e5ff4770c1c3af64b3a90d9f3d59ebe88828496ae19fb517dfca1e0f4";
+  sha512.run = "df6a8f1f92357f235ce6ab120925c4e833985ba8ec487f8477a06ac8808997c3f34e2955178f505460cc008183966ffb06280b41a9ead249e8f03062cf2f7140";
+  sha512.doc = "1369982ed17f6205ed2206b082faa902b8d0b2fa88669f215cc113a4bdb7e027f9e696311a3a0a19e5a48151a858d5c7a151bf4d42eff04a807c32f8559d67bf";
+  sha512.source = "e9849dd4382b51e6f2d19bea2e074c2918fd4aefbab9f7add357cc6a122a4b4c35416d50886b7fb68a2db899d00ff8892a38ab91833d1a694969f946ce415a56";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.40";
 };
 "cryst" = {
   revision = 15878;
@@ -10536,40 +10801,42 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "csbulletin" = {
-  revision = 49681;
+  revision = 54433;
   stripPrefix = 0;
-  sha512.run = "730ca61f0678ab2dfe4aca6be57b64cf6944ec018a7154f25c565687c29cc746b9cbd508ea01600a1d17f31850dd2bd047ebd47788997cd244e8f74199a96d68";
-  sha512.doc = "b9581a3d257647ddbdb583c5327e1e6dbbb52c8bc3153e115dcbcc6047fc2146ee0b62271727826f608d70f9d1a1b25e844c6f772c12ce6b8c38e1cf32015303";
+  sha512.run = "7b1f41ce8c9cecd8cce3aa1458a029a558b3a70dbcf8e5fb53e192db5d4b56ffdca3e323fa54d7960e141d6e1e32ca52b8824b3c326c94def8b32ad42d0dfee0";
+  sha512.doc = "4299308a6408a826f139bbca785cbb139f94ff10e67c80c597e0e7cbfd3bb6ff4889865a04922e4cbe23cf0d3d6f1c1ccc5cfe4d5c2dfee4c747ba18873d6190";
   hasRunfiles = true;
-  version = "1.2";
 };
 "cslatex" = {
-  revision = 53786;
-  deps."latex" = tl."latex";
+  revision = 56548;
   deps."cm" = tl."cm";
   deps."csplain" = tl."csplain";
+  deps."firstaid" = tl."firstaid";
   deps."hyphen-base" = tl."hyphen-base";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
-  deps."unicode-data" = tl."unicode-data";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "bfb780410a2b80919c5535e6985206a0bb9e719f9773d9704342e5506cc20305adbf7b45029829af6fc07e1158fe0b55ec92abf3fc43a8cbf370a69be9932b95";
-  sha512.doc = "03c4f67508330801762682f06a7e23572a1fe1374d559820e25847076ac9e6ae153eabe749473564fa54a1abac472cf5387d4dc75b1abc7567d6f8186ed74e73";
-  sha512.source = "409ccab513ec606b4c92087cf947aa1937f99f53d616b64b62310a73787a9cb58d878e26a937fc031b281fd5343aaef1f7050464de5051d3b3cfb89bd213387d";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "8f8269473c2614094f5a04baf565a0df238d2422e4893bdad3d4af2bb94103c5d3a84f8359b42228fee4c1224bb3c65ab8362edd1d59719f16831cbc47a625fe";
+  sha512.doc = "3972c41bc4831687e4feec3485c5ee93c497ad8e55e1b48c6e159887990675142e4e14278cfc17e7e555c60d5a8924d1150db94a9da3175655803c88fdd89973";
+  sha512.source = "97eb8e87a3fc60c3aefdb7467ca3707543f2037234fb19d23ce451bc4b89fe1b8642affc592bd4398706f37952d7c3dbc1fea8d1b51a5dc92a8b573955064656";
   hasRunfiles = true;
 };
 "csplain" = {
-  revision = 53766;
-  deps."tex" = tl."tex";
+  revision = 54699;
   deps."cm" = tl."cm";
   deps."cs" = tl."cs";
-  deps."hyphen-base" = tl."hyphen-base";
-  deps."plain" = tl."plain";
   deps."enctex" = tl."enctex";
-  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."hyph-utf8" = tl."hyph-utf8";
+  deps."hyphen-base" = tl."hyphen-base";
   deps."luatex" = tl."luatex";
   deps."luatex85" = tl."luatex85";
-  sha512.run = "cdc33ef0288eabc03a189917bb5a40c4dda1d206ae4bc4097a72be1d9a9575301cfcc289f24ed7c313c2804bd99125684d53c6599c4a9f8b6eb85af85cdc5a95";
+  deps."plain" = tl."plain";
+  deps."tex" = tl."tex";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  sha512.run = "872a7456edf6aa1ae8bc124bba2a80c3e4634f663722efeb40e04ad5e5850ca68f6d298e8e35a13f3430413baef9510352a07e92b1d87a7cd2f1651061f2b174";
   hasRunfiles = true;
 };
 "csquotes" = {
@@ -10589,10 +10856,10 @@ tl: { # no indentation
   version = "1.01";
 };
 "css-colors" = {
-  revision = 43961;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "b5e000180b583470bc6721601321f81a2f11e70388f05fd85a482b491e1d3ea536db0fbb96a6715fcca81e5bcbaf289af9540c82a2201befac1d2254fbc4cfb0";
-  sha512.doc = "d08c0212f4c36eb114b25128ac8516cb7181ac73a2ea61ee4ed1eafdfa7fed15a2b928d6d0f63bdbf2b4beb93a843fc8dd16b959297a4fccff89c428647f4ddd";
+  sha512.run = "cebeb4e7cd71ecb1a502f6788fa62284f2d9e3e4afcdc1ddce585e94683a42b20e7b9838ff5c85fc0634894898d8061e01de79e062946e943b315d2970ad126c";
+  sha512.doc = "6299617c5740f104b59e850ca826a2906d63ef3564b6730b01decb4f7707828e28ae3de2d44dc851c094abb702a00a9a4cb2bc61f18f020dc37c04e189521c1b";
   hasRunfiles = true;
   version = "1.02";
 };
@@ -10681,17 +10948,50 @@ tl: { # no indentation
   version = "1.2c";
 };
 "ctex" = {
-  revision = 52683;
+  revision = 56166;
   stripPrefix = 0;
-  deps."ttfutils" = tl."ttfutils";
+  deps."adobemapping" = tl."adobemapping";
+  deps."atbegshi" = tl."atbegshi";
+  deps."beamer" = tl."beamer";
+  deps."cjk" = tl."cjk";
+  deps."cjkpunct" = tl."cjkpunct";
+  deps."ec" = tl."ec";
+  deps."epstopdf-pkg" = tl."epstopdf-pkg";
+  deps."etoolbox" = tl."etoolbox";
+  deps."everyhook" = tl."everyhook";
+  deps."fandol" = tl."fandol";
+  deps."fontspec" = tl."fontspec";
+  deps."iftex" = tl."iftex";
+  deps."infwarerr" = tl."infwarerr";
+  deps."kvoptions" = tl."kvoptions";
+  deps."kvsetkeys" = tl."kvsetkeys";
+  deps."latex-bin" = tl."latex-bin";
+  deps."ltxcmds" = tl."ltxcmds";
+  deps."luatexja" = tl."luatexja";
+  deps."mptopdf" = tl."mptopdf";
   deps."ms" = tl."ms";
+  deps."pdftexcmds" = tl."pdftexcmds";
+  deps."platex-tools" = tl."platex-tools";
+  deps."svn-prov" = tl."svn-prov";
+  deps."tipa" = tl."tipa";
+  deps."tools" = tl."tools";
+  deps."ttfutils" = tl."ttfutils";
   deps."ulem" = tl."ulem";
+  deps."uplatex" = tl."uplatex";
+  deps."xcjk2uni" = tl."xcjk2uni";
+  deps."xecjk" = tl."xecjk";
+  deps."xetex" = tl."xetex";
+  deps."xkeyval" = tl."xkeyval";
+  deps."xpinyin" = tl."xpinyin";
+  deps."xunicode" = tl."xunicode";
+  deps."zhmetrics" = tl."zhmetrics";
+  deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
-  sha512.run = "f632e40abceca81daa4db24362c4cae46533f6e8df33c221bc76e60380dc48301d8b9fba338a40c1c6880dd06cdf9fd36fe9907c5fc5a97c9aad6cef07b84d80";
-  sha512.doc = "eab21d42d1984fb697167d2d51f09e34495e331548f32daf620ba852ddbdd1233c34b382595364b7e208ad58cc25c4f08ee09ecc080e7c9b17e84290f4c9c885";
-  sha512.source = "d35c6f8425efb53d7fbad1b4baec18166d4888a92b70decc7e66b1371b8e78392795a850c213d292dd7fb344f5b3cb8efae3a76e16dd84c2a82dc582dd69d67d";
+  sha512.run = "69357cbdfe3548de29ce0b25622b76bfef0b433a62cefe2df2173ec8efcd02fdb4d5849cdc20eedca42f6bf668f748af2993272d274179c62adb53f6e2ad1361";
+  sha512.doc = "d0e3d529ee3936cc5536b805f02268c3d1f8bfb6d50ce20b7af8b9ca14f3e3860ebb3734d55e1abe4c065dddf33623ae9e11038cf3d37948176906ff4756f562";
+  sha512.source = "32039d32ecb811f8a9760af66bcada456c5c7e8c9d760920be45e86f2a8acda55c093ddf0dd67d5ad13156b54c20dfad8b372eb5ff53443b4c420fd29f58796d";
   hasRunfiles = true;
-  version = "2.4.16";
+  version = "2.5.4";
 };
 "ctex-faq" = {
   revision = 15878;
@@ -10708,10 +11008,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ctie" = {
-  revision = 50602;
+  revision = 54070;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "05fd794d4437c662b77b0662dd0c9169aef35a10140abad2519702577c087177d0a02ee5b6163873fe5b3c83c3f77c342c4774af168ebca2ed875717c7d0c5b0";
-  sha512.doc = "83bb53248ce262bc8310faa8c0e057dac72c7c682e295fb9888acff237249a66a69d66b99d79033f5a1d8611ef582dd2121f8c28be9800ebcce775bf3adecf63";
+  sha512.run = "9792cf1c49fd5bb2f8c78c5621330c69031d41da769fc5adf7b3922be5d23e8ef0453b67d6e80617d3af46ba3e7eb84c99031f72b28563d274f6887802b2756c";
+  sha512.doc = "4ab2d29709b509dd129c585d03dfe2f3aae1b3b6e4890a2b82bdf7a0b4b3a81fcd8a9960e6da7c9663ab8b572c29e85637fad93954e79f89846aa17aaba217a0";
   version = "1.1";
 };
 "cuisine" = {
@@ -10740,13 +11040,13 @@ tl: { # no indentation
   version = "0.4";
 };
 "currfile" = {
-  revision = 40725;
+  revision = 56478;
   stripPrefix = 0;
-  sha512.run = "5e67b659df7048a2f3e0d99f7e7da753fcabc4cc94d284d88b6b6922dffe2823eff3c07e96d0d4689d2c430a1cd66ef4693d0ceb344609c6aeeb919aa378a297";
-  sha512.doc = "d45abaaab826dd9dc8a7d5cccdeece29b26d8f56c0c74c2047f5ae7d43ffc3c0596f009536fca744fa9bede2e8d87a13b68b8ebf4a0ced31afc6bbab5b76ad72";
-  sha512.source = "0374496112e380b2c8cce8b00e3dd97d992dbe194f660118c3441fd9b0ba536f476b5e330bd363a624f71d5b3004f50d2ee315534929093ebf9f63f47e91c1fc";
+  sha512.run = "8305bee1b1375f3157a938714b0803d976818dce716d0587ae3aac2020c38fdd987ca45d55aa8605c497b3bd0cb5ac909f5c8347f30836dd5ec2b36d18d06a64";
+  sha512.doc = "7efdf77590627c00ebf0741cc7c77f7813f64fa7a9596c7b35c48e0b0364328a9166fdae5d93f0426ce2b8878c42e1c8f2e7d36823a08ddc7e5fcbba4bebc2d9";
+  sha512.source = "34db7dc10bc9573093242480a7e9a2b1138458dfdf3e71bc5a7a8fa3642a9e2545f1fbd308e27096213f031c55638f778594a9844ce96c6921e3f2290c9d0fc1";
   hasRunfiles = true;
-  version = "0.7c";
+  version = "0.7d";
 };
 "currvita" = {
   revision = 15878;
@@ -10772,13 +11072,13 @@ tl: { # no indentation
   version = "1.16";
 };
 "curve2e" = {
-  revision = 53960;
+  revision = 56538;
   stripPrefix = 0;
-  sha512.run = "fbb2481e0baf08b163b016f494a05dcfea0b28fc458e502f69af12a264059717687ddbea1c8b4395246c18c731969b5f1ba48b3f20e37a1248952b2faf33134c";
-  sha512.doc = "5ec0e0fb849540f819090dc0c9488167553d44452975d218ce4b25359b89f8ceb78504539d522c3a281afbdd3dc44903bb89837b1b73bcc8a31d597d95da8efb";
-  sha512.source = "8845ee9fc5fa19a6ed749715e52f4dc03e938a8355672e7b6e7b4d4c6e3823c70d726473a096c4525eda7d94d2ce1818d93df0ba03e0639c4d46244d533476f2";
+  sha512.run = "319c3b6a3b9d0b1886ed0e5c9396c5a2ca8d24cdad6252136c4bcb87869a4fb7c0ba06544add5ee16414cc8fb4a5c9552a0aafa7c9d8df253fa00d3b0f1a34be";
+  sha512.doc = "a76b224e5a64f82cd50339ad6a87e06f7a0db65294e3a8b6e69972e161211bf48114a23492e306ee25981b6725f06efd9821d56e228949e04105fdb80bb32d11";
+  sha512.source = "8a446660a08991f1c795e0353c4db2813e5e679b948d18755a69495b045e3604338da123e4d33f9608d4a60f149aff3670aae4c28cdcb1ef67b03ffddd251ff5";
   hasRunfiles = true;
-  version = "2.2.3";
+  version = "2.2.10";
 };
 "curves" = {
   revision = 45255;
@@ -10823,11 +11123,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "cweb" = {
-  revision = 52901;
-  sha512.run = "3fa0a2d9d5e4647fee550b0da0449619e22198866e6ecf47956a99c5d8d8081a09c63f1644f4b37788aa91c411df567776589aa61244fb6e0da3ac72314d2b3f";
-  sha512.doc = "f685b045d0253a1dfcbb81d80aa976553c459ce13b7049ee05f792646906a83976c71570b0d7b995dc9d7928558a7ded210b8fb1cb0fcf79508af731161fee22";
+  revision = 55757;
+  sha512.run = "91aba25759ab0156d17abd54b74131955982497e58af56e8ab0e6888f7603a8fc59a5e80405433a05a55f459036777824aaa877125056a4bb30dd1253b419d28";
+  sha512.doc = "6a0a8b6f3ce22e6d6d55acf21f0c7f203762828d81617f84364ec655fef9884d20c59ab0cf4bf9c3a5178e4fbc85ec007f36dfe838c92a2ba8674577a1649f2e";
   hasRunfiles = true;
-  version = "3.64c";
 };
 "cweb-latex" = {
   revision = 28878;
@@ -10890,10 +11189,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "dad" = {
-  revision = 47027;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "3a4a039e8407ea7b8ebb9b2fa500a634930161f6e824e0d090fb00c233cc29bc110e5fd802ee11768569612df1c18cd03137ea086dab86e19bd3cb54dc806045";
-  sha512.doc = "5715bb8219f9800a89c660b2dc581b5be7fd86d9dc085417f3d8e3342dba2f27c16952d9427af64212d6e60359be551b8ddf4eb01f89be93a9c714024c82eeb8";
+  sha512.run = "600bd3267a47e5513f51e67135920c15aa7aefb51f2c3dea6e912f26d1a45071f936e4c568afd322aa7e89d5139e68398b394c287d5076c17e310297fa7f8fa8";
+  sha512.doc = "97d4596972c436762e33bd1d5077f7fdbe7da2a74b016a8841ad98536c2e9d9a2bd01a91b1ad2fb306c7ba06a0a5532d47c7b813d42b0bd82a3390f3bd17760b";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -10987,13 +11286,13 @@ tl: { # no indentation
   version = "2.60";
 };
 "datetime2" = {
-  revision = 52846;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "ba5a5b194f60ed3cdb7494d8b6eae89027a89e32188972475fd9fd43423e19a106d88a64a5b8484dc9bfd6d2fe7d03d01edf1391c9375d9e7647ed6d1e16a790";
-  sha512.doc = "e96d7b74d9f2ee18e50b98c82c58da425e7007939d3dbeb21035bf03d2e40e9d9525f695081dfa03c84660f3e2f88c19f79778e7d57bda5285535e98e9d99bfa";
-  sha512.source = "00077e62d983ceec941d5512a843642e3fe9e99a50dd9ccc2484554cc9d1b693ca9b6bd8e1feda26d12906b8bb776ea33ac75cf1dfb77d837db51958bd687f70";
+  sha512.run = "25dbed04a91d852eadd3b4055b4eb42a9191cf99ae561b6b170729a10cd02f46f3c00371d2ba456011a9340c3abafbec291131b1b8faa938bd795fd25012bbb7";
+  sha512.doc = "8ff3a764a064750f38b8e2eb61feb66dadfe594b999c8f9c1eb7f5ffd3cb08074cdd131ce33eb14ef484484083e669359d149e504aa362ec7b0e82e4975a80bf";
+  sha512.source = "6d832c57ca228f5eb2bde23965b936b1d18c5feae8e3f2f9364c485fb34a0addfaa43dded7ef5fa1e8dfce74b280d1870d2fc2c53d732d4245951d6f934c29e0";
   hasRunfiles = true;
-  version = "1.5.5";
+  version = "1.5.6";
 };
 "datetime2-bahasai" = {
   revision = 46287;
@@ -11122,13 +11421,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "datetime2-french" = {
-  revision = 43742;
+  revision = 56393;
   stripPrefix = 0;
-  sha512.run = "90a5f2e7c7570c88cfd10ea78cab34affd0483916a867c425cee593a080dd41f85c1db9eee22f1c5d1b27899c0d8afbfae2169e0b4fbc5951f0580437f735a86";
-  sha512.doc = "d86846e741d2c4f07efee33c1bb15b1de205d0ceb2f6c2c5930c3f224e350e53d3817b7ca96b47073ea8510389d2cb36b49f853812fd98c6a3d1b2484fb3a80d";
-  sha512.source = "277586cba75c6356674f763679c2d84d46aabeea1cf95211c61e967e413a61324d2e1ecd8ebcda756d5a0406f189f239d547b9b2879ef8ea854722832401939c";
+  sha512.run = "b786e4534dad90a76fccae091d86396324c4f5ddeffed4a2aa44d2df53cc3a05556265603accbc5f07bd1464f00caa9fd5ddaec0faf8e10b4edc9ea036c3f82b";
+  sha512.doc = "6744ddc0a8cd6f190de4462a4629d01b57d3a3bbd33f7c2fda8529685316565a579903bcf4192b5e811cb879eb01427c3d03c9c94ea59828b03f1763ced586c4";
+  sha512.source = "0566b2fefa4f170bece84fc5cf76ebea6805f96d48476f1314d2cd51252bfdc9814ce5b46de2a78a808ff1d8a60026753ead89bad17f022b717d36c0d6e8110c";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.03";
 };
 "datetime2-galician" = {
   revision = 47631;
@@ -11185,11 +11484,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "datetime2-it-fulltext" = {
-  revision = 38093;
+  revision = 54779;
   stripPrefix = 0;
-  sha512.run = "389840e273ea5b9e8e8c66e77578d9908349589b11a599308acfde9ab8dd972ec855011fc4d3302ad2ae16dfad05812ae75d6eece275761587242099fa907d67";
-  sha512.doc = "a5a56a912b1b618999cec4b37fccaefe6f1e00f3b84f6aff8dd6b9b3ffa1855d25e8af8b49d04112829d7cef82f21b757772876b75cfc910a4dd5c89920ce131";
-  sha512.source = "ddffefcb640de660f1f9258d7bad92c40d3ce73017c53534389ce1d3e772214bdfcdf7a4dd927201aaba096533d7000a84871000772762c2edbfda9d1d11d9bb";
+  deps."iftex" = tl."iftex";
+  sha512.run = "29a67f9c4414d08adce673ac2b501e92be5822470511b55677b041fa1d89b55760246fea08ba0f4cac7ef6f8e7ff52498f0459d50f94bf2bc6b3e4a944976a99";
+  sha512.doc = "24bceb74337abc4ae74bbf9101bd32cc65371d60a0461cec91c8e3ecc3822c848eb8c7f0bc8706ec1b2118294df659b44f3139c3a3ed1c0c243f9654ae1b3d6d";
+  sha512.source = "89a91a69a45100324b24c5cca3e0bdedc8dec2a466c414e65044f55a6c1ec3c715946dd5c5ed942fc9dc8f6a597fe5f2075dd7d05c88d241da4bccb27ba9cb3d";
   hasRunfiles = true;
   version = "1.6";
 };
@@ -11257,13 +11557,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "datetime2-romanian" = {
-  revision = 43743;
+  revision = 56394;
   stripPrefix = 0;
-  sha512.run = "9167976dca51779669fbd91cc54ceced2f0dd6a97610faf9e55bd51a9e5c0ca3c8096c143a71180f0d572d1f1fdca5c72feccdebb58c7caed6e3e33a21c4b4a1";
-  sha512.doc = "62514ec016e7913b74e8c19624aceda5b258d1e1972da97b04bed2565f1c4ac0c694e695e6eefa528963f0375c3866ea4e475747e6141f0612dad2db8e7a1b7a";
-  sha512.source = "617a1cad46eeb6c2c0cf434fec3d436e471d4cc25224c99cb3272bfd14eaecdf3f63862ae61a83126c222f9215b244fdccf101896469e64480991187878eb71c";
+  sha512.run = "fed59ecdb496fbad41a5558526671cddf9cb487f50cdf103f61141fb1955170e54dbc3fc134ef51a2867715e7bc714dbf81bbb11e6d30c324a87492870738d39";
+  sha512.doc = "7c65be46449bf92e2c41623e785c6262c710de23527ea54c505cbe155af50dd9e9831780dd380b3d0c44af7607bc59fd3b168d700c1a8041642bbe4b4ae9cd08";
+  sha512.source = "58e3773e40d6116f5cbb6f2a46d33fb6d557d42887efb130c051c24fd991d8f0709f5afbc8e6ee9b5ada21d613d4d8975488f2e691bd0951c5f5429eda7de61e";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
 };
 "datetime2-russian" = {
   revision = 49345;
@@ -11382,11 +11682,11 @@ tl: { # no indentation
   version = "1.0a";
 };
 "dccpaper" = {
-  revision = 53412;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "76d73fd1e3dd94465a99e4aab6ad0c411626fbd5ace6edec6a185359fdd33dda507e86d55d7ea182490626548785df140c7939ed811b3c23ba06227dae293151";
-  sha512.doc = "f0c725c43911a38bbc8ee03f77382ce4d1abee5af1d57a12910c67f0eeae9ffe3b44f0a33d916e79c5a54b1fbd16bd5e440848e51996c4d13e200a714704e934";
-  sha512.source = "8da6ebb5ed65d94a020df98597411fb886a2f035566cf902d22708def1a44c2e848c2904c65893ea0b7d0c96a5108c9895aac569269594cb73f5200525170de6";
+  sha512.run = "9b588aa8d8c7cabdc60eb1c617e9ad9b308abc4a2c4b9d553ce2481ebaf740cec27b1840dd44215804f75e58bc9d4c81c35e3687614c928ac37681ad1ccf2a07";
+  sha512.doc = "be4e3ff335c6be69e4563886b1931bbabcccd85c77bdebe22105044162afd7e6cba1f27275811fcdda599f64869ab5f1a04f7706f4ca0bcc4e588874b9b03883";
+  sha512.source = "fbf2bce2b7aef944942b087df689b385e17d3653f788b86de676b1fed61f8fe66d64e865be81b1c3294ad54b13d00de39a27da04e7acaedbd4763197603c54f3";
   hasRunfiles = true;
   version = "2.0";
 };
@@ -11407,11 +11707,11 @@ tl: { # no indentation
   version = "0.2";
 };
 "de-macro" = {
-  revision = 26355;
-  sha512.run = "5ce9beff85d65654173557af668ff15af6989d9fa6d341fe9c26149d0715ed7cf57bf5b2a59b6cf99e8ec14e4ebb6816e9972268516a0b2a78ee13c6423b3599";
-  sha512.doc = "05793930357ad58a57e221696d836895f02dec82cc93b9aa7ea302978bee24410d4b382ff72407faa67f4133c75a84fb2454957de446beca05606776c6581ade";
+  revision = 55766;
+  sha512.run = "36d6d47e8d2e04f6f6acbd46c9ad87e7b2e2f2f2dec9f5a06247e6955bf0a8efb3eb1593b6534b8e16049d00a3e66207e1627fd241d98b661dfd78b9f30b18e1";
+  sha512.doc = "2c1cf50f37fe354582ff8cf1232188d3e6df1863747d04659e27dcdc1cd4ac919eb453c294ff2c0e13eea2e633e0ccccd2c3c12f9894eacd7f74dd4f6e2e78c5";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "decimal" = {
   revision = 23374;
@@ -11421,14 +11721,22 @@ tl: { # no indentation
   sha512.source = "a880091295229345290acf605feb833489976ed3b661b403c8effaabd07c48730ac958a4b48dd48d429a3f031413c1392f4006b820f04e3dde6b2035a948747e";
   hasRunfiles = true;
 };
+"decision-table" = {
+  revision = 56164;
+  stripPrefix = 0;
+  sha512.run = "af023c527e7624448cf3c745ad4fc6e4216231f267707c635b6465f42a83eef96fb55ec2a44ae180a06375493abfbc070c2e7e40f72c5fdb67f3d1248221a48f";
+  sha512.doc = "4866399fc44b5c87e2fb5ee125a9063b22b0d46082448cdca3518a658eacbdbc968078cba246bffc2ab7a1085028273f010d6a93302027b4c7aefcce5d5d7ba3";
+  hasRunfiles = true;
+  version = "0.0.2";
+};
 "decorule" = {
-  revision = 23487;
+  revision = 55230;
   stripPrefix = 0;
-  sha512.run = "e5a962002f66d4d3a5c48d93930ea2e14a68226a1beb9f9aee5b7936ef51a49b4d9a249b7a3038d5ade41aef8388ad78f254973e7ef3558e42848409427e5cd7";
-  sha512.doc = "533ca67eabadea3125dc359a839d5b45b5e1efee88fe74b4a2b911014b599930419a49e7e0b5967e5f89d29e1b452d223faae3d31fc3f94c64cb613907cc2255";
-  sha512.source = "1d612d121367ec69f578479001602aa2a25251edbb35c495a13b636e23831e8dca5f7a2715ad6fc5f3b5e3fbf3769d0b90c88949f5fafcd8d778e8489a80892f";
+  sha512.run = "783f09b3810616b14f04dace838ed1ed2faf32ea4df84dd0973df375928e16fb129ddf6429fc54560a317da0a9422630becc92543e1a1da76809c4962c423fc7";
+  sha512.doc = "0c13e2ff2744ca2d0e32446a85cbec06d832ce1fc8af5a719f3c73ed59e1a85461d5f51d33fe5a51a89b209f80196ad52609e83adbf7cc41336f5bfae8c4389f";
+  sha512.source = "84ab7801ab7b0772ffa3520a42e132007e05152e206072fc1ebb43d8d9675ac4929ad1abb30d8111db7d825f05d37b038ecc923267c5095ed62a34cf3955dc20";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.7";
 };
 "dehyph" = {
   revision = 48599;
@@ -11437,12 +11745,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "dehyph-exptl" = {
-  revision = 53316;
+  revision = 54512;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4f4e9585f959c51e3700121785217f96d34ab1c8d9af59fde4e3584eddda75a1f1384427992d8335581ecf53c89a5364e1330abeee00c17b318a04870d9f2c3f";
-  sha512.doc = "4469deb5cac413e37b57af14e41c8fbb55fb5c840d4951e79105251b2b362c13417f1811716938b4a2074296845073fb3a13971addd0284207c0c48067c5f719";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "48e440845cea208c4efa60ced465b37b82eb0c6bb1e27b72226863d39a32e396d2d108a470eb2a6695d65c1297292389ebf24b65e59807497d51df144722a330";
+  sha512.doc = "261e48607f41218f0f1cdc59bff7a24289aca1c52754339c4173b7724139e13aebe52d1cc06e565c9ea5291bddb0f2a179c7212f9ecaeb3aa91544b3ad5df817";
   hasRunfiles = true;
   version = "0.6";
 };
@@ -11497,26 +11805,26 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "denisbdoc" = {
-  revision = 42829;
+  revision = 55474;
   stripPrefix = 0;
-  sha512.run = "c713ac155e390d3fc75549fb7ff6e3ba13ebf3b3b1a0c001dd39f6300fe2b55ec232221d5aa07b84c87ab7daa971504c20e5f08f033ef5d36dcf9af097128b74";
-  sha512.doc = "561342a0807ca00550410463755c0a348c97e2ededdfe7e6b55c99e34b8a93928167b33e1ec0a7529de6280ee5cdc4001f051234b9c4eec9c41bc2c560bad62c";
-  sha512.source = "e6c27403b1b6603aeea35582f91348a65a5466679a51da2926be278947415f7bb16104220891c3322423115aa973f66ef820462eec7b8680d6020c8364080c52";
+  sha512.run = "60377f33d9a8b17e010ce58ec56c3727bf9ac8f168d0124a3fd2743d4e7eab67c64a4277f9c3639e7c73098f5ac465e13ddcf13f40fa5cb1176c8e21e86aa0bb";
+  sha512.doc = "23b359e65d42d951f1767049413956fae16f89748358bb0bdf1e15c7a32e2612cee6987574ee36ac9fad637b63d507471f1a4854d0bf749b8fb33bd8b90cb45b";
+  sha512.source = "86d3beb7cc5c67e0482f18bcefeb75644047330af1500d723b58efb82a7cbfb911d389e186401a290c1ef4d209f2904644e4c5f07569e2527285a7fbfca0cc2d";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.9";
 };
 "derivative" = {
-  revision = 53654;
+  revision = 55890;
   stripPrefix = 0;
-  sha512.run = "e74c2abfcb29f075c11545aea4665a06edc93f9cbcbd6e687ab1a1c7b07d095c1349225182862b020b8bdf551a90468ba7357f3138d847a2234ca2351f3383be";
-  sha512.doc = "5b794da3675ee46ffd1951b1887487670e26d22a60a3665c5120f08cd931bfa562b5cf97b8690db966e10583b5471dc26956dedadeab1db4057287db64ec4485";
+  sha512.run = "afb3a5e900dd77e4d262320485ef0526c362415cf68e2b0d199c388980211a8c21caef3789fdfe348f290563373823fad4e3881ca3bb11f0974a30fe49f6ecc3";
+  sha512.doc = "800dbd742c60548ddab9d66cd97e142b389f81f3719ca34c6027d69ccae2b790480261eb984c1bf3d8775eaab29f607ebfa2eac6d778f36c999f083cf7ded323";
   hasRunfiles = true;
-  version = "0.97";
+  version = "0.98";
 };
 "detex" = {
-  revision = 52851;
-  sha512.run = "cbdae140b0fa1e5e0afc34548a7febc92f5c1f2981eaf36101ba12857303e1a4f4152e7673393c1fa796e3fde783119d7ec2ca5081f5e127092cecd8c64a2050";
-  sha512.doc = "f60fe0817f1f53320a7f1a54b65e7a39a11c519439a71c379dcf4a9472c5b067c5a687ab2c0145f5229606c4ef05d2d498d4def677d9d5b0fa0fe99876b56c38";
+  revision = 54512;
+  sha512.run = "f1ad27ff8c6e38a330947f3659ddd4a1269342a98a67a7facb64a7510ada39b1cfbf99afc4704bcb3960295b5e40e2648585def330e957013747565c369de215";
+  sha512.doc = "1a7492580a0c9850d4071b34db6a7c114724d50aa1c9dbd917330dc272290b26197581675e47cce62a1173518f89d3358a431a2a78546f6525d456ec7461dce9";
 };
 "dhua" = {
   revision = 24035;
@@ -11527,6 +11835,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.11";
 };
+"diabetes-logbook" = {
+  revision = 54810;
+  stripPrefix = 0;
+  sha512.run = "427912b3eeac373ba82f99b30a6ccf360b285a119248e9dd2aa175cfb7f2538327331d9e8eab7ff62cfd987466352c08016313f51b8651c4b42484fb6f089bda";
+  sha512.doc = "3a8c1c45b24d23ff236ca2d8bba6ff6d9ad055a688b5621a660cefbdff4e1407d71d96420cfa39dbb896f8035e6d5a2bf3f33fc2e80074527c9a41fcab72f976";
+  hasRunfiles = true;
+};
 "diadia" = {
   revision = 37656;
   sha512.run = "55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68";
@@ -11535,13 +11850,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "diagbox" = {
-  revision = 53737;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "b9508c1073b88458ee80a63cc1f10a22a96382da7790b54c80bc76e9f7a0315d6f1b9305e373bc4b4542c4c5a6a647625642d021b6bd01955b531bbe59cd3b42";
-  sha512.doc = "07c4a00573a4d30c6c52195b66e8293e575bf80f448cee7e1384040f0ea057194051327fda9719c95ae43e8c249391845803de7c041945a3b72c9c252d8492b7";
-  sha512.source = "bd644dacfcba987a0909a58105696aa8d9ce9e171942509083c6418ae80e7a4964a553a641dc5be6d54a1b1c20ff3319adbf4e78f30705134a2e7b4620c58d08";
+  sha512.run = "34d2530343877efebe9ee53027253ddce0e59df3cd70900bf0f040905f34a8ad9d41328aa3c6ecbb622f7731f3bc9c4fce289caa58e2c1db46a6ec1bafefe6ca";
+  sha512.doc = "96310db4878e417f09e6202e5ca86f29524af5c1292ad8fed2563f1872e094be1249c4753eac5129c68492a5fe9ea87857783e2ca9af1ab77dfd1ca9b3309b2f";
+  sha512.source = "65ac012205c309099ca2f1a23f6446abb434a1a9c66a36d75d15021eead74feeb70c21024386fc11b223386100404b35a0ec3571d24aeec13b5513e60b11b3c4";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4";
 };
 "diagmac2" = {
   revision = 15878;
@@ -11611,12 +11926,12 @@ tl: { # no indentation
   version = "0.5";
 };
 "dijkstra" = {
-  revision = 45256;
+  revision = 55661;
   stripPrefix = 0;
-  sha512.run = "2b3d6d68c6e3eafd1c88eb44c8ab68f27dc77326ef43a34119679b0dc1c1c584db8568584956617354f359a52792c6a2c0104dddaa1ec389004dd673ca749136";
-  sha512.doc = "96ed892f5c910421eb5cabe54c4a7c6caf4d9cc139ae7dfe454fac9e3275d3dab4690db877bbe8fa303523f38cc563611ee5270949a6d2fa8d7d2593c1bff06a";
+  sha512.run = "c44121120afd9bc53e747ee3a5e11f6d72ab140f266ebecab5c57bff4fe8e10ac07e140df4b9a21482d61d3d40ed5cda3e7511e83d08214c832ce73bca00f199";
+  sha512.doc = "b258ff0230ac4b21a944602ae3382bda2ab79f162bd832a2b18e724101de4475218aaca09afbc23a7309c15a2897e02380743369ee681186ef577fb60745f493";
   hasRunfiles = true;
-  version = "0.11";
+  version = "0.12";
 };
 "din1505" = {
   revision = 19441;
@@ -11727,9 +12042,9 @@ tl: { # no indentation
   version = "0.01";
 };
 "dnp" = {
-  revision = 45701;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "9cccb6befd2059b13571e083664e4c85215cc12c96b41afdd9efdeb758b444a95edd4c2586ee1b44dca70fe31f38c4eea821cf08cc1237a82d67e0e567d65d8a";
+  sha512.run = "27a4c150b3b5e3fa23e0df55289154d44e3eaa55330544e426cdd3126f8ce0308abcc17fa5a011e12d83460616cad039cc483f08d7254b64d4dae933db6273d9";
   hasRunfiles = true;
 };
 "doc-pictex" = {
@@ -11746,13 +12061,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "doclicense" = {
-  revision = 51332;
+  revision = 56445;
   stripPrefix = 0;
-  sha512.run = "a66bae24e43e619dfed88b039b8fd44143a1ee1c94a7764d49f7e5d7920f041deb66c8c0ebc91ddc19e7725895a5e5793196724b45945cd31675765caf06a236";
-  sha512.doc = "d0388a64e6679007965b2c1075d730f6b25a08431bf9bacfa8cab8890ea809150c334c96730d8170515b552e5743784c07424ba34d9033669d8463744b5ed5e8";
-  sha512.source = "6c40642c3bc7eba7949da51c7703aab84033596f541d0fc433d5bced75c8be4666b4fd43f6b81119a3e4c2e73a7776aa452df2be544b91ff97c827b925a3df93";
+  sha512.run = "598d81321880bc9c2c3a732644a9933f4f92af76ab483ed988f67a643736e3d3a0dca6e25c262f1935ceedbb888a271b7d16fac3a90b8bec8bc13d5745d68cbc";
+  sha512.doc = "7190733ec4f6f5987936a4bd23ffb42ae2e1aee4d1d7066885dcd8ce2383e4e32f704b82493d1b36c99ad4bd540864e760e9ed084ffbea0ea7b89e2bae523519";
+  sha512.source = "d69c290d8756f6c315b4f5de231768c051a823d7c46d8876ff7b302a722719d92823c9abd88760e5b02e24d917eb7efbcd378ac9a0035d7c970ed68c5aa835c5";
   hasRunfiles = true;
-  version = "1.10.0";
+  version = "2.2.1";
 };
 "docmfp" = {
   revision = 15878;
@@ -11796,6 +12111,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"docutils" = {
+  revision = 56594;
+  stripPrefix = 0;
+  sha512.run = "13a31f6925efd5cb0e0ccc632d7b8ff80e15a2e95399779ba33ee6e0f1d3c1a3f4a397dcb7fe33455471ec65e6fbb18d681349a43b24a083882c23aed5a0b036";
+  sha512.doc = "1748ee0bfe61704d8174202dfaf6a674fd52ba154456f6aa18cf90b2248be90f12bdb36993cfc4a701a8aa3037614c2f86be93ac8528f3da3bce96a611cb5748";
+  hasRunfiles = true;
+};
 "doi" = {
   revision = 48634;
   stripPrefix = 0;
@@ -11813,12 +12135,12 @@ tl: { # no indentation
   version = "1.01";
 };
 "domitian" = {
-  revision = 53938;
+  revision = 55286;
   stripPrefix = 0;
-  sha512.run = "e52d996066ada71b5be5b63c44807fc6f7b0fe1971411b3c106f9e122f64bdaba8d1e70a315b18dc2d94ae15daf5e5990eda6d9865e21f172556a5eb55db9eba";
-  sha512.doc = "7d5bf1324c70b321c5ff795e6113ce5742e72fd2da32332b27322960bf32199dbfd079408c7c0c60b542b6ed7d456e7e77a636bf44238149fcac2640488d99bb";
+  sha512.run = "f228d1670e7904b08ba6064d0d1e8c23432fa826d52229d575bc2067e27adc904c3684d76889a8beb4885c3c9de5cd4a5004b9afd3f7140ae5e90d36b4961b9a";
+  sha512.doc = "81af6be4f2707ec5d46d5f78d459f42d81e0cf62a17a8e695e42b666076637183447a9f1888b3f4c84e4832362eefe01b8d8dc5d748a640eb8e20c72bdfc1f3e";
   hasRunfiles = true;
-  version = "1.0c";
+  version = "1.0.1";
 };
 "dosepsbin" = {
   revision = 29752;
@@ -11879,6 +12201,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.111";
 };
+"doulossil" = {
+  revision = 56407;
+  stripPrefix = 0;
+  sha512.run = "f4260c3849929daf7d4d3de75096111e9004925998a251bfe759ed0b494b3da88634989f77597cfbd5277a94646ef56d4313ac12bb90431cd5c13681123998d1";
+  sha512.doc = "0b258cc6512eb3fc01b193754520431c492ce91d9b3cd73d192e98dcbb9f4fe9190f89886fb0f8d453016ed8d0a89943b3356026da625904d26ffbb5b686b229";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "dowith" = {
   revision = 38860;
   stripPrefix = 0;
@@ -11915,6 +12245,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "7.2";
 };
+"dpcircling" = {
+  revision = 54994;
+  stripPrefix = 0;
+  sha512.run = "d102312ce1c70eeb9cfb279b065197ebd3ec6d3f54a47de55a5cb9828e76b2e690823a2ea19a935151c972f791783fa41a55adde03aefa54eb2b3fe3da0ea677";
+  sha512.doc = "b1b01183f3490897b9681927676a7eafd01367eee6ea2fcb82fdfaae59294c67d96036ef67093fab13f0493adb9dce56f4e420b486bdc5f94e8a7801efcffc4a";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "dpfloat" = {
   revision = 17196;
   stripPrefix = 0;
@@ -11958,13 +12296,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "draftwatermark" = {
-  revision = 37498;
+  revision = 55719;
   stripPrefix = 0;
-  sha512.run = "10cc5a9f6ba21ce87022e0f45d4f4cb92c4aaf8e1a4edfb5e78d24f8cfa1d283745db0d04f32ba2943963677bb3fa934a1f410e9148baceeec23b70436682a1e";
-  sha512.doc = "5d7d9d4dbb18f452e917f91a5e67f46bae4f0ac2b8088279832e32d9e7a7fca1230a666ea1031c258ea3882e7a00d3a071864a20a75b523bbbfb12e7a3da0a4f";
-  sha512.source = "01de29c18e5ca16c0cadfb171c938fc444feb7e3dc558f9283cf4f9260a94c02b6ddb007eed1a296d60c9aceac3cf370ee2e9c3fb63f6c16b25397b837fe4993";
+  sha512.run = "5114ef5194450fcc4dc8230d5f09d52d29626954b2dbca6b2c733990bb8ba725fc5f8141020e456c9a4b008d1d19ff0ba960bfd04f810c2dff69951184b67750";
+  sha512.doc = "da126f371e0f7dfbb62058a7e839d3375c05456bb30ca99e51c51e962b628a1d53b8de1f79a59c960aacbf89ef04ff51ee0c5017f1c20c38299486e0533d0a07";
+  sha512.source = "6825431c088ed8cf33d252685822da10f06a17ead54f809639bfabc3ba5dcb30aa0e0b71810f5a9c60ad771c30c11fea43e57b7cc0e4d1be95b7472aa3c2418c";
   hasRunfiles = true;
-  version = "1.2";
+  version = "2.2";
 };
 "dramatist" = {
   revision = 35866;
@@ -12008,10 +12346,10 @@ tl: { # no indentation
   version = "4.4";
 };
 "droid" = {
-  revision = 51468;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "e2fa1b84bde04858b16b39a559478005a6585d71ddc9879d6e54130970a1f0f6e45e584f9635f457af8143093872541dda0ad98fd647ef2af309b0d0badc813f";
-  sha512.doc = "82613922360967cced68b24fd997b06ee8a082512f6567c4ae17f0046972eca84ec1e154d78ba196eecd0aeff8e9b7adae12f3b7efd780e1eb1e161f8b18ebe7";
+  sha512.run = "e57eba23d2b7a84ca36be4b0a2988870a89b69a5c2f423d8961c8fe38c074cead0760c0061a545518959145ead02a13e321c5719cfcd7d6a575b7050cd74ef2d";
+  sha512.doc = "d1f86ef4fd82d955e5f6560b1eb56805bbea621358c3e708f5c07d6539d278a4e61fed680afba425a212eb7383bcdc1d663d492b4cd716ba2c1872f9006350c8";
   hasRunfiles = true;
   version = "3.2";
 };
@@ -12048,21 +12386,28 @@ tl: { # no indentation
   version = "1.0";
 };
 "dsserif" = {
-  revision = 53384;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "70cf249f7e3fd88d03fb7ba2ce07f21a6183a7ab465e8ad319c53aaf3e800ec3e4a9f12226f1302490a316e88c0571c2c9d5310dae6e10c0714527da271c174f";
-  sha512.doc = "ef40db14eed4e267e490df95147c7c5854fe034128f2465fd5dbbbeda6e0aff1267e00daaaccc14820e788957a097cb9c3116c6fd923f9aad152049866025848";
-  sha512.source = "c8ce0770faf0072a23552ef606fcfd80de18effab6e8a40e2f54a1a13ef23d019c81578b95eb9b421353f566e2d32009ed646a1bceb27b224e6acd11846782c4";
+  sha512.run = "d1f173c1892acb75e319fe3e8702b5c8ba233ba3b236babd368c3a8bb47ba67de222e6d80ed65c17de9d152b98a930b59c74dc82fba619c2b24b4dc8143d5890";
+  sha512.doc = "a8a6c9224cb7a55d12d8825d108066038be9ceb3ebf50caf796dc17a84f4d9d615507778934046b8944d235acb3f829e7654527cf485c9bd2562998b376f26cc";
+  sha512.source = "01fdb50fc1d1cfc294121882c3d05ed0878caf154f71f2b5dab6e21f3e96ddaccccf9da49d7aaf000a47c69f890a600d1914fce892d5efa485964140486ee950";
   hasRunfiles = true;
   version = "1.01";
 };
 "dtk" = {
-  revision = 53020;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "c18c982e209b38a4f5d275eff1916f4b7670f2d4f0168d009d89e62d1692beb421b21459d994710e0d6ef3d6b6c09aa9288abc3eaedc9c0fe4e929ec24b1e4c2";
-  sha512.doc = "bae8991bb3e21a6f00d88d687c9a041bd0aef9b41b249c28d9ab4b9eecf91cea2189257791675bccd6796b4e745d4ab46ab7ca44c920955bd95b26fb8c89404b";
+  sha512.run = "e7685e9b2e1086cf4ad240ec807334d91719510cc35442d9ca495306a3a547d381e7f476ac8027acca50a01e09c9f0fe0e7b1fb251fa746d8bc135214d5da550";
+  sha512.doc = "1478a7a666e0800a8bf0d111140dda8e9148c280900a5a5b4564f72445d805bb905d8536e3a5ff99220fa508ec1366ec2da041429561dd311ca699c094f9ec20";
   hasRunfiles = true;
-  version = "2.08f";
+  version = "2.08g";
+};
+"dtk-bibliography" = {
+  revision = 56443;
+  stripPrefix = 0;
+  sha512.run = "be4ed6006ebcdb1804dc2a870b07fed385750069f706a4544b79efa4fae61ec995b8ebf5fc537df640f90b4fe25837eea2d37c9c333f299dc60521f91e7cfd2a";
+  sha512.doc = "1a1db35af817b7f392344bcd31115aaf92037b154e30fc4766f49c187a627de0fe555ef7216881bcf8d1735cf852ee2f40056f63c4b813322b4c09c9c3cd1986";
+  version = "DTK_2020-03";
 };
 "dtl" = {
   revision = 52851;
@@ -12142,10 +12487,10 @@ tl: { # no indentation
   version = "1.00";
 };
 "dutchcal" = {
-  revision = 23448;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "46b90d505661424bcc96d40bae09303193baf5c681338b5b2d526e51ba59cd56fd64a81a01710fb4911727a3cc4263e731754d82a9a2c021bdf73b6ffb15f5b6";
-  sha512.doc = "adbd2c44d3b2de4149dc647d4e88e46fdb968e6c6898c4de3395d51665bb147d0abb474ab462e75da028265d0cc6935f930f4397558d057171dd56a4999dcb25";
+  sha512.run = "308253e2b148cab892ef0ea5004cce0c3e3fbea4c0555b67f49e554734b16bc5be9baa08119fd0a2186360cef20e165b5133ce85c793eceaa9955673ec4594ec";
+  sha512.doc = "1ac89d2c4ef090edc8c354a3f869485d3af9c374da012fb51edfd22f0644d63a5c380aad115b6dbe83e70846904b722b69fe4093f4a7ac8a4a3eb1c1c97f25b1";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -12173,15 +12518,15 @@ tl: { # no indentation
   version = "6.0.0";
 };
 "dviasm" = {
-  revision = 52941;
-  sha512.run = "4407c22869b64e8ced5e48c41d56495404bf665cf5b9d4d252b71cc4a868696ad2f3339c4c92aca354d5fea4ebef294509e282fbc87136b12565e6c3c2de43c4";
-  sha512.doc = "a11c7b5e891958f10adf03812ff0a6123e8bff09410c4f9002e23d488956835019e5f54a5f130133f214831060992f2dcd7dc76b4497647b7005c704a7fa2d2b";
+  revision = 56373;
+  sha512.run = "9f726816ddf7a52b797cfde03ffb863fa8a1b98068bc75da1ea86f57774bab248b4d4225f936b4cf3388dbb776e775527e4125ff5d49d76088e4f5be7125f4e6";
+  sha512.doc = "b2eecfcb0e665059843872426611e4a5c8092a2dfe51a82593803cb84b18147cd28fc18fe2d9575d24fac1b04501f1e90a2f9f3c4094d452bc51b3a4db603f9d";
   hasRunfiles = true;
 };
 "dvicopy" = {
-  revision = 50602;
-  sha512.run = "34e16ff93daa924658b433affc70fdab01bd8d6c1d537cf1787389b8de34e7348aaa91a39ba3f3671d25d216420421a5ca73cff5de254fbf25a8433e20fda322";
-  sha512.doc = "a85e3cf8ee5e500264ffaffddf8ebe6642373f29fcca42c346654f304f34b9389f2e190014eacd215ca0d78debe44859e05696789b9f703fd6eaefc9bebd4ff7";
+  revision = 56291;
+  sha512.run = "97fb63d376d839a924a54e83015d5bb6c15cad05cb1a29b7dacce0779106e7c3f60e2ba057cb339a35f091e56ad7b7443001e04434928f2f9be87371de45847b";
+  sha512.doc = "d5b24737bcc8f035180525bc1b950caf0f7af9b8d4156047142777c830f719798eec3e33291c0d813a581c03fd5421df0a38ddf730b80b1664c34d1313e9c762";
   version = "1.5";
 };
 "dvidvi" = {
@@ -12215,17 +12560,17 @@ tl: { # no indentation
   sha512.doc = "61f86a23314334d7faa4f1ae0760aea6c5e5f77754a6a9b1d5952f09e3e15d3dead73a9f72ccfe9b9d7a022654f8d2e1e6e3051dc12bff574b6f053cdbc9b598";
 };
 "dvipdfmx" = {
-  revision = 52851;
+  revision = 56557;
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "9bb72d88bcb5c0cfe818e9490afe532029b8fc569764e02706e0301e901287d617c2111d854ea96db00e3567c29e78dbae42498f837c4cf429ffd5c098df565b";
-  sha512.doc = "121b8956d42fb45be7d61371661512f5b8bd75fc2b754ef97c7a7b86b6e43435425403c99f5ad9492d4c6feb8948b4d10c9bd67c621f1451fd6abc5b13dfb446";
+  sha512.run = "6bef794db94c8bfaf99351d273e2c54f76c5afc1d2542352f4e68e18c772e5dd36daeab2c5bc8cbc7147d17f608f31509262e55c8c04240d779b276b52c38642";
+  sha512.doc = "e271a9bd90fe83846ab557aeefc43e132b1fc4ee28790206a6e71813ece9509ef12bbe66b0fa90eb1e22ecff99c674d9336d9a14bf8c787ab9ea4b2e89c59d38";
   hasRunfiles = true;
 };
 "dvipng" = {
-  revision = 52851;
-  sha512.run = "abd26644c7980c2b2d10dea4d8ae54ee773fc9e417ca0cc053665ed814370b8ae3ea515818eed2171dd52a996c253e1269f4b3a9469f776d55ca429b92389222";
-  sha512.doc = "2f6a35103039d27cb78451a2b1a4832765f3bb482cae9ccd1aa368124f11648864860b87d31f3a81a489bdfd4c938572039c3329a8073be051d1386b2ef38075";
-  version = "1.15";
+  revision = 54279;
+  sha512.run = "0dae47e8007ef9aac53d92e1625ff21dfe9348419339c94cc42749f8313f97b99e2891256c3dab40f4a9b05348c8eff75d9fc97d98fb167c776399dad93b3101";
+  sha512.doc = "f72f6f0a5b30251ac2d947773254c5c3c6c09f52b6b34fe0162e3ee53b4681522245b4d5783a4d2dcdcdfdf587d56466a8d337313e8e4cd5cf8d9ef3c4799999";
+  version = "1.17";
 };
 "dvipos" = {
   revision = 52851;
@@ -12233,9 +12578,9 @@ tl: { # no indentation
   sha512.doc = "2bf3fd5bbd7b6e1fb8a263dd0e3deef358bead727df5de280342376225fd7366ff470b9c2fca8f763890d1047fe2c7a5b138ade1b5fcab383c8113e10f245199";
 };
 "dvips" = {
-  revision = 52851;
-  sha512.run = "c9ff911b92a757c1eb300f933f049c686c85d4ba09aabfcbbb87013fc34cf106fd5560931719e2f50be4357f9d83fb24692ba1ec24d2999fc3da79dbba02fcd3";
-  sha512.doc = "2d6950701b62654e303805bcbb364711aa93aa7eee8165944167046584c9686667304b70c6b8f43bf36f529e70e9bbabf1671cfb1749a4cb43ec9abe4fff353f";
+  revision = 56291;
+  sha512.run = "1eec2ddbbc5d211f1d38237289a2bcfe716fe41210d47f6f9111a009dc179ca3dcaefde11e49d28d4cdd26b992dfed7fca3bff3178a6ca273f396afc45118013";
+  sha512.doc = "07b00a4bfe557a04a93b22667f4854e2d55f76f33d2fa767d445b3301835aafafd4b8046b7126d5f516b65a743b1d0fe32a8fa3d0dc9b7b29e47bcfdfc790138";
   hasRunfiles = true;
 };
 "dvipsconfig" = {
@@ -12246,10 +12591,10 @@ tl: { # no indentation
   version = "1.6";
 };
 "dvisvgm" = {
-  revision = 52851;
-  sha512.run = "c7b33eab605df8488a6f0d25e0a0d7afde99016cc719a6b13bdbe68df0d1fce2c0d0996742633c392b0f9c56ec6aec307734b06dd845d4cbd2777c932b057d6e";
-  sha512.doc = "253a0ece82b4792bb30504132b4db8382b073bb004d1ab22ee8f74b339227171711318d76d59ed20c7bf66575758cdaaa9c4dc3199d446150971a1d57152c91e";
-  version = "2.8.1";
+  revision = 56166;
+  sha512.run = "fdf5a23b42d064283d81681c0f68cf4a8a6b566dfb842706e137754909e2389275bf1dab934c6f257a591d8079a0630b5ab619223a0b40f3a90e062c67944732";
+  sha512.doc = "b7627afee9db13729f95a0f9a5136a1ee679466ac4e48de440f791d578dabbc5333872cdb9b28dc6033a7a16e2185a33db24ed234ea67f8784c7520b5e0662f6";
+  version = "2.10";
 };
 "dynamicnumber" = {
   revision = 38726;
@@ -12269,12 +12614,12 @@ tl: { # no indentation
   version = "0.2b";
 };
 "dynkin-diagrams" = {
-  revision = 53832;
+  revision = 54948;
   stripPrefix = 0;
-  sha512.run = "9ca3c426525f48db3f2bd53ea6dd0bfa2c67184b800efbe7e5723659f7c0cda9bf1c1d2f56ae022783689490b4bfa47d5028c9dca02d534070bfd6f2a242c28b";
-  sha512.doc = "c6d3d0f6315bace752fc85f02bc90e118b66048631f24c82d72d39da56bbeb1f40bec61059c441e154b9f8002cc000471a6a5b34e5dad39acd8bc7d98364dfc9";
+  sha512.run = "fdbad30bcd62aab28d6150ab36fa73f2dbe9b8eded3b2b7d4c015cc018c26055740cde7d54c195155e4d39cc491df3463047b83e2cbfe58455647115d4f625c1";
+  sha512.doc = "3018e1cd235b871793d36b12557bf654809cd95c3c66e3d2da53fd5ac14b83b64d33270310a69a61b69266177509e70abe483200d3592acd8772bcc2e3a28f30";
   hasRunfiles = true;
-  version = "3.14159265358";
+  version = "3.14159265358979";
 };
 "dyntree" = {
   revision = 15878;
@@ -12323,11 +12668,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "easyfig" = {
-  revision = 47193;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "4c84122d2989fa90533ced69f6eb9d2536e6de9fbecb096412b6459bdd45225bbf48a512ffdf4fd3f8ffa8a582b47692661b3f4197fe76f911682582b038bf06";
-  sha512.doc = "9544e9d4bb98f78915669d8ed7f314e1de92a0fc5c57b6163a1aa91afa7c97bc0a0726fe57fb1f3b03d981f9d9b320f211316e0d1babeb3d2900f7f49e9a2fdd";
-  sha512.source = "56cb02838c8ba147b56fcae623f86566f9885c67bbc43ab0ff40fae18afa8c9a23674fe4923c8cf4de2b62ab268dab0fe6845fecf2af227c8cce9891e68bd626";
+  sha512.run = "aebeb8d9baa7df84fb637351a13ac7f69697fc11c17b0eb5bfb9981195df584e74665a8bfa8062441c5eaf690c2fab446e1e0bad61175ebdf4dad58c531cfda2";
+  sha512.doc = "b1c91bb35bfa67edd2d2abaded6e6b8756d75c70d797c7bfb690ba802c3be6e23be71f7410a358cc262cd807f88b45d6395386d108ecf5f7ca4189a266296f34";
+  sha512.source = "4ca04322f0c10a33acc2f4ccd6a1127aaca1a27b4a4b5b1897a0d589cca73118c0e05d367e284e3a2922b2128a221be8ddbb8a24af1eaedac508ef6ace39a540";
   hasRunfiles = true;
   version = "1.2a";
 };
@@ -12366,10 +12711,10 @@ tl: { # no indentation
   version = "4";
 };
 "ebgaramond" = {
-  revision = 53956;
+  revision = 54721;
   stripPrefix = 0;
-  sha512.run = "87897444a30627daa830f97f184766881e0c3c94108f0fdd3c83a56861827070623a1a374a579d7bcc27efe93761c2d326638a6f36708da5e785626efedfaf61";
-  sha512.doc = "ba927f6c72f6761dad70cabc51b5163d26e5679ebdbe55987eeae4cfcfb36353efea3fed98431fa93875c15c9a40cafe8db8d300c94531ccd307fdb4a1d71995";
+  sha512.run = "aa8717933733ddfa456b9aa7dcc6648b6150b0facd4b296c44e9b718e958ab59de887bfc39a2aff9cab55190a999708ec3f4600bd3b900f57ee76a420cd2495e";
+  sha512.doc = "6cac4eb927c4f302040591ff00d6333334297debd8f609a7ae5408991d69038a0440f8fc660a9d739c3abdf61fa5ada2eb1013180940b31f4beec628c231c770";
   hasRunfiles = true;
 };
 "ebgaramond-maths" = {
@@ -12381,9 +12726,9 @@ tl: { # no indentation
   version = "1.2";
 };
 "ebong" = {
-  revision = 26313;
-  sha512.run = "c16699e17aec0c6b8148b8ea224a3b2a0dc4fe1982e0b8dc5105f3a07075d99a07e743b55cb3ee23451a80d84e9887ca10c810c639b36a30c8ff275a27d9dcbc";
-  sha512.doc = "82fd3ee7c02b22bd42c38349a50fc61e78050040877f28b4f9e88f89ead962732b7e20f1999133074488b26d9609a36afc563d8e6cc5958829af22d2e3e44008";
+  revision = 55475;
+  sha512.run = "2553e46f91021de4fc9eda99ff45f8efe9b20b0663912b4339b22247d1bf7125f9be398661fe24fa2e3fae6a220025d47b05f4680601f7b4842d1111a6128d8c";
+  sha512.doc = "22d20c89883c6cbb95f3fbc3da3f4c5526c9c22b15ec35828bb03a1edf068573de0b35187a893c8356b50fd59c93ce4231f02ac4f15de4071e6ced73b9e44a57";
   hasRunfiles = true;
 };
 "ebook" = {
@@ -12394,12 +12739,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ebproof" = {
-  revision = 44392;
+  revision = 56139;
   stripPrefix = 0;
-  sha512.run = "1b8ba3dc47ba03fdb14af5e98ffddab51ba4ea2c423b959ea6b88f00e7b3c837daad5f43d4963de1f6a4b2f55527a45645783b0edf62dc30118f51ed71379a9d";
-  sha512.doc = "33eb4e25b0083b9c3844d4786c1f483d37e7a00f716ceec92c4e5a5e57cf1c8f1a5eb474d7f3c9e98a688174a16caab170a1853a6757ebc5ce0be837811a32f6";
+  sha512.run = "acf4810a0bfe0c2f931691d18c651e483691746e3fcfff2003d2f696db77550f2d7ba865793ed2ee43e702258302d911ff4ba9eefdb510ac6d8832546d9238d6";
+  sha512.doc = "3dda2c7f4cf7d7862c465c12b4c17b71b0a7ebe9f817724f645b141aa2fe3516f10902d8549c1dc9b5d82e9a902b29140dc91f9ac7887cf543a995cdb4a3879c";
+  sha512.source = "dde8291385a360b97df06ad77421f9b2d33352f4d7230d2cb40ee34dd0d82b745a3b8d8051053f7c4a6212d44fdb8f80faf1de1609c1ea6d7aad73e494046b5d";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "ebsthesis" = {
   revision = 15878;
@@ -12469,12 +12815,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "econ-bst" = {
-  revision = 53937;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "94b5c473100b1f6f900093f78e2a3a4b30482cb81a55ba27858dc12883e221aefb686b6bf6ad5bf98982203350d73b5e745e57f26f1fb8c62ab9f4a4378f7eb7";
-  sha512.doc = "fef5635f67b826505174596c98ea9e6d596a29d0a844ed1df08c6126aa50900626cf4ba2a09383eedf55dc3f95c459ac311857dc87de014ec1d6b22b6d2a2069";
+  sha512.run = "d3b6f06f66c1c6ad618a277c1db2021624d61f32271eebe899de9a6ffa10ff0dd2ecb22da64c1acc1122093a535a3af20b00fc7aa8831a1b0bc18e9032716e58";
+  sha512.doc = "13887967396b2058f7120ff3e0144f275b6e642e0da4eb69f51ad064351e02fc0dd362308fe5131120ceba7e6cbe9b4079adda0407fe76179a52e3ce1660fcfe";
   hasRunfiles = true;
-  version = "2.7";
+  version = "2.8";
 };
 "econometrics" = {
   revision = 39396;
@@ -12525,6 +12871,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.6b";
 };
+"edichokey" = {
+  revision = 56223;
+  stripPrefix = 0;
+  sha512.run = "c598495449919a67650e7afcc10924cf93f4c29e1dd32305f0581910aaea288d43e6c8c1b91ae9d849b354e343538350ef0d6e78513998a9d2fc6023cd3cf941";
+  sha512.doc = "07a8689d20663340d5398a26cd548bbd53c5e6d5c7eac00e9e6478c780e397e765a8cca0e4b41a7b70f09130a1c7fac5326e5f2c46b95f40e11f0ba88b1b3039";
+  hasRunfiles = true;
+  version = "2.01y";
+};
 "edmac" = {
   revision = 15878;
   stripPrefix = 0;
@@ -12596,12 +12950,12 @@ tl: { # no indentation
   version = "1.02a";
 };
 "ehhline" = {
-  revision = 51122;
+  revision = 54676;
   stripPrefix = 0;
-  sha512.run = "d0549e354c34d1ad76502ccfd565292074a8e1aa72f021c9efd8dcb39ce9465ccfb0add899226775e82e9e90ad27a7980d5f79fc8a5a71a449a8a17845384918";
-  sha512.doc = "a3c436900a964fecb613469c5beca557a0f923d1c651591d9b884f88f127c435081a5fbd2f4129041f5438536901feaa4697b59a011064a4b4822ef6ecea5068";
+  sha512.run = "759e123a2418acd7239c4b897e64c146ffb84cc1646d331acc5ca498f707b916c1392f3fb9b97d2916d745e9afcf9c630a5a94e413ecd0c17fc2a8b13f773d3b";
+  sha512.doc = "79db947da1c51811e834999889c3d089e2c5077d2d21fe133f6879a87afae4e2c7fcf1f07981ef9335a6b7234f083e74e21364be3526448ebdeda6ba75815fac";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "eiad" = {
   revision = 15878;
@@ -12625,26 +12979,14 @@ tl: { # no indentation
   sha512.run = "448f3b51c984a1ec81428c1840ba01d072cef4d1110b85f8d4f4d786d02e8d08e702e0b33e757035aecef1f43b604746c7b6f492905fbb201fc1a34ca6fb859e";
   hasRunfiles = true;
 };
-"einfuehrung" = {
-  revision = 29349;
-  stripPrefix = 0;
-  sha512.run = "e346283ecfc6ca35684267e8b11f2800c6715378d84c4896e4d29557fbd97e57665a45503e7cab7cb7def679914b7d737a222e05eaccf543d8d2f7370ed49792";
-  sha512.doc = "1c012e15159a2c4940cb7bbcb17bf3675c2b2028e939acd3b1c98ff2cc377b55a602f404900cd4eae3f03de74a98d61f6db0de9ad90e8598d9f49b398b5a6a83";
-};
-"einfuehrung2" = {
-  revision = 39153;
-  stripPrefix = 0;
-  sha512.run = "affafa673dbb2bb3bd935a977a809bab30d01c92f8c9162eff337b635b57993e884c9d96398d39acc16e470a362276579120f4ab27e8cf8111928b12e75cc72b";
-  sha512.doc = "4a4c9549a7957688071226e4383dc9ad3c0580c9e321ab5a71c75806477a2156ce74aefa6dff95a329c65ae8ae6eeec9fab6f6e1f689a827b7050e457b248093";
-};
 "ejpecp" = {
-  revision = 50761;
+  revision = 56188;
   stripPrefix = 0;
-  sha512.run = "eddfab8de433480327dac32762640d610fce78903630bf0b8b26548024764d5ecf1b6356d6a8d725eda75f075a0b8627be6b90117a11a6dc39f0fb0e60eeb155";
-  sha512.doc = "4131b375690a452fddfd5124611bd37017913cac6ade1bbf35ba01d2656f098141e2bfa83da2af7a25dd814312394c127fa1dbb0fd61a3e0f511e8d8c9e6d608";
-  sha512.source = "0d7ca22abaf589a795717bc09b06b9d4b91b030880510a7696dd93f8d4dfea1320a417da18659dc4e1019e5f66e178c943cccf65842da611684a1ab543ce2097";
+  sha512.run = "599c97be880d075dd814ce080c408d3f42e4f1b4a2b218d843ac4e955429076e306b25f829d999ea48f4b6e2dc0ece9fd80601048bab4cff84254f5cff9aab32";
+  sha512.doc = "88f646457e9e6e711a3b4c874b9986c5f8ed92f109237a2c77eb7ac4dc4df457f07f394e441f27ee28343cfa6126bde8ff501c99ee15b4367478baeff7028264";
+  sha512.source = "763efe6fa376b9d6d82495823c888bd804c04478530811e8ad60ecb6956ed37261a9e98a6d3247532ddb76475fe339e7e7c16c88f78ced2fe64dea244be8a504";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8.3";
 };
 "ekaia" = {
   revision = 49594;
@@ -12655,6 +12997,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.06";
 };
+"ekdosis" = {
+  revision = 56112;
+  stripPrefix = 0;
+  sha512.run = "7f7cbe7a8df107562afab92b8e550610d6962925fdb21c47dd821fc2be58ed95f90278108a6592a8a8b8d1898a4d567cdc01987395c315407a94a917f5b4ce75";
+  sha512.doc = "848c7ee3a706f510f557000a2f8ebe9edd5566eb07908fc351839cdfda12f2f07793abeb47484c0c5aaeca897e3e1ad858151ca79fc528639ea1acc81a0fbffe";
+  sha512.source = "2a2b663657c752c9e3dfe1e91f8b40b6de3cde0c2ff8742b84e7bee11aceb584f1402ae038dcee3ed4eca20363582ccbef7bfdbb33cc42c550b473fc3440e0bb";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"ektype-tanka" = {
+  revision = 56070;
+  stripPrefix = 0;
+  sha512.run = "0ee215be886bed429cbfd139a0c00fb2a2aa725a4a08fed0029daa3971b9eee2f1c2cf85712a687bfefe8d29a3cbc2a96ca792bdf1838145e6513f6988549be5";
+  sha512.doc = "ba3ae2e1775b8f21ec5dba35c0978d1eb03a448f8d381a9588d9cee8e4bd8281428f63b5866e830782f03eaa26527798d9ad153f64d9e7f3780e253fd935a9b5";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "elbioimp" = {
   revision = 21758;
   stripPrefix = 0;
@@ -12692,28 +13051,28 @@ tl: { # no indentation
   version = "1.24.12";
 };
 "elegantbook" = {
-  revision = 53747;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "9161124e17257a15fdfb9994d8163a9ac29852b7b67f007a270862690166ba7fd567154147a91bd191c57e24a51880256a00b4cb7fe4a2effb5bf0a6949be681";
-  sha512.doc = "ea9eaf95ec5b6e83f7ea51af43ac3107da4a6cb9393f0037e71be4a6fccf201e116b8d47119766e6c4054b0d243ec28f501c300954c1cb7b3ab95513c4db2809";
+  sha512.run = "dd1f4c8ff1367ef753a869e202bbe34d480e142de46dc91f4755d36c88fc346fd2717628e494eefd9967172e20b6f35b52fc37282237859ffb4944da68c4c534";
+  sha512.doc = "5e58435a14eb47a99999e90e957d87ade2f78f952018a76d588cd76f72b94389ccb2414e8061f43797378e4f6213ffa57f3573aeda5c83513291bca158686960";
   hasRunfiles = true;
-  version = "3.10";
+  version = "3.11";
 };
 "elegantnote" = {
-  revision = 53061;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "447bd06f4fe7d1ec3a21d0d43e49ee3a10c50c107fb358c0dc3b2e522a625e9b69f544e30a5235cc0bf25e98c22c3dc36cfaad9fbef076774bdd317c480cc341";
-  sha512.doc = "72ac88b89b70499ddd5b52147094585267ca6c48bac1387852742e8562f3db8b6577951b22225d5bf8f5636eb7b3db7cd0fa092e7e8225c7358e1155b919f864";
+  sha512.run = "d19bd7b5a6862b2997296bf43123bbf88e48e0c5662bb385341cbfd0668de86fa5a9778a939ffc9d8eba64bd3fafb530a1ad551ac97558f0b8cc8b6e06422676";
+  sha512.doc = "9ce01c24ba84437023a45660c08049da8d81ab09f2e3f59a852177d48b78bd22cfe74c57ba502d7e8a2429c39f553c93445c2a6e5903808b18abe661a3a30b17";
   hasRunfiles = true;
-  version = "2.20";
+  version = "2.30";
 };
 "elegantpaper" = {
-  revision = 52420;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "b7fe545c2c9d2e55e0cc9983bc2158d41cf550b228bf3357b8a4a051a32d6692aa7ff2b1fcba33e17cac2fb2852e2bf14467675aabd6b8ff6f1d40f89ff2ebc2";
-  sha512.doc = "bb99b00f8d826290757907db4179d74222cf4cd992c2bc7c3342a4ad97c2ca83d018ded548571b9acaf9b46d444909be60603710e56638781edf3c036817d470";
+  sha512.run = "cddb7f3c8e7b613c59d88ffdb24d2ead1e56f56bbfd13a94070c4573b928c326029a3ffc35cd441bf69dec31a44becf6bd27e96236e23b4359645347ade9f135";
+  sha512.doc = "5a1939b7f4408bc5af6b150ce9622f63e68c5fd8bfca3d219744aca09ef96d34874102c7194d4364c95a0d0f72198a3fb7ebd71d66aae5cf6f2dd0f4c09c553b";
   hasRunfiles = true;
-  version = "0.08";
+  version = "0.09";
 };
 "elements" = {
   revision = 52398;
@@ -12733,12 +13092,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "ellipsis" = {
-  revision = 15878;
+  revision = 55418;
   stripPrefix = 0;
-  sha512.run = "1a60250e0db34f3dca834a1cf276b2f0a5975709bec3ae3c7486f92fb3a5c49ac9b07bb3cfa18724f27504c8e12bc7ca933edc453dd0ecb65d63dc5f7fbf75e9";
-  sha512.doc = "35441d8562d2be79787f2d3326352dee2fa7a9a3bde500f4d61dc5d8d3eb4f4f782548d464fff74e0156664616342e4afa3a03bc91a2b6f8a028382c12c19e9c";
-  sha512.source = "68e34b002ba2e9763d6f5e84368fc1135d864a46288d16e6d7ade872e5205a09527b3afad4c0b3bc78509a4f8d91460cd22a40b8e031e37e9ecdece8b184d3e4";
+  sha512.run = "009bc55dac8eab88e27124317acbf9f3101959cefa4419b507ab74f49453f72f272db2b4826424f3d8c76efb50163c11d6eed63e1219cae2a2632bb629fba96a";
+  sha512.doc = "7d0b4c51008203729df1bd50d2c2a2568f2426b7284f0d58eae4720a032e4ab469a5db6cf5656e57ceb0cc9062a7bfe1f3cfe20c51a3d08c85d55c110ce7ddcb";
+  sha512.source = "65b536bdd6d5b429e2f1832b3d466bfe055be6074b43b60305b79ae9ea09172e3e7e82bf7cf3b4dfbf73507135ec4caa3d713c5cfe060fbc925ba7d2a8c09dea";
   hasRunfiles = true;
+  version = "1.8";
 };
 "elmath" = {
   revision = 15878;
@@ -12759,20 +13119,20 @@ tl: { # no indentation
   version = "0.03";
 };
 "elpres" = {
-  revision = 46429;
+  revision = 56141;
   stripPrefix = 0;
-  sha512.run = "e3b0dfc5c2da908b95a882acf37ccf56abbad0e37c53c4e8ece14b98401be3a84ebc4546b739ed8a3f5c30977522b5650c56f12028fbfff467b4cf0a53877475";
-  sha512.doc = "bd4b73534eecdc0e02184d0736684e09c688bef1658ddad28b0c1a952a63ebc87546c426e7bf3a9733bd62192d87d500ba3f99463830d3e14f30c0726d80cb6d";
+  sha512.run = "cc227f98285ea264fd390c6691a9b75dc66121d4ccfdeaf0af27aef52234e9bda4a04baee6a19d37c141891542986d0304132cac7432ae7d30aaaa255478133f";
+  sha512.doc = "ac98e3cd7ef046c4f0ffa00e13e3fc119ef3dd1a98c4e560172624defb16fd942740e15536762fa4d9c575d329fecb4bd35debf91f7276ca54b95271289cb2a7";
   hasRunfiles = true;
-  version = "0.4a";
+  version = "0.6";
 };
 "els-cas-templates" = {
-  revision = 53910;
+  revision = 54317;
   stripPrefix = 0;
-  sha512.run = "38872c8e042f91713f653aad4f613a54aed5f8b6de2bc9d93798239e2d2cd7f5b6965baec089433ad1368b92a08a7fdd9b37041d35fe279b22712ceb2b676dc5";
-  sha512.doc = "88693bd2873621c0afda517c6603a7097279406fb8f149d30c74d1a20c23d85d5a009f04b50e1c0ffaabb2bec92953a833a987b0a9a9ec4bfca05c4571114744";
+  sha512.run = "828b0e4a3a4e9df5d4373ad153a7c29e9da177f8c7b5ae796b7b94d1eb4cfdcf1f347f47895ad366524891f81ecf20fc86c3acc7f00d15835784f949f251ddc5";
+  sha512.doc = "559c80546aa4ebea603a70b0dbc103869aa3aabc857b61ec1dd958d0da163cc408af643518aa4f9ea68a94dd2ca5242d8f4c46a30c627569a4211394baa99e0b";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "elsarticle" = {
   revision = 50786;
@@ -12784,12 +13144,12 @@ tl: { # no indentation
   version = "3.2";
 };
 "elteikthesis" = {
-  revision = 53926;
+  revision = 55928;
   stripPrefix = 0;
-  sha512.run = "d52fb9c415354b154a1c49158cfc13f97c2d499def4942404671fe2ddfc363ba0f19e7a60a5e75c3d1a6068c94a8ede004de4eebdcfa9f0e10d183c59dfc4fa9";
-  sha512.doc = "144b4c5ac1ac38bf92b395d7d68d992a7ed2c6271063a0bffdd4228618dfda5f670c4c98f210f7ee84a2bcd7c56607c305709cdc19d1825ccd603a2c5a71c74a";
+  sha512.run = "d1aca54ddbcfcc7c6635768cf7012508ea00e775d5dc02ea86054542941d9438516ada2698897f7d97c3807eaf8fb23967db371c499e1919e4b4b9f290b13997";
+  sha512.doc = "77481cded400c3dffd86be5090db28954823a92d4e8d4a676ec540d8cbe8a51331722b760a200c8ab84132ce668ed88da4c4e689f18d58528003b1c71f750337";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "eltex" = {
   revision = 15878;
@@ -12834,19 +13194,19 @@ tl: { # no indentation
   version = "2.0";
 };
 "embedfile" = {
-  revision = 53025;
+  revision = 54865;
   stripPrefix = 0;
-  sha512.run = "2ec32d1b6eec133457582ff7289244f918c402b9512b0187c651cbf3ca4c648945b8c2fb62245ebb65d73f1cc160a78f2025f2901ba2a4b2dc906f96f5f6d878";
-  sha512.doc = "86ad1713ce35c219c8298cfc585a3fe69169b410561087939d157dbdcd83f61b058413d75259419b1382beb7a92a9d711203754842a1e9155e9bace17fc97502";
-  sha512.source = "4774257a618c15d41768acb569c4b047bed8c51af90a4c2e2971d899c2aefcfba0c90c41e68a32a8f1dfeb9fbbd4ad4b91066ff80c664dfa5374475bc6356946";
+  sha512.run = "f42311a4f5488c00f33cd43af03da9fe6b1912c27b7ce9f40e488f5a4931a5c57fe637d475cfca750e191c1b605f532a32ac83476207a49543fd090e932cecd1";
+  sha512.doc = "19925356dfac7c2fcd06d2886c8ffc7fda202f6639e98e993b8ddba3570223db0f4ad98f8ab51b096790e73e4c23946846ffaeaa2a847085d4d95abdaac06833";
+  sha512.source = "e660fe1caebb232b3c7ab761ccbae1fb58535002e6f4825c00c33f3d19a2b9b2a7a8e5e4b5a63a929b2a03bbae161ffbb25113a7f6fa3c46477b0c0773c97b5b";
   hasRunfiles = true;
-  version = "2.9";
+  version = "2.11";
 };
 "embrac" = {
-  revision = 53334;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "ab55ff04144eda0f73d311841e70df69366e68266918cc765f35a2563cf230faca761a2e9bd53140cf4549e3a0b5bf8452694e469db84bcb3b2997f7a78557ff";
-  sha512.doc = "1aa1ab6e56cc4ebb197ac20489cdba7bb68bc9da7776f6790419dd63472740acfa5adbbf034e8299f510f4000c0d8510f7d9d4d68a3b9aa8b8c4861ddb950c13";
+  sha512.run = "b85cea8799d7a281b980be195e170a769ea29f4681861e76f72ddaa62b6f1a00995e7f4b98749c529ce2d060899653f8f8187e839ece9820f620e2d83b8f5108";
+  sha512.doc = "1f3db246e50c7f1f383efdb0f80f31380c4de9264a192f2d31d0c6ab07769e6722b5b7b7f26e066e8caaffe8af1dbb9632b36313cb38d55445f21fa6d5ed1b14";
   hasRunfiles = true;
   version = "0.9";
 };
@@ -12868,12 +13228,20 @@ tl: { # no indentation
   version = "2.2.0";
 };
 "emoji" = {
-  revision = 53894;
+  revision = 55678;
   stripPrefix = 0;
-  sha512.run = "56e94ced1a0c04bd58c6fe5a59f4cf8b11cbc4a1139010a9b14f4afe4f1d2b47d9e4d0e04369353a86993cc3c338411dd213d25f3485c8a47427608ae4188f1d";
-  sha512.doc = "24e878208f9957b98faf060b5827bc320b744a09b44844f7c00fdb8743a9871d8d28b6ebf826398cf7a402acbbb88e817fb6d4dbbe715d4299483f88859acd98";
+  sha512.run = "c26f69740efb5f18f196742ca927bda5fceb15a9acbc65e6671d569da40dda75cfec188fe198bce4e4d476bb41e6ca383fe0a19b84b15691f791cc4ff6001e98";
+  sha512.doc = "caf60c65f653a2a57f3d33641526fc8f80903c718b62113c7425094e4ae35799f0c1ccacd19ceb3a0b39b571ea2d7b099effbc69aaa3f3704062e8e6f22d4e83";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2.1";
+};
+"emojicite" = {
+  revision = 55131;
+  stripPrefix = 0;
+  sha512.run = "351fd8292800ce22d821351a6f69afadc87a24e4077dafd7a83b5f70b3f700c44764f2434255fde29532007faf952cb39d97f642a0b91c1cecc3b58d85753ab5";
+  sha512.doc = "642c3656e3f6e89deab561df4253bcac0f98f1b65537ba3c78079ebc4d3a9336ce40fe8abb1955583e404b3945d76fcbca19845dbde7bd7c8f4db0a6209d80bf";
+  hasRunfiles = true;
+  version = "0.3";
 };
 "emp" = {
   revision = 23483;
@@ -12947,6 +13315,14 @@ tl: { # no indentation
   sha512.doc = "e4de81d6cf0d7bc686d84420dff1e390ad18747ebc9381c6df006f871f9d5e000aae5cd43a3648dfdab2806da83efc6b375ceb4a9110137ed6b373538a7a8b57";
   hasRunfiles = true;
 };
+"endnotes-hy" = {
+  revision = 54758;
+  stripPrefix = 0;
+  sha512.run = "abd177ac968efce6749d8bb80c327bd8c3617e14045d124e036f2e503eed7bc33c72112d46acebe84d8a0a2f25cf3d99fd02a514d3673f38ada9e7fef879e3f5";
+  sha512.doc = "46b7ea667c12de23f0491af714e5b86fb7fdbef0e3c03d7c31e242dc715745824be08028861c0e72244695aee8bcb0ce2191746c8d1f906523dcbe6b39958281";
+  sha512.source = "6771356602da1fef77f350eb8390abcda0f1267c0761bf255f4aedeca79fadf1c0255bb267b456469c1d8dffb1ff052e567d0bb6b07035c1f5d676d5ae2d4cdc";
+  hasRunfiles = true;
+};
 "endnotesj" = {
   revision = 47703;
   stripPrefix = 0;
@@ -12956,10 +13332,10 @@ tl: { # no indentation
   version = "3.0";
 };
 "endofproofwd" = {
-  revision = 45116;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "900fc2d9a2673cd75bb25a3c1d5d13a66a91dcf21a105ed22ab52b7e61db4753f3419e6e7f5d09b64b27efd6d4c52b6fc6d1ffd06d6cac37bba9017aa96712f6";
-  sha512.doc = "1b99e26313b9a0572c41900d6e0b10621032957e7569a436d0a84a4d2451b857993b8bcf3554da5ddad00ebb3d83347d5f81e7df858b7b15f2ce3ca92d5ce511";
+  sha512.run = "a4b62882d4111a916588298415546fd402abf15ad89177fc2f57b983ef4060b49c7f73677add54c683e0ac8d40b91280453f8a239bb9da5e262cca20d12562d7";
+  sha512.doc = "5953acfac90a34bb2c57cd813d220279fb96fa74415f0d7677ed7b7a8839b858f64b3c96d1dfd2dce5a8704e76ffc7eda1e5aa337585f6715ae229a759148ec3";
   hasRunfiles = true;
 };
 "engpron" = {
@@ -12997,10 +13373,10 @@ tl: { # no indentation
   version = "0.1";
 };
 "enotez" = {
-  revision = 53439;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "887e305ff2755dde33c9ba39ebab63d3518a6ed7663b15245d6eb2dcd4ba263616f1c76d82dc8e86426567bab12c7379e093a57075542303678e45c8b884d022";
-  sha512.doc = "621c119bee8f05f3543804eef752df1d2498077e1d323841cb1259123fe402aefd8dd536983a9b94f176560dd36c2170db904a5427812dc2cde2bee6611da909";
+  sha512.run = "cc06810fea45e42f30de3eae33850ca39e561b77641f40193c8ecc6bb830de984e236379d1367ca466cdd8c401cd059f849b9a975a347d83070150035c13cc1a";
+  sha512.doc = "1e345218dc64ccb561e8cab2d8dcbebe2502d25eeb79473f1432dfd3d05d041c0bb728d6c8b75cecf88fd57ecb5907997bdbffe1b7327208b3e300910b82b3be";
   hasRunfiles = true;
   version = "0.10b";
 };
@@ -13029,11 +13405,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "environ" = {
-  revision = 33821;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "4e5bb20e2a69875006e8d9ebc3a8744dcfff3240cc28ea44f7acfa3775914dc9ee108a89368b6a510eb0a7aed19d2d13b001f0270ef9ad011b881c3cbc6aab9f";
-  sha512.doc = "443362ac9bd70d88bfa92c26e66871ebfc9ec1bdc226ec49b8a41c7bb76f3afa8a424d7ae2e16a7d06f77f4da4208c10f8dad014d918ed7ed239d645781b8815";
-  sha512.source = "5f539dfec035e337aa659aa29815b9293e714efe27d55286a96afc1d52082577eb42bcf02cf19388a2ec92bc880bccc73935a7f5a55ad7f6ed5bfb2862476aaf";
+  sha512.run = "60df3a032acd64221167090c853b4a330a2cc072561a981a70be29736fa871f0bbecdfe6b2cdfdebfd448d8946c4d0bfceb252ea0693194d184bed3c4fffc747";
+  sha512.doc = "8d30310ae317193925c81eece58a3d3109c1396c7e486510826fd72cb8489234867583f438873affae766a32498e375eb46db51fd0d7f9989cd61ae2109e13d6";
+  sha512.source = "17531d5bcb727e94f7def5f49afd103cd6c280aff943dfdbdaed28f6cdb0a16db918ab21201447f069489f442aae93edbe77f1b4a80734d7f6e4fb6a5ebd3ee8";
   hasRunfiles = true;
   version = "0.3";
 };
@@ -13061,14 +13437,22 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "epigraph" = {
-  revision = 53298;
+  revision = 54857;
   stripPrefix = 0;
-  sha512.run = "7be9b7851f4e98b5b618dca8535d7e3443cd12c64784680ffd0fbd31b9097a0872a676f2fb0f8b031682d43427814aebc0225e1931db658ce14aae2431597b6b";
-  sha512.doc = "7b4b60e8ddfd8f3d899829cf057f7a3db93498cc5214fa03c7116e794722d523cb51846fac80455bf3610b73cb5820872c628d2fcbb754c79b5c7fade26ef4bd";
-  sha512.source = "8f0502015099e2e7465156b02681a2774701f53c97c690f97cb1ef5b6538b99141d93f3570893775d8fd702fad60934f5dd0161f5b540b7e77251cc689714cec";
+  sha512.run = "bfcc661316dadf02c8bc1c4378b04c588ef612f030c764af3119e5c9eb42df667f7da9ad71b90fc2b5dbe7adf4094b05d792ca2fb2292c96035384ce65578293";
+  sha512.doc = "d8d2ac763e6bdcbcc200fa21995ea5044b4adad11f147b3d7e9f212274c1678cbba7661cc93df8cd013470a5397ca257690d85b8fe55704800284805abac7c62";
+  sha512.source = "566c5d132b17c806ee51d60122c9c89f7e1d3e6b6df1444bac715c5e77e2522513a2971f86c495b7fc654c684b07dc53982436aefa0544955e0bae30479b42b0";
   hasRunfiles = true;
   version = "1.5e";
 };
+"epigraph-keys" = {
+  revision = 54851;
+  stripPrefix = 0;
+  sha512.run = "27b5cc031d2a90c9240f199f745b28c0eac189750062632708356b898701651eef34353b4e54e7065c85b41efe6371e42875607aa5b16c3cf2bb7edfcff473e5";
+  sha512.doc = "34c9b77529870df1f4e4476a454ca8f08ff68e0d0c523d081d47224a43f07fa0c6db6d665524e5bbb1b68c975b833927321295fdaed38b2ea43445fac9752400";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "epiolmec" = {
   revision = 15878;
   stripPrefix = 0;
@@ -13078,24 +13462,30 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "eplain" = {
-  revision = 53786;
-  deps."pdftex" = tl."pdftex";
+  revision = 56548;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."dehyph" = tl."dehyph";
+  deps."firstaid" = tl."firstaid";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex-fonts" = tl."latex-fonts";
+  deps."knuth-lib" = tl."knuth-lib";
   deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."ms" = tl."ms";
+  deps."pdftex" = tl."pdftex";
+  deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  deps."dehyph" = tl."dehyph";
-  deps."knuth-lib" = tl."knuth-lib";
-  deps."plain" = tl."plain";
-  sha512.run = "28cfcf717d5d874cb277a0c3bd495cc54d10967f922e15306c3e1d33c3db21bd3f81c9bc0c00de9d6429f898c17da47618695d245783bdec245a498ffd9c952e";
-  sha512.doc = "2d097430db5acdcf38c3342bc2cbe2e5bb58b848c468d0392629a0666f0c7bf9137b3d9f0a0f1edd59f17a2e56a1c3e0a81968f0a99a1e28656a78b85f98470f";
-  sha512.source = "57a9a76e579afc4dc040ff95a1fa36d93beae7175a6d2615e8804361f3ba349893c46c50be84383c8e026236b5067d2c8de9338c3b9204c64f46643129a071ea";
+  sha512.run = "8a7da7a93651d819a068d5415824fc8798e8ce54c0326f4f993a468127b07517bb0da912a1c440d60fc9f371dad460c920f13b43288556745a4121ad7756c0ae";
+  sha512.doc = "6fa123f48bb7f09cae93a64a72509ae5d32bf9683f553fc1a5f66eb67bd273a20bd0166be14223a8d0fe9d4aa86da35c75011ea3edfa0d156271b991a85e5b4d";
+  sha512.source = "cd030f5213b771a1c74a53aebb59ef1f9c1d8ae4136b0c852b58deb90787b663fafa333bde1b1c6fabee942399d5682d991369b781b864bd2adcb7899916ac44";
   hasRunfiles = true;
-  version = "3.9";
+  version = "3.11";
 };
 "epsdice" = {
   revision = 15878;
@@ -13175,10 +13565,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "eqexpl" = {
-  revision = 51524;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "c3412287917852e6c8c1ae224616a3cc1cc15156d66bfccbdd3fab70b02e5d4ed0b3b097e7bbfc89f71ceeec6389d4e66c0c1abff2e160d813d2f3b29325d7e9";
-  sha512.doc = "c94dd14530cf7b93ade41c7f4084988ed480dc4259b90886278dd5665e5b6e705e79a5c4d1db428b9d43e9ed9fa63a06a6e10569354d848dca3c76fc28c847d6";
+  sha512.run = "962b3f4405feea8cae70618af5a61f4dca04ec5971c888d36fa4aa8cb6dd8b12c9922cc202c3ef6204cc1265df36bed66ab0579395f4d9d134c7382778572a21";
+  sha512.doc = "e7ba14eebd9ee77561fea3e5a7360f12ad10dd5975c99c203ca2e962d95a79805b9c9d4b2452965eb1180d7741788039f32c216352b7d63ec0edd167f98996d8";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -13242,20 +13632,20 @@ tl: { # no indentation
   version = "1.1";
 };
 "erewhon" = {
-  revision = 52777;
+  revision = 55705;
   stripPrefix = 0;
-  sha512.run = "5c432ee9ea7d2a76d9fba1c8ddd3d0d19432009df86d7386381d39355bfc46328f8763308d4021bfe0b0a4e18e9b3d9eb3dc8bcf4b0cf50921528a9f549b46b2";
-  sha512.doc = "60dfb45af8a284ea995f06d3243dca7247702ce6d05331dbb0d72f353b8a82fd9a4a3d39af56e7d0dcd5c487e2bdf8dd498c7d72281d4c68d2774d8fc3b9cb5e";
+  sha512.run = "dc4811791f301c3a31528a0423278f793590a72631769c08433c37d11377c579d3deeb721a8dc343fffd7738c1bb7995c4c7afae690660e846f16fb987e53b92";
+  sha512.doc = "31275b90601048afb975b4ec3ce1bb4c74ffc6141bc35612bf77bc0b13d79d2382b5adf988a0988d580086833adb806f4a3f1370cb2fcb21333e57ae1a53af24";
   hasRunfiles = true;
-  version = "1.102";
+  version = "1.111";
 };
 "erewhon-math" = {
-  revision = 53666;
+  revision = 55287;
   stripPrefix = 0;
-  sha512.run = "f02b635f08de904566a700e29528f74bdd8f8021e6f5b82433bab98f04e95fb8906add6a87ebea5bc81674455b46baf2c2b675180db66ec56ba71229bdbb00a7";
-  sha512.doc = "ea557d32e31ed890c9dc796de465c42acebdb27ac11e9ba1dd1a7b19a02df4eb952826b746f2a2698e42631584a76d3c836d1458e65501bac19a586be3085dc9";
+  sha512.run = "2c530992e46104ec3529f2d2e5b38a66d5e27928fb819940865a87f2035152135036f19fec79b79cedf93394f62165575cd67a3ac72d0fb0669bd5825c9ec4ea";
+  sha512.doc = "74a12737c8d4963da687b95c95e55835f22d2a4bf751a4f39aeea410cec684e208d2bc86bd5f5e9a986df94603a7f21f628ed5d8376a984b7522b528bc190223";
   hasRunfiles = true;
-  version = "0.41";
+  version = "0.44";
 };
 "errata" = {
   revision = 42428;
@@ -13267,13 +13657,13 @@ tl: { # no indentation
   version = "0.3";
 };
 "erw-l3" = {
-  revision = 53694;
+  revision = 55414;
   stripPrefix = 0;
-  sha512.run = "230c866b9b72c0155af79cbf7d212411f3a038fde5bdae44f09554cb3499d501ba71be5234e7c9e2c2d5844919a8ff6a4473b6a06de33f66baa6ba0316037eff";
-  sha512.doc = "34bb0e752d769cac90b50ae350e91e224dd83c9206ad05ea2d4ef0c427df413cff692808d6b0820b12852a9f60628679d18d9d7bc2f2d4c11328d162f8adf491";
-  sha512.source = "63202dce4c3c74b1bda95bddb0b66655745f8dbd26aba1da261bb38d7aba056b2280ccaaf301c394feca09ae06f1372ed4c25a1cd4965fa049558c2d9590a0ca";
+  sha512.run = "5f006723665945d55f7365f3cd5076fa7ca924c0ce08c797ec684230edefd71483f37b456f5627b7d6b3d8f10fbf97101caefa67365eb155fe3f93d115e1bcf4";
+  sha512.doc = "fcf42f6392ae01414868f2d36883d9204bcefc06d772e6ced603ffe01b2b4d0cc15b7dd161b1dd57f5e58816d6da4290b738a9727207de28b1738d233c82fb3e";
+  sha512.source = "27f357e13027f67764d4818a1cbb786678260272264ba7af13e6867923fc395c49636a09a5f2e4a444ea37f9985d0c7edc5a52ebffa172843bff24764112cd47";
   hasRunfiles = true;
-  version = "0.1.6";
+  version = "3.1";
 };
 "es-tex-faq" = {
   revision = 15878;
@@ -13350,13 +13740,13 @@ tl: { # no indentation
   version = "0.98";
 };
 "eso-pic" = {
-  revision = 47694;
+  revision = 56463;
   stripPrefix = 0;
-  sha512.run = "52c1987317382cc5b3af5fa05627d3137c692b402dec1a19104f814be191222b9699935a52e68c5813beabc0f659735ec22dd37926d6a681ca6e415ac0235cb0";
-  sha512.doc = "e78570568903fc10ad3309c8247599da7faf2ec9851df46b2ff36451a874f605fd12b9aa0dfd68f237cc65e77b527baea296036721fbc0e2185d4cb61f0eb1b3";
-  sha512.source = "7736c3f6bc4615034127de7b88d0be8e88e1564760bb340d5fe555633ebedf1f5b12881e4c1cd504af47350000a931582f8f75f1de431f6151948c8a27af1ca1";
+  sha512.run = "7646578d67dcaa61bf995762b190d07bc829dcfa322211ce84fe0e107f643649b302ee2feb2b3bc83d3369157242e33fc9bcc6b3637af274638b23e84d5c3aa9";
+  sha512.doc = "3b8f7ff80a6cd3a1870172884759cd5147dae4935f05e06d6fa880b7d03de9c227390353f46bc03a7f6437efa4e05f1fa845aa4571bcc4f0ea3612a9728a1e94";
+  sha512.source = "08b254a5b0f129ce70259f889082f490c38fb0519c80cece7f555d0a0e6f84b9d34695612ee8bc3af24003033fb1996890c3497206ee3f9a4728d37165e55bb8";
   hasRunfiles = true;
-  version = "2.0h";
+  version = "2.0i";
 };
 "esrelation" = {
   revision = 37236;
@@ -13402,12 +13792,12 @@ tl: { # no indentation
   version = "1.2";
 };
 "etbb" = {
-  revision = 53836;
+  revision = 56390;
   stripPrefix = 0;
-  sha512.run = "e5ed5e381105bfcf7b424427464305598d3aa90b7a27248ce4e7000408fa642fe6f25eeee6930ea85b2dbc74ffa1b0ea6cc1bb5ff189050fa579b806bf7a0bb8";
-  sha512.doc = "37a50869ccf719673f97e1ca0da89297feb50b01b9a5f28f9129997ca983e23b0cad2976902b4498f0ac36f3d64676f2e765deeb539e9d2da08db063e3cf8461";
+  sha512.run = "f21ea49a1404b8a495477d5b4ef440b6f2a363af50e6e93ff1f7ed4c36c88a133aa586ddb409b38a74a1ad7c181d785ce4491d259f5249000fd2cec2e5e73866";
+  sha512.doc = "8527190d3f646d76833dd91b9610ca3051f499552f23b06ec88b4601c0b86ba5d9611520bfea49283451911a379b3b415ac5bfc6ac7703a4fa51b86356719f00";
   hasRunfiles = true;
-  version = "1.001";
+  version = "1.051";
 };
 "etdipa" = {
   revision = 36354;
@@ -13417,10 +13807,10 @@ tl: { # no indentation
   version = "2.6";
 };
 "etex" = {
-  revision = 37057;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "8d9bbc49c5a9747bd0469d6941358e33dd273841c0e467ca5fac191dbf5d353de19e43fa6c66b95fe5975211c01cb6dadbaffbaf544faccd3e35af0158a0642d";
-  sha512.doc = "5d10427a79c38a573036164d5de8315a80b709eae87eccc050e319435622664203b4f859a7a0875a13e444a3da06eb11a2801c44c8c3e7d5ed0241adda8b5d22";
+  sha512.run = "662338c145e84577ee49bd7d1941ade688d07ab8382faec25d6f45891953554e85ab4d531164e58db97071a7950c31b36f9eec8700ad4b43dffef30217f0fd89";
+  sha512.doc = "d7c7cb6c0a8c2056be906761c7f0173c7ec28aa4e910d9546aa75aea79f8a2aedef06d708710135d3f557586990fefd73086b4f11b8b7642a1cbaedde91b1b8b";
   hasRunfiles = true;
 };
 "etex-pkg" = {
@@ -13466,21 +13856,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "etoc" = {
-  revision = 52842;
+  revision = 55156;
   stripPrefix = 0;
-  sha512.run = "f8386d45116a250f5f482774b8dcc40b0f4e30b8260d201f2d8abf0b10f0e103253af3f23649c3aa948009392072dcb29d7661ee86711c2dcdc7d66e69a4135b";
-  sha512.doc = "27bd651a6178a07d4cfa7d741653765b04e9a0ccef5e04eb8c89fad12df1ad7428312204c18f590de6d099d6bf108bd01931728c1ad392ba666c695099006779";
-  sha512.source = "edb8c19dfaa0877a2ed038b5e687dc590a569fa8f0577fa782b9d7ac26831718bc269f64373e5039c4668dd0e2725442613c5fa7ef0a7b1fc84d0ca77b3a8264";
+  sha512.run = "4000c9627c76648046d647843dbcf93f56111433d0294f8fe448549191886dd4cbea8815910b305f9e27a18b42a85ac8fe8a5999584da60d66a67f4a376d227b";
+  sha512.doc = "377963e8ec9af3fd7fe1f164bc2dad566f18d7ff8bb62689d0119641f5aa61fa0ca091f1feed7d968f86db3bfe1035f915de120724a2d2cf912f1787f3eb3be3";
+  sha512.source = "d870677e592cdc503c8fdd3b03e568017c7d8f4cbfb9ebafe3510bcadc75f85f613991999dc67ae601db8ead068d06af76c1e0e1636c930313f6f04e080cbd6d";
   hasRunfiles = true;
-  version = "1.09b";
+  version = "1.09c";
 };
 "etoolbox" = {
-  revision = 52153;
+  revision = 56554;
   stripPrefix = 0;
-  sha512.run = "f614e649193857d2348bed9c9ce49a64b78e0c165962acb51bab6b340a1b7397793ce07d649808eb04322d94c3df1699ed69164c6e4c3583600f9adf542650b9";
-  sha512.doc = "89b5515a47fc18b6a0a2e70712b614e5fc32ae537c632e431be1ef1e8c55ec2791c7394701e676b0ee6cbf6addee38ebbab67e60d67a34118381fd4ebb0bc0b2";
+  sha512.run = "b4c2ba570b1636b7ccd741c8960335f4863fb7242253be6c071100b64ce0d6ffc1bcc9da5e9bc65830ae5e34cb4cf887220585c0006d7afce0af3ca95f96b36e";
+  sha512.doc = "15f5f37471b991c1363e7d34c419c4defe1920522d6f666c383ce31b25b412d40a1dd6ca1c0fdb0e56ef3c7e529215964957c5a2dc55522bec60e79bdd972947";
   hasRunfiles = true;
-  version = "2.5h";
+  version = "2.5k";
 };
 "etoolbox-de" = {
   revision = 21906;
@@ -13498,13 +13888,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "euclideangeometry" = {
-  revision = 53794;
+  revision = 54897;
   stripPrefix = 0;
-  sha512.run = "8f77c81afe33b837bcd0ed3287173b974a637952384168ae93671a84fce5d89cafc43f1f217d0b8b388dfe733b8a5b5c83c52c9abacb6ea082162acff53b101d";
-  sha512.doc = "e89b948b0866e8b1acdbb72eba354c72272e243e721380ef7111e8670a1ab54981a44e61354ab3aa76dd8e534071da61edb6f92c105ccede0efbd88990ff1a33";
-  sha512.source = "3d26956790d2870b918574b23e64a194d5ea6226e8387fbea1a40b9217609b946e50653cc3549b1a21ba1dda017134a106d1c8090e467791316538b008077823";
+  sha512.run = "62900fe71550594672cbcb6cc22d067aae1e6315e54c76888fbe3db2b79558c25182e05c028e2e0504fa1f19168276d95684d0dcf76c2aceb600720cf090ae1c";
+  sha512.doc = "c12dfd05e72c4a081068af962fc223f6391793436ece1e706bacaf205c69ba01ae9a7263e1069b5e10ff4dc8a7ad151558ba188ee6c539d8e297d57dd6e1c45e";
+  sha512.source = "35805bde4c06f9589467808497de577b58e8eef5f788671c0a9ccf2603d21873d71d980b07f1acc411d7eaeb9bb7868a6bfe562055be030d802fa88fbc16c183";
   hasRunfiles = true;
-  version = "0.1.5";
+  version = "0.1.8";
 };
 "euenc" = {
   revision = 19795;
@@ -13516,13 +13906,13 @@ tl: { # no indentation
   version = "0.1h";
 };
 "euflag" = {
-  revision = 49970;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "e046d3b4b0de99d6669aa7cb62b4304ea8c2b83bef6dbae7d997355bc97ef07ffbad6ba139a4969c0a99307a43202566a283a40de1a69635d09afd9256ba0a51";
-  sha512.doc = "e0b58801624084e20083f1c92ee71dd6f53b75954cc2a63c7f99b2453d3925e9d4bb9509e86cf3fec3bcb2b1814ccc6ec27bdb08bc24f23803c0349dbe1a9574";
-  sha512.source = "2365d9bf74ff4194060edd03776363d3890c6cb3ea4da741413fb7a2fb03a79bba1c0775b287a82c9b30ec68dcc3db3d778460b44f5e249be5f21e130e7e52cb";
+  sha512.run = "6d6b156148fd6aee2f82ca489263de2fc37103e00aed4a287eb10acef95c60902d3c0c329eb904d2b808e5844f9d6ce92fd8afa4e9abf187d4f8bc7b8f4b75ad";
+  sha512.doc = "68eda595381f5f22bcd819ea4d2a4ee430ec555c92594ceb581a9e566de648a74ca3fd53ecd4566d17d3b54dc05b7909bdc3dd805e8c70fb68520b299da355c8";
+  sha512.source = "ad66378d43f833c0713593db5875cb0431a251e6443a939389551a4a4e5fe8c76865d1109ee0aac1b9213ccf6f375b1e4ac5a2dbdf347a88aafd86a0af721e90";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.8";
 };
 "eukdate" = {
   revision = 15878;
@@ -13584,10 +13974,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "europecv" = {
-  revision = 53313;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "54c1a4198183c346182db14b62c88dab981b1c2bf18ff10067b335e2e4eff2bb32400f9589d6e16065b891958e46cdf80f8ac4f5a73a70d0fde7a0228b1e13b5";
-  sha512.doc = "65ca93f3b5e8cca103abb82cc47485a5aedd1fa9e78d1bb4fe80623c9b76bf34ded529dcf4ebb35f8d141cf198a6e8ba1a012ee4e698053ff16e8ad23741e059";
+  sha512.run = "669ffe621551e268c34b36efd783eb800e3632829f3d99c48ed26c4a9b39097113072c175af169ebe87760521cb671f84e95f2cfca400bf4076c3156c6ba0849";
+  sha512.doc = "730738ce31280560d3c37156cf53fecf0b0cb2f729041830ae9cc8396d9429d75d40fe0e756b7271ae08bfd71aab247e7d238f2112648a475726c97c2039a378";
   hasRunfiles = true;
 };
 "eurosym" = {
@@ -13599,9 +13989,9 @@ tl: { # no indentation
   version = "1.4-subrfix";
 };
 "euxm" = {
-  revision = 45696;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "93f4eb11247f8576241a57b247dc2dec20405146a0749d54bb8631875256fd262ac06968901a8682f4d530ae68602af366fdc3ceddbf0fd1042ab95f259c3775";
+  sha512.run = "2f786231f801ba9a9c5f5176bfbd01f8e952c33c722c7508988628afa66d1ddd55c4de02c0ed9cfbaa35a8764833e822046f7125330145995433b517f7051bd8";
   hasRunfiles = true;
 };
 "everyhook" = {
@@ -13663,10 +14053,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "examplep" = {
-  revision = 16916;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "1e28a283a2d6d2ebc0bf7acea39bbc97c459defd6115e125c6b9482f880f59ac5eadd715d034b78f5690806345311946bdf6122db9b41e2da9e31d730f2fa82f";
-  sha512.doc = "f72f9893173263dab5436911b2efd5143a52dc43b24b470fbc315c69eaca0d326cc36e5254eb3f93f734a3240371e9aa2462c0c016659088014ee5a63cef756f";
+  sha512.run = "689c71afd2f5733b669b12c27014edc260ffca597b197ec0a91b5cc476bc6458699510bc5053863f9fa8ca47b9e2cda18939e734d3c23c7507f0646e0cbd9afa";
+  sha512.doc = "09fab96fddb1f42c6c5484e1716d1f2dda3f51c6c6f666343a79070aae079ad2bb67f210e51875621c4b4f8a30f9908d4bd53caa74c57ea8ec4ba330dbd721ea";
   hasRunfiles = true;
   version = "0.04";
 };
@@ -13711,11 +14101,20 @@ tl: { # no indentation
   version = "1.2.3";
 };
 "exercises" = {
-  revision = 42428;
+  revision = 55188;
+  stripPrefix = 0;
+  sha512.run = "90ca30f7417076a9933970d6c8559317861015480ae5da813e19e0114a6838084317fad6a0b1aa295b7a8a8c49038007a36ebcf4ee83f54fc0e454a317943923";
+  sha512.doc = "ba5b8125bf2a59646f401c5d4968f1e00b5d9a35293bcfd7c67c54d275b8e4b1586a5f07ddd097065259935a541551a8b990f5dc737e1be8e78343382b7be72a";
+  sha512.source = "32728c5bd1bc6465bb82ab95f9c2a4fa4a403431a8369373d75861ef0d6af8850c108c223b6e202f03b53f87d52bbf45f07a81e75175c0896951cda89cf20ee1";
+  hasRunfiles = true;
+  version = "1.1";
+};
+"exesheet" = {
+  revision = 55916;
   stripPrefix = 0;
-  sha512.run = "064b8df6847af6e8464989de7070ce1d5282a050ed89016ba9954767c6f175882ee11dfc4c92791f68f972cb7dfefc801696a10a650b7113e93dfd9a9fc1adba";
-  sha512.doc = "7108d509ed012d1560bf19205e45a2fcd09311c50e84ea4dcd87cf17b8c70d4e5496653d97cb303d32783fe9f1d29a17a273a7ac6808ec384b7972dc33106c87";
-  sha512.source = "eb788aaea48e5f9fed1aa8a9ef47792bb24734c5309b74e3554ca22618c9f35ddcfc1b5496299783584310ec7ecc406d8679c7d90a936bbca5122ca665bc6098";
+  sha512.run = "004142161c03b7ab411fb86661d955ed0d401f19e718e353c2df45671042340024695910afd489850617aa28ee63593ddd2e0b5a708d68ee5285a3a4f30516c2";
+  sha512.doc = "54e8d5f23dd2cf26440e3b3078b0ecac1f1dbb18d19cc1a0e0b46344aa4dc6e48b7f07f62374a4f58563e3ad924fbd7189295a7747bf54bdaaf2d74a59f7301b";
+  sha512.source = "04a35ecae44e9cd022fb23f7c7950288975fe91ca0b5bfceb640e198bef17e6d8cbb70df493b40cfe97ea3ce9bd6b0bab1f1c5c997217426f6bd6de8c25a8633";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -13755,22 +14154,40 @@ tl: { # no indentation
   version = "5.1b";
 };
 "expkv" = {
-  revision = 53939;
+  revision = 55750;
   stripPrefix = 0;
-  sha512.run = "a4c3691608573967a4162290f04da6fe56af27c866cbded1272bb939d2787b168ce70dc3a3a421ac0f232985a213ef36bcec5e3e2b98e66edfa6051d1c29b340";
-  sha512.doc = "33860f56de19ba0e5cd8d5109e7a04865b1ae08bf292b4ceab9d5adbe2319c54630054d4c02448548ab4a9f88fcc80040d9c58119e8d632dfa9e20b94dd84883";
-  sha512.source = "045f29b91ca9fc5562e739e7ed5ab84e902d375dda756daa6d281b2993b9e4edd884a946441d264cc936e8360238b980318af24c983ae27f1ab5b793b484ef6e";
+  sha512.run = "aa006791a5b653059e1f45458f3496b081aec50d72ee5547988d82000534c7c29fbc9639d6563eb48b6f296a967f8b05a753147043743b0b2de26f1b2e7e1488";
+  sha512.doc = "8efd25dfb7c728f8a4aa57354db3d39a2a29f5eba5441853c03c24b78cecbe97af628e028d188acc043ca7a28623e8f447df3904462e666da8fc6aa58c243ae4";
+  sha512.source = "23e766017e6ecafcdc409f46f12e4d775e1b8fed597fc9f020ff3889816adbb1c4b52f41695071b4d7f0972ff6b1afecb3f57de6695ac58ac5c81b7ebe98e98e";
   hasRunfiles = true;
-  version = "0.5a";
+  version = "1.4";
+};
+"expkv-cs" = {
+  revision = 56074;
+  stripPrefix = 0;
+  sha512.run = "caec26af142e07e2a3744ef1769e6e6b36dc86d963f3b46de3c30d5b0bd277e2acaf50b1f21448005d504fbbe201e4523119362cc1f841d8046ce74617501a2b";
+  sha512.doc = "302633eca5dab1dcdd9bd0e27fef2441ffed13af2e713240be8530aaf7785759d19872cfe321da5fbe47c97d151a1ae5fe37798f739187deaf84a4d1453e72fc";
+  sha512.source = "ba9d5293b0e548dc4538a5b86ffdbcb23e455625d43c81cb91445d9d5ee5f111d9967b3c89742d58f458092652be7335e26caefeba2eeb518c6f93143a210846";
+  hasRunfiles = true;
+  version = "0.4";
 };
 "expkv-def" = {
-  revision = 53957;
+  revision = 55829;
   stripPrefix = 0;
-  sha512.run = "0e4b25eed122d54765c527e00105a2c48fa658647621a0c4f61dc2b494139e60ac03c20533086016c172d3c93764af2598a0501326219dcb39ce227321a8862b";
-  sha512.doc = "b6f95ff4700c0acd0f4161ad9c8ce34d2803e8a84eb28caac26b7632d1d2be7f5036a99554298cf7f5344ee463cc8a1b0a5167f7cbe61394c3f5e566dab42d47";
-  sha512.source = "c495e55740f7ca25c5be51138fd8064c882d19d2b45bd9824cab7653c36d12d54df1bae951fdfe6d44df1c6bce7e6047234267c800196c831aded4c9e98cb570";
+  sha512.run = "7fd04f8d3722263acdcbe991cfbaa42536575a53360c6eda061c105797ca686a59075036dcdaf4baa98982f41dd0f369eed83e7ec1c6380a98a4cd62e23c56dc";
+  sha512.doc = "e6e95f42feba632f0ab9b32458e8dc48010ec977b0fa32102c20cd26e7bc537150c4688d9b00284ea81cdb08cb1b0efc631684051457d1e53f876fb46f37dff7";
+  sha512.source = "708154ba4402c5afa1e95d12e2979edc943462584dbf5850b6d2362d938e970edfdce24cd8d76fe16894144900a2a37cd486c9c3d1b7cf0187bc1bcf8d3bec68";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.5";
+};
+"expkv-opt" = {
+  revision = 55751;
+  stripPrefix = 0;
+  sha512.run = "b6b8756dabb464608fd668bc1c86a70be13063e59548021b43030e9e5843e25ca84b33114d528a7417dd6f992cfdac706d3311deb25466a64ac1f0d55262de27";
+  sha512.doc = "dbe0454595ed2aeefea8a3966ac0ffb1d41cd6664aeabe33223580eaabba83222d896a6ce44605f5c7c913059168b5da951954838e6a8ccd94e7e6669d117165";
+  sha512.source = "335e8abe27588b3430b92ae2e2fc35105e8453983a9faf52f891300827daafadff145e4c56d2d2c985cada862b30e425abc9eecf862436278b616f39fdaa5fae";
+  hasRunfiles = true;
+  version = "0.1a";
 };
 "export" = {
   revision = 27206;
@@ -13781,6 +14198,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.8";
 };
+"expose-expl3-dunkerque-2019" = {
+  revision = 54451;
+  stripPrefix = 0;
+  sha512.run = "9a642f593f0440159d802bfd78a472645dc1c320a43e8bfe91fd7eba3c0b67bc3ad9477c17b36f6ac08b39ddbaff11687e78694bc81134c33e1af085a9384a24";
+  sha512.doc = "d3b09af828ace720aa3f7b0fe979893f9fca3d358a69abd818bca7a81d45928cd02e0557bd607bcd91f223ad9f4808b0aeb61ba7269728d467eab46999ea5f92";
+  version = "1.2";
+};
 "expressg" = {
   revision = 29349;
   stripPrefix = 0;
@@ -13808,12 +14232,12 @@ tl: { # no indentation
   version = "1.4";
 };
 "extarrows" = {
-  revision = 15878;
+  revision = 54400;
   stripPrefix = 0;
-  sha512.run = "c5ec26369801ba653899a6c67c41a173842f7f5283d1279d512104cc9cfd04707fdd0313a9fde03672f03a7bf1f2c46f376aa961b211b4bc0ff2641d34eb3b8d";
-  sha512.doc = "be17974ce5f9361bbfd8ffdff55ab39cb1de6aa5701c4582586ea43cde45854bcc8c65f5c4c7a9a1eaa311c24132294ed02f36998905ed7f872c81a022d4d6ec";
+  sha512.run = "ebaceefc82c42bd0b0e341d6d2cc589f9369fceec0a71dd7da40f0228b0ef1fbdcc9ba95ee0990b47b4a202d15c87630e46867afd8e9d69fe02fa721bfd590c5";
+  sha512.doc = "c51c13205ebb78eabf181b4a927bf92ccfe6756d732162407d1e98961c6b50fc20143de05c992feab2b6622a80ad7556eb173d87264e4c0059cddd10eaf8506d";
   hasRunfiles = true;
-  version = "1.0b";
+  version = "1.2.0";
 };
 "exteps" = {
   revision = 19859;
@@ -13859,13 +14283,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "factura" = {
-  revision = 51895;
+  revision = 54803;
   stripPrefix = 0;
-  sha512.run = "e4ae9c0019ac296416497fbc8d30bc981a1987cb7b4fc7ccc21512fa2ecf11da0b4057775dac37e3421261faa8c76b9354725a2c514d1fc514cd7815571d2004";
-  sha512.doc = "0b091d2d4da4cb858ab13514fdda12babe9bddbffe466fe4d40c7acf828e31b9aedd6efb3eedd8895e7e12691a0e1e2bbe1f9bc8a21f3c18cb3fb1d455a8a3c9";
-  sha512.source = "52202822a438daafcfaed256f1091a5056b8c9e58273013bad555228bbcef02df9da3f3074f0cf5aaeb7349aaec64515bd1eb598ba1463927d7dc1c0a860afb9";
+  sha512.run = "99f59272276c7723601e720287d885066b01d44e8b388ae1115bb5e14d1face1c3de444fbede9e84d66b82772982b2f0a8666d778916316e69ef32c624db6c22";
+  sha512.doc = "17176702c69d98902877489d764bd3e0d0a3d2fc2e9f41fa4215a47e05c3c4e2ac9aa82c05352aeb9f674ac2ca7f08d27d9fbe45b5e0c741ac1f0913e6b81dd9";
+  sha512.source = "e8ad0a22357cf28cc44a6a69f4a8d1d1c6ec57fedb3d2694094f90951b304a872c7e34b46ee8d789c964cb1e842d5b41eeab7445926da0b7f8d66149e924edaa";
   hasRunfiles = true;
-  version = "3.70";
+  version = "3.73";
 };
 "facture" = {
   revision = 43865;
@@ -13977,21 +14401,21 @@ tl: { # no indentation
   version = "1.9";
 };
 "fancytooltips" = {
-  revision = 27129;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "e1d7243552cdf65cef1e647472a7f6c1d818c1e862afcf8069768d9beec01e4c250786e2c4c1af4febbdf94f20362110399bee33c7902bb7006de474a0d013e6";
-  sha512.doc = "4bd82e0ae682abd0157f94b5374ecdc6cedeff0af22a5227ab527b725d8710bd7f8c5a38b7380a91ecaaa383824d8b88d182d1edde312492c34728ab6ff2f4e3";
-  sha512.source = "3c6d477873c8fa6560d4188dbad1dbe43a422f08f4bcbdc15b034e0ee7dc5529171d005f48a25e1df6d6e6fbd0f8db5f11c233c515ee70e307cfc31e5f434e24";
+  sha512.run = "79ac95184f6890ed405919d064fee444a3b00dffa8f76724c302133cc8b4f4c40648e0bee607702cc9faea6aec3e2f8c34d1e2011abe6e6c6444b9076e5f42f3";
+  sha512.doc = "c5a73dc14138cf5f13494a3844e9bda29368dc129e6445bd3f1a7b1cfb60498c44d7527a673d51dea1d81b4a2db438078a406f76ed1597b6836015c588c79270";
+  sha512.source = "6bccdd73454b8a2ede4c1895e5b7019d136af0e79b72417a223d24d004807d02c51fdc3187ddfd8555233882e3a15862db9e3ec7753a349241b25227f8e223aa";
   hasRunfiles = true;
   version = "1.8";
 };
 "fancyvrb" = {
-  revision = 53392;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "18e96a9e2f0d397e83af318f2bdec75b9ccc819c1961ed3d1898ec5cdcdeee8d9f6cd3659e11184495045110ff9637088dd61382c039504722e0119da8c67af2";
-  sha512.doc = "cbae429b29f1bf6d6fd78f449e7b81cf81069db3cbfcc3aaabbc686f3c390db2bacfd13c483ed9bdfe8424276839a17d2ace710612cf014bdc27820cb16bb4fd";
+  sha512.run = "a692b41b5ad0a45f36f54e2583894449628077a8aceae0e1ff10631f8a21cbf56b8bd55f6cddaca2592151d0c238e4b17074f256ccb68ea9844c6050e7e64474";
+  sha512.doc = "c391f086847dc93b3b3ad03fa7898d753fdbaab76216f4c46495d82b6acf320bc74afdc69ce4058d6b12fb952859d9a7232013cf425afd018d44b322f9aef9a1";
   hasRunfiles = true;
-  version = "3.5";
+  version = "3.6";
 };
 "fandol" = {
   revision = 37889;
@@ -14002,11 +14426,11 @@ tl: { # no indentation
   version = "0.3";
 };
 "fascicules" = {
-  revision = 49457;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "5ca661dea7cad6094d66d0a843cf5f19183154f81773db38f9a13795a5b9d8646e9f0b471bbd741e5f25cd424f199b3a18d1257a7e8d07e0d812a04ae202ca24";
-  sha512.doc = "02d72ccdec87334da2c10d5a57b004357e36c8fc1aad33783e44992019fe3dcc8b8d6442d63870b4806c3dd080c3518bf94ae110531ac65947584301a11b4b51";
-  sha512.source = "c129da364d22c605feba74d4e93d7eb48c8b5a3ef77c60d2f930fa2d3c8f757bbf3fd8a5aa8f3afc688057d80d86acb5b74d2d9b422d387bc075e7e7122150d8";
+  sha512.run = "0d6318bea8660796a5ddeab06c416017ec2075633a391a536c7c3355de7b7e7f711e74f0e43e8b4fd39debfec797164f1961eb27776ca3b53eee729d0e27a479";
+  sha512.doc = "ee9a54c4b2d746577e94abb6d458c473f88bff18e4f0f57bed5923a1ef08c6ca533183ad9e9eb1d1bcfae6aa5082d88a9c08fe7cf96c3ab9d71ab099ec64c1c0";
+  sha512.source = "c5fec67754d84dc42dd6c62267c8a906a5717f53d9c063efc51b6cc45f3f616d270fa3af2658deac438739cb231bcf9b2c9497477c910f576ca943b80e03f3c9";
   hasRunfiles = true;
   version = "1";
 };
@@ -14019,12 +14443,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "fbb" = {
-  revision = 45277;
+  revision = 55728;
   stripPrefix = 0;
-  sha512.run = "eebe9b977296dc02938c13cb9a160612adafc00dbf200fdebaad5eb1efe8c41eafd6102e40b7be2e734fceb7c92cf84730182bc2743c5c68924b00a5769ad172";
-  sha512.doc = "480f1df4a1b1ad29f009d70f56e96ca3ea3e76ca913a86cc4b75850211dd4f92e3e43fd9ce832ebba98aae194111ed340af2f530f00edd37e4a63016dc7bc215";
+  sha512.run = "d63e140b60941f114b7aa7c82888c224715d6d173b88ca85aacdb3f7635aa928846e804e807830674d3bec0fc801435eb9e07406270c156d40e8c1994f50aa3c";
+  sha512.doc = "c63214ea5a91ea6bab66a866a65c2ee43c64f49afbc3235e2f55cc0de89fb3a269bea45fb7d67ccbcda4bac3249b2f2ab14f780fde7cbd112231b16e58eac67c";
   hasRunfiles = true;
-  version = "1.14";
+  version = "1.16";
 };
 "fbithesis" = {
   revision = 21340;
@@ -14036,12 +14460,12 @@ tl: { # no indentation
   version = "1.2m";
 };
 "fbox" = {
-  revision = 53320;
+  revision = 55627;
   stripPrefix = 0;
-  sha512.run = "c7b6b1af67b8984486b5327a1d017be65ee3f5bb026e9e41e929dd572125363aaa9726ed6d619903ad465c792f10ce52038f0ae7356d836799945416e96e18c3";
-  sha512.doc = "565c22a94102c184da9180cca35e840881bfee10c9f404dbec230e167f1f2587233d85851c9db6babbe29494c7ba4f6acc495464320df0a6f4055c29ae8eb1f2";
+  sha512.run = "6274daeacfe6901b63e1ea839990a00334ce218cd76d145ddd37e4a414e1fd395d8937bd019455e45bb52b557dd6b2b49cf90d84ca12cff797cdb8162414ea50";
+  sha512.doc = "13f85034f1814c814d7c6885650a35d97c483d47fe4e7279ae3872cf155d240084132732f71b38f6a0440d38fc1a2ed33cfa4ecc6d7a4c11b89f4c7d6b482204";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "fbs" = {
   revision = 15878;
@@ -14093,13 +14517,13 @@ tl: { # no indentation
   version = "0.8";
 };
 "fduthesis" = {
-  revision = 50738;
+  revision = 56216;
   stripPrefix = 0;
-  sha512.run = "2c33af9559603c08ee844cc0dd6dcb8a6c215f0b0c7cd25435b64b1ad6c83dec608c601ce16efdfbeda890258bb36df8eb549bf43bca21bd778e003cd637507c";
-  sha512.doc = "bc3d2c383233846631e5042742a08b5ca05d0cbe68fad908065310f00c50e9732af0b912eecf01496615d221a1ea6fa5f3d9be91c9533b97fdd642c47d6d8c5d";
-  sha512.source = "4f048791cfdfa5eb1dec273618111f0d8e685c9a638bb4aa2edc1e6ffcd11097aeaa85d9130be4ae8136c14277f85a22580c42fdde9a8f3602cdc57eb4beefdc";
+  sha512.run = "c91ca063c73e97947fc36c5d5c33cee2e9e963f9a4c993d209d3c2b0c950ba9a34f928a9e6fb5e3922b2757938651ea8f5eb6014f3878b0ae3f7f9cf4bab91c1";
+  sha512.doc = "1be56ed247773a6a28a17aa0a29446f1e2f63333efbfaa4533fc288a3ef7b2d635c10f36e51d8e1a414cf067155ad9dc109fdd93f5ed83900bc2a5eb5d94e4b4";
+  sha512.source = "73b13aa52c6cc5884b6785a995767e7de161071cb98fa6f695947efce7faafc6a61f1cca5c8cd73edca0216555b96c5f7a72b901bda9aac35df34f5d0b4fbe7a";
   hasRunfiles = true;
-  version = "0.7d";
+  version = "0.7e";
 };
 "featpost" = {
   revision = 35346;
@@ -14110,13 +14534,13 @@ tl: { # no indentation
   version = "0.8.8";
 };
 "fei" = {
-  revision = 53748;
+  revision = 55960;
   stripPrefix = 0;
-  sha512.run = "bbce2eab74a8fa480fd68bb0559c2bc41998ae119720ae2a2e2b2a0688fd0a61a817a4a7102d1c08a2aaf042182bc3fd4fdde64d2be66e0ec309276cbf47ef92";
-  sha512.doc = "dffd3e43bcee3c608d3b5f6b13e6ac721649db0bc7484357c34fd3a3c962cc7e4a5af2188d76a409ddc0cc7fd8111e8aa402d740a53b14b58c8be86f964e6243";
-  sha512.source = "819e66b25ef2f2221c79848d3c161aa7ab6f7406b95281f43860330093463dae5728cb452487b372e79446ef9f6f9265f33018c590f1a69c18331893cda15735";
+  sha512.run = "6f99d70485a3ecae3cef9af7e545cc15f5a45ae0f84266fe6d2d84f7ae58bc3b7e3138e28f42a577362176a996df05a2c12375aa4f58f14297619ab2f32a3cf7";
+  sha512.doc = "822502abad87da654f0cad81ec87bd6e1be92abeba74066a7f96da0455a80697855b783a75e30e3c1b0d740db9fd2880d25ae1668da9802843677c84dd3da424";
+  sha512.source = "d72b86ba677a71bf5dca8c2b39ae8bd202544a3320e93f776477e6977aeb3fe3d47f8362467b95ee6667fd46dff3801164380808693b16fa9065a31d694df7ac";
   hasRunfiles = true;
-  version = "4.7";
+  version = "4.10.1";
 };
 "fenixpar" = {
   revision = 24730;
@@ -14161,11 +14585,11 @@ tl: { # no indentation
   version = "1.0a";
 };
 "feyn" = {
-  revision = 45679;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "56e7d5b875db6eb6e5ad2b07d5696fa4fc6cea7d0f0f9d691bdec0fb90f16bbcac0c9f20f8f16bde20eabf98f72fbbd75831af1191b229cd7acca60bb2edda28";
-  sha512.doc = "df4454efa6f9130fac5ee2986abdd8eacb42063930ee194b65d94a1e1a90460c4116fd62da232f01f94fad63d9eaef627655aedadaaf034f910ebb97b40a7792";
-  sha512.source = "fbfa44afe7f1ae10566d736cadd02a3d9f562b19d25b2f23b1dc27fefc77d6b7af550e7161bba7c62d63f3c75d8b704dfdc3befadef9ad42ed42e42000ab4557";
+  sha512.run = "445d071bf76adb0c8ed89d294eff3129a1903624a1ca4dbfd5d83016edaccd5e2f8758273d8ef382696e8d3c9270526eb77ad2021b51f6df7e91c5c7a138d2c9";
+  sha512.doc = "e3202a822e034c179f399856ee57836950fb0e0cc0f664cf7155b6d5110762fbe26da596ea0e9fafe4bacce330ee57bfea1bec1ba2d16d4aad01dc868b00c2c9";
+  sha512.source = "64fbe2a9ce848bc5d862d5c74a59d007300c3e83b97b26f8ce8bbbda53931e563f6a1f8d406a43b6473564e5ebf4afcbf2c753fb763dd1be59ddafb8329e6e75";
   hasRunfiles = true;
   version = "0.4.1";
 };
@@ -14302,13 +14726,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "filehook" = {
-  revision = 53655;
+  revision = 56479;
   stripPrefix = 0;
-  sha512.run = "16196dfc6efde9c09a0a285e25672b144e8ec291fd76eff4e3e8db3c178c2b1bd84e18890c5fc392c7bb87640e8fc8a6683999454b0619fc96dd1628804bbaca";
-  sha512.doc = "0fe00874d60f10be246f8ce50060f84cd15b4448d52933a053b20e69fcf247823ccdda23b3282aa6d2317bc629b2cbb182c60967a2ebf23b64a4a57719664960";
-  sha512.source = "f1d0078a515810e9850a34341f2ac831beea2a636a58161782ef07554820bbd5ac7213d59d92a79924a07db53c45feb8be3442b5c9a7043e9005825049e34209";
+  sha512.run = "4591384d78ddb17648bc3bbbbad2b0e7f693a250e36b8cfb110233d909151352c337ff15ac0f53803a01ca2b59b85c7fcf4405cb67e04df1a0bd3bbcf18a6f07";
+  sha512.doc = "98e77091e4b46fe53276621f17dd015d88254e94340a33d7591c97ed031865fd85cab22cbd1e2ad6cf388362899b88cd529f8b8cfba13dcafd5a1790e815340e";
+  sha512.source = "ffb2ecd14c42307450179b1cf83244754f42b805afd37ac4003fb758bb5c975b0166b81540ec1fa3a34df42795af152b7325cd29208e8db3dc287fde1b70774f";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8a";
 };
 "fileinfo" = {
   revision = 28421;
@@ -14320,10 +14744,10 @@ tl: { # no indentation
   version = "0.81a";
 };
 "filemod" = {
-  revision = 24042;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "4ec27d16dc551d42f9ff326d20f78c48d73e7324af65f6ccb9e662dcd399394c631d9a742aef8a2efc235dfd769a04d22b4ba37eb8a2cd06631cba298540c08b";
-  sha512.doc = "88c1d8c61ed1759617c9cec7cecbb28459dd5e06f139ba3ca2f98d7b6357a15fc89dd90daf26e5f4d17f33fe9673a8c17363fb757ecb71d9e530f0e153ec486e";
+  sha512.run = "c927f700796e4cdb9d7d274fcb390b4e1c0c04ac95df8a8586eea3c8c6aee3daddeb9f6a53b3df103887a7635288f7ae316d09dc34603fe3a37f74bf45f85ef8";
+  sha512.doc = "96587219fdb00fcaea6d838b58b5a04169b17cdec1c937378255f7dfb48e687a205f08a20dc6654ab5565a68649ef67b796653479f95a4c022596626ddc5b16d";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -14359,10 +14783,10 @@ tl: { # no indentation
   version = "0.5";
 };
 "fira" = {
-  revision = 52339;
+  revision = 55437;
   stripPrefix = 0;
-  sha512.run = "3fdea4c886ccde87500e792a7508d5e7923d7a58f7f536b047ca537728f42c1ad44ffebb9b80869f1e30206e7f17ff5e694bd72b9d4c1a68eefcd01ec0b6d6ab";
-  sha512.doc = "b54acf3f963fcfbc58eec3fb1ba058724638939d6d0f63b69108c431e6014fc46313e7d2a11f2d31e1bf12041d6d85f426f2b0533a3669f3bed14ecffbb3ce3a";
+  sha512.run = "4e5ea926b9431b460b82130eb73a59c2cfb97146b30544f656f07f2cfcec0c5178dd4905829baac35ae05f49830d73074ae49d8f594bca03360f0ee6079a6876";
+  sha512.doc = "933810948368f3847cb7a3ad9f72724a82a995418caca97ebaf49569351d192a37357b502adf0aa0c7ff624994505c677ff8b5ed3b8739fd6bd2949dbafc85d5";
   hasRunfiles = true;
   version = "4.3";
 };
@@ -14388,6 +14812,15 @@ tl: { # no indentation
   sha512.run = "39641224689a1d45d59b5643e5037599d03df3ecbe95090d565778758d334bddf832e867a25c1688adbee1f99eea23b3ed21fd6729fb3d4e50f1503537c9a400";
   sha512.doc = "497080fdad8195bdc43bef476f9e678b49d83829f10a6653c9443d327cb0da8505623e941cd3038349b6307ee37a65ce1a3d3eb48e4c6262f9d636d10d96e17b";
 };
+"firstaid" = {
+  revision = 56540;
+  stripPrefix = 0;
+  sha512.run = "942020f0757742290ab01004dbbba27f5c6338df29fb088b2003ee4d65f11f9707c0dd30b140fe837308825404118372911ec63c7b576166573759488b8356c8";
+  sha512.doc = "3e63cf34a4c62a583b3f7a7147c3ee817ea2c382603da13e41fa2aab24f6da3a19a4c937c58903f49fa948955cd8cfcda2263ad75e9536d4105675dd0c420300";
+  sha512.source = "0c6a66c28fa54a7ef596bdc1b1c347847b844751407f89b8549a4ad06f2e1661566dad93ac2c0515da4e424d6685a8a8fefdded54e4fd36dd565b9cc0835a337";
+  hasRunfiles = true;
+  version = "1.0d";
+};
 "fitbox" = {
   revision = 50088;
   stripPrefix = 0;
@@ -14398,13 +14831,13 @@ tl: { # no indentation
   version = "1.02";
 };
 "fithesis" = {
-  revision = 47409;
+  revision = 54483;
   stripPrefix = 0;
-  sha512.run = "f21aa6a1866f0a4d21eb8ea1e1463e421fcc72c75b72f4a79efabeb65da21b633ff913cbf99eebc71232a9e020d2bb7743f520863563f7eaf9763bbf6e9ad29c";
-  sha512.doc = "ba5c0e75760119d9423cef3d26eac3f4b5621c80e760ef026aeef68589b5a724b0c7837088652e4e369fc48850a3d78c0e86f1f2b1149118a17739b5b9c0809b";
-  sha512.source = "33f8a8bdec9faa2b8a57d874c869d52e6b612c9d24da4ac701355c1ac681644388d516ee7358a0805ffb04ba6842d7c1eea533c17b4b14fd3c87acfee180a17f";
+  sha512.run = "fda3b077f21307d883b6808fe69b7dafc7d9f44c60ce48bcf10ef14e22c03b4c91b73b9fb626a2c1a8171aa3b66defcc926705c70ab5a264c8c64b847c66ab06";
+  sha512.doc = "7445bd2d5065db20e62a4454fa4f7bd39bbf7df0681ca5e73af06e21b9121b72c32ce8903f453f5c24e7c82f987726f8c9d3a54f40b44f9e6c5c6e419be9cdbc";
+  sha512.source = "087fd64585722b8fac089f7e7a07bd500f712a6fd8044164f1b26293cf18ee58c4f32f48072d08fab3c93af7d85aa5ac40ef7c86ab5c5081a862247675f7a02b";
   hasRunfiles = true;
-  version = "0.3.50";
+  version = "0.3.51";
 };
 "fix2col" = {
   revision = 38770;
@@ -14483,10 +14916,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fiziko" = {
-  revision = 50293;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "785f99a52193acc630e5fb00cc2db9e16795f42059d65054b0fa07f8081b95e66a245fd05c8b3ee49a69d91a17e7447d10c39863612e44e2632afd5fd0165e38";
-  sha512.doc = "e9aafff476605082dd4116cda573c8f20311659276ccc7dc3477a24024d59604b4b8f724effc853d7d7832493658fb4f8b83302921544ba2c986266317f5a895";
+  sha512.run = "d76d828bbb7d54596c7e3127d2d2c92f9da7572892d5b0a5b139536e9d765875555bb831aeafc67e56e4f2234462aed14aaabfff2685b30bb53bce89cadf0e90";
+  sha512.doc = "c04516bcdaa607d01a558f1f30729792365c9aeb4bbd116f4523f398c261a6fbc01eaeb64b5fa6ba008c38a8f1f2e4c9fae8de40bb4255e35bc80059cd50d23a";
   hasRunfiles = true;
   version = "0.1.3";
 };
@@ -14603,11 +15036,11 @@ tl: { # no indentation
   version = "1.17";
 };
 "fltpoint" = {
-  revision = 15878;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "8991df799bab2ef9e9e7787123a61752260122ebda5491a22d8bd0aad88810bce93fd78e1fd6f79e58bd274684c2495225513d0f69591cc3e92a052ba51baa67";
-  sha512.doc = "3b175372a197bdb243776d068e797e8f318200e6fb9cffd1ff612cd771a4c53e9e26b36079c2b392caa77b1ab430bf3ad7a6dc235a91f25662904ee702a84508";
-  sha512.source = "da74554dbe3e21061ec4d0405a59f3705c821dacb359736d7c769536143b22ece17114ccba579ec4a0b941d37a6c60753dc8daaa6593b2df17335070c098861f";
+  sha512.run = "906155f3bb5fa81cd4e97a375c37774db1ad4db388f334867cb5ba30735ec4ded5461eabcc833951b5d8a6e2403eec02e0f464d35f109304b9d6152638949b00";
+  sha512.doc = "3c023dcb86eddffb28e0937f9d31dada6c82852e44a430c892feff9572c81d9830e4524f742afd958a79f0af63e72311ece43c9eb0e2d8434d871fe144b7fab5";
+  sha512.source = "cf5031d06ada079028382b5e845df5b69330fe23412aeb2226af725333dd9d5f4b0915f5de2c46bcfaf6809c9f85479f6257c6e7825c076f896c5f411e3ba9ef";
   hasRunfiles = true;
   version = "1.1b";
 };
@@ -14669,10 +15102,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fnpct" = {
-  revision = 52294;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "ab53cf7a616b6de5c5914efce55698dc02687892ae7065cf480eb2be1320592236f4150d520d606cac815b7a9c25c025d47bb981e28ff82ee0b16e7e39daac36";
-  sha512.doc = "ef357a4e65cc4e5ebc1a73a744e3eaf054d9d940573f456171209d5d333a7ae63f572e37cc4e78dbd3a5c0495d450802e8d9e18b6dabd7e973595ff7fbfe726f";
+  sha512.run = "121402c07a24dd52b12aeed583b8426ac5f84bc4e5d2ce1a94b343e128bc30d0d91bbfc794dcae7621b990181766a737fc81da36b89825b3a97419d2679f52cd";
+  sha512.doc = "ce1d0fb3004c1690b441f6a68bc06f108e0230c6ad53ba79a2087da2b3a92350d75cb10279b75f823703500794f8c19c218059a03179c9cf3063e1aaaa2ffcaa";
   hasRunfiles = true;
   version = "0.5";
 };
@@ -14748,21 +15181,21 @@ tl: { # no indentation
   version = "4.6.3.2";
 };
 "fontawesome5" = {
-  revision = 53434;
+  revision = 54517;
   stripPrefix = 0;
-  sha512.run = "766985dd08abe4df21c4246bc387ad55075921377ce0f53fee67995a04bd6e85ca20c1135da6e906ef92ca63db89bd56ae82de7607ee955bdb272532f360b594";
-  sha512.doc = "1e627742b48a0c3eabf18402592fbdf265b35cb884e9863d00d456fc3b0f1301c67ee8d249ed7299f6a7f11768db9d97b940d1d8238a7b43881710b59ff08b44";
+  sha512.run = "2d33d6faae95c3d275fad5e0a962e7e8943ece8e311555915adf6f9cec9864e00a4309d42e7e171220f16c7ce8f7253499513f0d118685f0a7373de98c9fc886";
+  sha512.doc = "24c198c2abfc82930b43d04b1b855715c48b7b1d2517d955745b6eaea8b4d81496af627907a3e7d9bb232df442c965a1ea84c427bc1a8c964cc83dc123392051";
   hasRunfiles = true;
-  version = "5.12.0.1";
+  version = "5.13.0";
 };
 "fontaxes" = {
-  revision = 33276;
+  revision = 55920;
   stripPrefix = 0;
-  sha512.run = "69aba944977a676c557d2015aac1058091b96b52a50da52cc733187b96ca02b7a8dedcbfc848198442a5f62c824ee9e977696677f9aae267579f09d2e1637f73";
-  sha512.doc = "f7e0986d9f811b6436ecfc42c943bc2b21b83cb94d8bdbd5daea3ab66fec5bff2033f56ad9509e9e9591b78e68dae1ea76e810bff51469583aba9c8b691898e0";
-  sha512.source = "6c966d9c88e62d772b0a011acd77a81e73ea92130de23d0f676bdbdff1c65bb73f54e3abb03c744e6eb7a48c22f3bf0284c1a8ca1ab0538686586e737526156c";
+  sha512.run = "49a2a2a3cc34370fc8db7c08446b2d12cb7b8a9ce6913568d7588c051683e24b859af23c440df1c815ab1b65f5b5de32242df344dad8102eba7ec1383b02c112";
+  sha512.doc = "c37621f082498bfc4c2ed0717fbe18b56032a7d5faef1ca7a73c4fd22adcfb8f7e517ced768511636d4c8488932d3b33a96137837f34c79416b9c5d8d852456c";
+  sha512.source = "f0bb1bdb666c9afc19ea333ec3919716565be9454970e7a9e3930f503ea7e31ebc4273a16dff6fb2ae44701ccab1ffa2e9c285ac145ed32294b47b68fff91267";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "1.0e";
 };
 "fontbook" = {
   revision = 23608;
@@ -14804,57 +15237,57 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fontools" = {
-  revision = 53593;
-  sha512.run = "925615ad004844670af5fb6fa3e456dcf2e130b1e10cb64eb40967dc5d1af300f401c87e4f2bc44dc39af0fea0498fd6a6445181e7e21a63a007cf7d0a54e388";
-  sha512.doc = "a31f98f3791b464c1165f852000ee7408ca49e9a12efdf45c64d38b170e352508e0e5e4b3c9cc264799f184024e780fd968161bb03c520f39dd178256bb300f7";
+  revision = 55997;
+  sha512.run = "6f6951661291e667983551fbb7ffbac6e25e22aadf94f53de6960855a97a5e2b4fdfab50ceb893d82ec0b459415a95c25310cf1038be31809dad965eb9f43cff";
+  sha512.doc = "de10b5508557a0a3dae7ddabbc3326c106d878492f6cd305600b20498bcfbd244a793604ec42ca44b6a51632512347ba60f70908bd669e7308b81504e96bb737";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
-  revision = 43121;
+  revision = 56350;
   stripPrefix = 0;
-  sha512.run = "ab57be2bda808cce456fe2fe75d0c9f7560d1ed376631c907723d156360f8f20f734d4a2379273c8b8378a6cc124376574c162e3f95c4588c688dce34fb49029";
-  sha512.doc = "596ae1cb37b35ab59bc712653ec873250cded1968b3e4874295692812ad4001c6f352c396ef6d224571da630d730cbe41f98bc5a3a5374a2f9532f9424f7a0b9";
+  sha512.run = "308101704643f3a028b4d58cbfb021ec05640370542e83faa6c0070fcf60c168f789a3a7f5ea50e6d2568faa2660f224488f188ea6fa30f649e8e013ce7a4025";
+  sha512.doc = "856d1112c5929b361f5c3543455ac0f2ac1b8887bae8b7ce6e94540b1673ed815cb73aa08ab50617213c20bbc6fce86e84bf0a3bcb6521940c077e7c7a6a8469";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.2";
 };
 "fonts-tlwg" = {
-  revision = 49085;
+  revision = 54994;
   stripPrefix = 0;
-  sha512.run = "4d614651cab9a02809065b169f56685a7643a28d616f7b221dd6750c19bee5b4357ea003e4a0956fda585d73054288a2c7f60a8f1fa86650e2f175b08eaca35d";
-  sha512.doc = "a0245c7b68836a8c80830fae693016fafd3b218340bcdcf2926ba88dc845759ddd7d02c7b50b025b6411667ce35f562ee6dd7cd9f2d7e8e7f0d6570184242987";
-  sha512.source = "3fe3ffd8a171c886764bcc435e9e8b38ddcd888b993d4864591a2e0a05ed27efa9cf9a8aa5ff8ab900856285a3cba5fda7adf8d7a600476adc4c546b408df5cb";
+  sha512.run = "7239ecb9ffb0dea42d339b1f758c3c4c11f18b6850b5265296c04027922d5ec882d7ee2b6eaf4abb0d2e702ff349833adedc36dd18eac492e191f43da267fdc9";
+  sha512.doc = "a122c38181cb85964e6344c6652e20444e09943cab0d5a25580aaf4cb691cda33808972dbe3a7cfc7cb7970a7233741111fe52d93d51e3fe06615710be4089de";
+  sha512.source = "901b278e652010001b05d485b8a1e1d339c5f69b957965b3bb54791b2ea91d4db5e3ad93d168ae909dde39fe3569b82ba998b372021c66fbd4292bc468f43ddf";
   hasRunfiles = true;
-  version = "0.7.1";
+  version = "0.7.2";
 };
 "fontsetup" = {
-  revision = 53195;
+  revision = 56428;
   stripPrefix = 0;
-  sha512.run = "3affc864780a057995aaf3f2b4512a3577708433f92597f1c43f01761d65579f71559d39a14b29f12860c86cfeffa3aabb243f701d04a7d1b8901b72f409ecab";
-  sha512.doc = "7ef9b087ea0ff5bf62a553841c4e7ab976e08a0bf1b6d1b325c25e69d8ba0137d751d3f238e3b175060fd01f53b95b9bd775166a014567020ef63cc7c55101d8";
+  sha512.run = "b942f52d4d5b8f62dc56f155fe1b2f250a73a076e29383b6348dfb116c5db47868aed3e48351ad1134d35fc2d7d042d782a07ba23faee4963d25a995162076d1";
+  sha512.doc = "afa300891632d757c80bfcead86216633b1c6e1232ec85f8532bb5a912a7bfe3e169cdad6ba9eab80780a4969113cac34682bca007594b6f7a07303532a6f6b9";
   hasRunfiles = true;
-  version = "1.002";
+  version = "1.007";
 };
 "fontsize" = {
-  revision = 53874;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "e174166999dac65cdf95a0d1bb79c88858ad448608bdc1ccc3390f04d4b5e02a4e219539092aaeb4217a44a1d230d977a482b4b63c67e0c7582d75ac2c85e98c";
-  sha512.doc = "049f38a64e19dd9eaae0f2a26d7c6ce2fea6e7e7078ca63818beedd830c4f3e2e52e0ab4da1865e58752c73910c62da47c456345f7452d902eb2e9b778cc7086";
-  sha512.source = "c25db2e82383e0cec01cdc7ba3bdfefb3f2fac0cf44ce24e0f807d39dddbf316818b01f383dbfa574d5232d7ddbf56da567a76b3beb35c9a84f2388944af3923";
+  sha512.run = "87a6151725f2cd238634c73c1f57872771b2095ce110fe10e32ff0d86c274565f8d61bf056935b968f7ffe497374f129d3312eb07f49100332245b572d592063";
+  sha512.doc = "3187d501d01780526987c9a903184f446dd9197b0b2c89afa94ec13ab19db2a2c95d3455e01194b6cce89b3c708f89be060024f1632041100587b84261c82e95";
+  sha512.source = "39d501c60870666bd38b392e70c36bc36d4a262c1dd1aebbcb5da90e904fbf5fbd492dd3c518dc15fd73be67f69e57975f73e6e825e5731e9325fdc11b0684ef";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "fontspec" = {
-  revision = 53860;
+  revision = 56594;
   stripPrefix = 0;
+  deps."euenc" = tl."euenc";
   deps."iftex" = tl."iftex";
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
-  deps."xunicode" = tl."xunicode";
   deps."lm" = tl."lm";
-  deps."euenc" = tl."euenc";
-  sha512.run = "ef65e31a03f5bfe5dad80aa3bd33c5eca727e3200a9cee5bb199908accf429464efcf999680b02776f2ca49f8bf8175520fc91bf37eee03bd9e0fe87feadc941";
-  sha512.doc = "c3f3c52ba06d107913d2b47c9784b1807461051dfb9e3705efaa5ea3a400f98c975f200411599ea5755c46d9919e4f90721e8d7f8ae89e940866a2beb88b4424";
-  sha512.source = "ec740228a34972d328e854f45678dc421c92dffb105d743ffe8845b56ad581031a7f97b28c2703a9c7166fa4c166af45f9f2be69a7cec94d6f0bfd85123d453b";
+  deps."xunicode" = tl."xunicode";
+  sha512.run = "5c2013702cb65edbbd8d6e2c94eb8e181c7400f55593771d48e790cd32d8651e2ccb8fb41d89dffe7fb7ddd3219745102ec1934ad0dc5a24701f2c6a29107078";
+  sha512.doc = "bef134b11346e3d06e33fd9ff0c80fa6d904c8cd481d2c55702766cac2d9553298f05dee9e0b4b57238d1c9e140176fa26d29dcdaee990712fd4a3f0148b26fe";
+  sha512.source = "b64ffed6c06042ffab0faeba22b0df184b2fd0d27f8b312c65b33967021b860915d0c73f1ac9e3a9ac3125c5c7238038790b5d73127d02cb2ed51c64fdfaffab";
   hasRunfiles = true;
   version = "2.7i";
 };
@@ -14868,9 +15301,9 @@ tl: { # no indentation
   version = "1.6c";
 };
 "fontware" = {
-  revision = 50602;
-  sha512.run = "6f6a58e0c804ff0aac48be7646bf1ef9eb13028e6b2d25d69b4764280d71ba57e5e48eded61b4855794efddcc7f1520b24a52f09ed541a975c205b11b23abc49";
-  sha512.doc = "9ab42743fef5a65eaaa0ab186bdef895f8e7e3d95688fecdac8f7b59e064fc20f2b31bf5ef1b9b6676f3bf901867b06c25792ad07b2a13192e7290b5fbef33dd";
+  revision = 56291;
+  sha512.run = "bb88be9c1df400e071dea478443aec55df1b094bdc5a3fb51faddd7b504f4fce79a830b55a8ef3bc94f394fa57b99f6e88bf44d6d80d32d091027b8bd018903c";
+  sha512.doc = "1d1b04235b2823c105a0521ece55a0fca6ee54d7a4f990d664c046b8e47b3e1c53c7c62617f943dae4a6a1837d0dbe9d46c2fda57c0f0229a5b7c650d2f569ea";
 };
 "fontwrap" = {
   revision = 15878;
@@ -14969,10 +15402,10 @@ tl: { # no indentation
   version = "2.1.5";
 };
 "forest-quickstart" = {
-  revision = 42503;
+  revision = 55688;
   stripPrefix = 0;
-  sha512.run = "14c3512b55e7653d26571a73216cd1eb5bc4d7ec8b74ae71475c37372552fb309c148e91d4e973bd60710f2a43af9a8ddb6ad99087fd2a9b76da896e521eadbe";
-  sha512.doc = "c53a365ccb1a4059c9440b8f23b3ec0bbafcbed14f871c92b99abaf91adc4bb42ac1d3b784cf545a6352298bded8b4cc7f6b2e114625335af5d9d003fcf922ba";
+  sha512.run = "52e77fa1a6aca02eb15838d7c04e37744cb4f37f0bb078fa571c1309244fc329d92b553f3e7c62f574561929b5e4964b71cd2cca3d17d4f9d13f9bdb9b0ab8b5";
+  sha512.doc = "974a0d0e5a5e7e640e4e18cc5eb59b5a10efa7c5ab4f81e2915e9bbea30bcd68323cf95c62891ce1711d822336e5ee054735761a474d186e3c9f11fd4dcf6f9a";
 };
 "forloop" = {
   revision = 15878;
@@ -15018,10 +15451,10 @@ tl: { # no indentation
   version = "1.0a";
 };
 "forum" = {
-  revision = 53179;
+  revision = 56025;
   stripPrefix = 0;
-  sha512.run = "05fa8a77cc9bc2ea5ca7dd5962d56a4885ccc3d86f5d1af44d80231a7a803bb7818b4fa1ef1159ac56a22ced86fbbf6b02f4b20acafca4c1f7af36f7868ce8a9";
-  sha512.doc = "0bb1d74e658088d53f8adc83c4e8efa37469671860993512996631b18a99188f671a28bb4cd6ecfdc37b6e4e7f09118289f2ef83bdbcb726cf8a6055f3386496";
+  sha512.run = "fafb6f261a58546c717cd37dd0d5bc3f22b4342d28a62f6cb5dff8132993dc0a4081681e1ad2acdd96421b8d758b7079028b50507586e66dbd80fa6adb0cb180";
+  sha512.doc = "b4b86a30087dfb1d8a3fb2edc9535926717e07ce619ab7ecfd709b93abb1ed4535893bbc6a0b40c9dc93f16f5c556639f8875bc1ae8183e38715aa383efd6a29";
   hasRunfiles = true;
 };
 "fouridx" = {
@@ -15034,12 +15467,12 @@ tl: { # no indentation
   version = "2.00";
 };
 "fourier" = {
-  revision = 53401;
+  revision = 54090;
   stripPrefix = 0;
-  sha512.run = "25578e0293ca10081e8266a4984280c8af9a33ada6102e8a5369e1207cb213e132be5b93ddfbc19c0e8f2d1117eb84311521dfc65e99a86137e0e545d773d782";
-  sha512.doc = "c5b0ee9b007607345c8b6d50087fa0ffca8ca5d472c4ee513ea6219e53312305cf8770079facc38adf628b9f344a1a23eb041cf437b1478324bf42102fd9b78c";
+  sha512.run = "4e4e5bad7ce25c67ec925145531e1a27344735e32e2c7053fa73ddd1559ad3d2f5fce00c92c5dc09731a90666fb5c80aa9702adc7bc4469239ca5ae62c23644c";
+  sha512.doc = "59d1d7ebe7e44c1b5409a9b49e83845aeadcbcbecbf30176b3bc4156f7f611878fd3ee17405df48d3b4e41dd8c95d6dcc24080f15801959c1b2ae83a7a2311ae";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "fouriernc" = {
   revision = 29646;
@@ -15057,11 +15490,11 @@ tl: { # no indentation
   version = "2.1d";
 };
 "fpl" = {
-  revision = 49603;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "5bd87e686f418d0ef76ca1868b5034ebf5239665dfa52eff5d9e559a733420891ec2f17d7e08b527a422b8c4cf6ebaaa80753abace423759fa06beecef31228e";
-  sha512.doc = "b101782fdbe6896cc49fd81b6ec213d5b9951d3e80de22d7797bbb34ee4ae18d3ad6650fb05e57983cd665d09d23f3d7efeb4dd1b14c294373f9d0df95e66162";
-  sha512.source = "7c98491db4a2844340c33f9f23f90a50c7a41404c010aab8ecf544c504787758ba86265da3f988453c3ddc3972df8dda55091b3ff5751d2c60ff4c5bab24a059";
+  sha512.run = "9c8ca7ebe7124afec8ba3f4ba4fc27c0a54ab460e53afeab599dcc619f81e5f8ad744a3cd68df33cb6ce456d0db0fafe7ee04d585dbc3fc123e5758a1242cef7";
+  sha512.doc = "7b951310a10295bb453eed81ae668f042262094971dcd48c83ab721220094b3a62b79b5090002cc8a7a1fa12b4e75157fd8ead7c4deed8fa1d3629cc6746e8d8";
+  sha512.source = "64da822f5b40bb6abfa33d19bec50d8e002452a710d0d6ba3c5e66097e9a33f6718524471fdc716ecb951fcb2ad82659288a08ef85b72229ba40297fc33f7727";
   hasRunfiles = true;
   version = "1.003";
 };
@@ -15159,6 +15592,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4a";
 };
+"frpseudocode" = {
+  revision = 56088;
+  stripPrefix = 0;
+  sha512.run = "f8807f696b69f5ad8b08ee24c210c084e11652d8f00b996e48f5e08c894e991b0f2cb288ac72e6b45208add3185a3e14fcfb432d8b2d2844359f54811859cb07";
+  sha512.doc = "6c22157462f55d2c19a8da146558556eef0e28ed7f79c5231b282ad218b041d1d850ffd24c8f06c914ae5d9efd04d442061598f6f427ffe9393cb2ff1a4324ed";
+  hasRunfiles = true;
+  version = "0.3.0";
+};
 "ftc-notebook" = {
   revision = 50043;
   stripPrefix = 0;
@@ -15294,20 +15735,20 @@ tl: { # no indentation
   version = "1.0";
 };
 "gammas" = {
-  revision = 50012;
+  revision = 56403;
   stripPrefix = 0;
-  sha512.run = "96be5ba2abc71f93d044d762403f294082e9afd10ff4f159713ae906233d1581ba408205746f968e10f84ce4e79e633a4f203ec4a8dade3f9738d0f277cb703d";
-  sha512.doc = "0c1739b475a45149deb78daca921ff8cdba4555d466fcf26ee0098632b835f650d5bc5e9855aba889a0caaa2a64e08d7afe1021d6171984bde3161c3543fe7f9";
+  sha512.run = "8ecc1d5209ee6492e032b30e217dbbd0ae4c1ad9ab5a42e7e042eee63809aa257c8cc5d720f54be5553c8999f78334b8057bdac1134d4788144a3cafade7154e";
+  sha512.doc = "62ec08047df846d2e32be9396356fdbdb9eb9c1867079a891bececc1d56275666127d997ddd4ed2c2f73423dc4a2e051586a1b06b516fb77372b04c60a4ca342";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "garamond-libre" = {
-  revision = 51703;
+  revision = 55166;
   stripPrefix = 0;
-  sha512.run = "3ef5b7bc8255319a25245616f1750cb09422a9dc0184f0e7a13d481e7124278e093dcc2962f9d65a621bd1ccf54ac82f46d74c5a97b5a2117f8e23c7a39fe587";
-  sha512.doc = "d62d901e83e943653058d64c20135e460d5c8418665e5418439eaeaf662666011e5563fcea1bf3e68980bfde9a9572ad92a4a60d6755acd8737fb10932483d51";
+  sha512.run = "501f42272f35f6b454f9cdecec28b67ed7689a0a9d3b3a019b418ffbb9a116c1bba71bf1da971d6f39744ecbeebeec29e6a9546e11d672176a715570b3667aea";
+  sha512.doc = "2a88d41b8c52af7f8b1e143f31a87fd392b057846e390f77a3b5c471c287d57dd35e0fe544d00e6e5513decd7a68b2b2c1a6049b02f04fe25ea2d2825bf13a1a";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.4";
 };
 "garamond-math" = {
   revision = 52820;
@@ -15332,10 +15773,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gastex" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "b6e90db05d820b5e8001fb5d7168449d1fb6ed0679d158850ab4e5ad1166ebbe05680d190bcaf3c2808e2fffa6b3ddb2a824f223855182960cf849370493a1ba";
-  sha512.doc = "2890b569863b2d65a2df850e0e885e15754ba4b483fd559c0f914fd5ef2516a4b33944d365fd58a381a1992a22bddf69166cec0bf2b1072c9aed7829fa21903b";
+  sha512.run = "939142864203971e18d58144112a9df6cc5f2c9ee44bec72380f69b832018a7ced00f70f38af20931602c0a3e528d2dfc50f13f1a5852a723c365f229cdb881e";
+  sha512.doc = "eac730edbce3e452fb02c233154de7a9a20e410ec32fab4070c7d32a99c155b6f8423a2960a7e307cacc3fdea88252a1f1a6fa7fff8f2c4fc615c25e95e55177";
   hasRunfiles = true;
   version = "2.8";
 };
@@ -15379,13 +15820,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gbt7714" = {
-  revision = 52870;
+  revision = 55482;
   stripPrefix = 0;
-  sha512.run = "91bf06c6bfb5ce2a5a9ea1fc729e3438a385d2b3071adff342816f5c914e6047d80393778b1919f21da51293a86960d5b00d08d73a4bbbe499142d7700936606";
-  sha512.doc = "6eb4e9c23987bfd19fa18cbf89a5c21f0893e5d7d2dc704e9cff435f1de9497083ac54f886a3c87c40db95db22f607532e44b2b903e51f0a3251f1f143242633";
-  sha512.source = "2dc153cfe75d6ca026348df3dc796078faafab54ae2f9563735ea371892ec58d077519712ca7c5d90a9f41886ea932da91d2942b6dca4f89bc2c7d50f1c2ebd7";
+  sha512.run = "e90253212cf40c26ab7842b04eb62cad61e7219d75b8fd3d49d3159492986fd79abc52c17b881c463f707fc80fc10d4616940e2a429cba2b4a927db2f1d7cad9";
+  sha512.doc = "3b16f46fb4cee9a331d68c38f16c2e1546f6a3860b8eac7168544b3e392a8585ddaafd5b727ac8d16b5140df549028a50c82a7758bbc2aca0ae9b1d516de9941";
+  sha512.source = "c44225f978569cafc7bcf76378a3ac61879e7c18b29f2665e22ad43ac0e356bc0228a95ea18a9f10c9204a567e6a2417e7895224dae2a5417ef54332c06860c7";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "2.0.2";
 };
 "gcard" = {
   revision = 15878;
@@ -15436,18 +15877,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "genealogytree" = {
-  revision = 50872;
-  stripPrefix = 0;
-  sha512.run = "295a763f682dc1acb025856df4de0474d3893d87cf0e530a2b3f72ef7a37dae87d34c97abbf40898f920f188f7cfb7366b654004b7c577b409ff14caf25c1072";
-  sha512.doc = "9ef261874b54e2d5d092b2f362ba0e5ed6b1932f433290ebe6fda61cb87aaa3b6ba09708df31d6b10c1263288fb62ef79878ff0dbfbe104d83d3b4559292b6f5";
-  hasRunfiles = true;
-  version = "1.32";
-};
-"genmisc" = {
-  revision = 45851;
+  revision = 55978;
   stripPrefix = 0;
-  sha512.run = "3e41f140088d5340e2ee6dd022eedf2dd9d9e6424d5a2467a674334b4afa079d91039e1eb018c4e95bea47d61dc32350a3b30897ff9e4c70cf9eba36a29f07ca";
+  sha512.run = "80ff65cb67a5d431e316b6cb52d001ba63b346f117251a06c560c506f8adfc81644cc36d113b0a612acbc9b78c8627ead8c75a449486982ec786accaa79d2af5";
+  sha512.doc = "708639b248db280a26291d24594c70fdbefb8a4f6cb581ab5e95e1d2e1f122f29a5412ce876604afed42c881d02c4baaaae73aade99b246160895087394b7906";
   hasRunfiles = true;
+  version = "2.01";
 };
 "genmpage" = {
   revision = 15878;
@@ -15459,11 +15894,11 @@ tl: { # no indentation
   version = "0.3.1";
 };
 "gentium-tug" = {
-  revision = 51613;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "b95a521b417f21379e61b7afec5462f06e3e20265f9566d40a19fd6ba430b02c6a3994a2861ca1f885612bfab0ac174ac89fb2221734e33aaf267c2a532e56a5";
-  sha512.doc = "074d5a42ddc427f240a956aca94d95b065813206b2ba66778de032665b924d02065cefa17dce14671b31bb8e455215bc34cdae29ee09a2db8b6e330fad3e7e1a";
-  sha512.source = "0c660e919f9482d16ef6ec5fcc91a894b2425a250951db1f688f6d2d13ccab5463225cce652b35f0f7e3781e046fe42f7dfdd285eb85deafaf420e0100dbb01c";
+  sha512.run = "4cc398baae4fd17854f92b2c995b77316111018d3e7c86c89cbc966febd26b329024227d295be440019fab6d4f6008dd2110a3005d1a86d88113e104b9f2c9e8";
+  sha512.doc = "2bb2267aa54d027fc83f492125943529497c3c611e187eb12d099d46f96fe5d48a56837332eec1c7ffde97007f6f311057aadf4e1ddc1862a490912b7a1c434b";
+  sha512.source = "ff084fc9f2644ac49e9267c1f3a87c09445399db4e3e8633e25bee5b54b15a091053a0754ecabb2f67a0e85a07060ab81cdf8353adc24dc7f0087ed104bd8d92";
   hasRunfiles = true;
   version = "1.1.1";
 };
@@ -15474,21 +15909,20 @@ tl: { # no indentation
   sha512.doc = "fe296c5bc38a1e6d13d2b46dc8081a6658764f7017d0831cfd46dd86082371d6ae095ec3b52b3aaaacc0a57cbcee066b94644a5746391fae4129eebaa246e146";
 };
 "gentombow" = {
-  revision = 51697;
+  revision = 56429;
   stripPrefix = 0;
-  sha512.run = "4643d4146fe341552af7b3600b61b7c852427fca554b9c7fd4eddd3b1645ec7a686a799fa2371e0a9b1cad02ab5aa965a690daed477ea8c14711343e8c274992";
-  sha512.doc = "0de50b7a73f752f36bca2ae985a53b1203e9bfc733e2cc3bb5e7ed9afbab0bc59b91cba95a315d8f41a4097402ac9c84a5fa86bbbffaf003fd1bb7da643af54e";
-  sha512.source = "d73b8bcaa902875be9fbc2620e69a85deb226337b9c330a1e083bc6b73690db214a8a426d243b41b50ac708911559ad8287f7842cd449039b98510c04b75bec1";
+  sha512.run = "f01a53df6b891306b832bd09462d3ecca748bd072ea1aff03414a38b6996842799ea32648b5494992a168633de0dd6679f76a36badf1592776c1098ca0a1abab";
+  sha512.doc = "6d5c8917de96ffef7b393b5e9ba286faa968828920132f77086ab4f3ecf919ae75181ac5ab40674d400d530055de075a99900132b613fe317c691fc4d5ce637a";
   hasRunfiles = true;
 };
 "geometry" = {
-  revision = 53299;
+  revision = 54080;
   stripPrefix = 0;
   deps."graphics" = tl."graphics";
   deps."iftex" = tl."iftex";
-  sha512.run = "991f8b0da99e4d7ecd2966cbc1e8a9ec3ce085ba18030492fdba5068111816e077f284ba782160265ef3f7f0fe436242a5b31f411bdf8db198f15af9d09c3a6a";
-  sha512.doc = "046d18d86f13dac1ddf0171bd54bb38d09e5537a202a32de52e801816ed72438809b8f2e82f9d00c0af887e5373f23c2593e0aeb834f04b1e19c849435a913c7";
-  sha512.source = "5296e913b7ee92a1dd26798a1082ee4c01f08a1a75fa389a60505854c556be6b7acf34fbbde832465cb1312bf1cb9428b2d13f8ff4cb3f0ade68a1b4f371d646";
+  sha512.run = "ca5393e23639894401094084c3c2e30acf12491dcbd3968a4af79037b6dfb6b86f07acfec6886d89a261991cbdebdc846d9804f125aecd4cd77c3e71968bcfe4";
+  sha512.doc = "4bd5ec66f725516ef4d5d3e83e3b75a9b4408fe947161e3d885b929b34c4b60437c3fcd32472486aec12c9665b5c0d71a22896055a613c641bda4c4aa987f76f";
+  sha512.source = "03c27863d6bded295176550743bbe7cbe6aea2b8f1365f7d0cadabd6d29b699efab98b98d2ea5f8baeaf19963a681b9852b2bd01769b326942c781fd0644644e";
   hasRunfiles = true;
   version = "5.9";
 };
@@ -15607,10 +16041,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "gfsdidot" = {
-  revision = 46310;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "9e6ea7c3d5b7ecff95270b17879297abcccb62df11ab7eba54f02e7fc2c732d1be39b052e3b4b6eff9990ad010e46f73b40b4134b4e024f7d914a1bde29b4a7e";
-  sha512.doc = "93bf3a4fbff9e0c936877b135a487739a7f48c2797cce9d27c2a9f173fd290c2da5a3a3f30ca883ea057ec47a4695d54f5e85ae01f13af40e1dfd3210cc7c273";
+  sha512.run = "1f85b632dd3ff67144a83f9804d4408a4a39647303ede905d5ebd5386ac519ed73ed65cab6cd07242c72fdbea94650eaf25b6b4e7a09aef1c71be62f399c4248";
+  sha512.doc = "7ba7a00cf878c99c8daf855c0124d4027d7404739515079b2c0b2d7e38abb508a1b7e05beb2ee5036bf25d2b2a5c2377e4f397042b6bdf22376ab4a9a5e115c5";
   hasRunfiles = true;
 };
 "gfsdidotclassic" = {
@@ -15622,10 +16056,10 @@ tl: { # no indentation
   version = "001.001";
 };
 "gfsneohellenic" = {
-  revision = 31979;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "c8ec8f9fba5d653e5497a9812c5978a21cdb5b59f6bb0f45441c761d2afeff1c055c48f1b07c4f56c6ba6a6adb2f99525d838fc7850c7c97bb3f3e0f67f50dbe";
-  sha512.doc = "581bd169fc4f6ed92453e2e8f50ee0efa4d3ea282b710c340d1f05f8ccd1e117721ef4b9e9fd6553912ca60d8ee63eccadeac710186cfae62a39842d31b5b766";
+  sha512.run = "bd8fbea65fafc3c09fd1a53ffd7de48e93f160a49bba902efe155913bbda5fd2bf38e0d4d2242ec8152dc869959128cfdad49ded95d196aed1c39fbaad62c527";
+  sha512.doc = "d10d56caab42b2bd25f246726616e359ee10f934469e59a818753d1e7c4d876018cfdb86f466c49f58122fe9d7e67ca6b811b25b5e2d94b120f296ce87a2a48c";
   hasRunfiles = true;
 };
 "gfsneohellenicmath" = {
@@ -15684,11 +16118,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gincltex" = {
-  revision = 23835;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "c77fd5030e626027819396e94d07c1aebaf05a1ef6a02025a6a0f4140d22fa8d0a8695e440ab72eb0a042ef5f33430ef60a47706658134907725c49969841171";
-  sha512.doc = "2f3a0ef1eb5d1b9f5a819e99354572f34b6fcb7daff3ae02f277d9280e202d1d4d1a54b9c033860da1ef3ff302229bf2d1aabbe1e6acff05589d3daa32f5c87d";
-  sha512.source = "ef3af40826e339dd7ed92d0f93e16029bff275a32e2c2cf64fbc1dd48a243e9a5efcb6cebc9bce237465c62a319386dfd94706238958381667195cf86face04f";
+  sha512.run = "465fa04e22924d68b3e92dbb0c8dc5f8f159ae88881127055d94e21a46ad8b8e65b08ee4cc872919188db8255c8ea095c32c5539997007873fcff16503029c16";
+  sha512.doc = "e44368814c57ae40fff7976c70cb160e43e608051ab2d5c46363cd82ea08c3c12a33fb6b2ddcf7f74816c5ca60284c6880c9d7340aa8a8afea77ef4d9cee689e";
+  sha512.source = "9c9eda687dfd61585ddfa1a8680353cd863a1138c3fe0f1cd86f99fb34fc3c5b2ecb8a3e3278e6799ab0a5447e1d59a925d31bea5fa34913c1abd04af18823c8";
   hasRunfiles = true;
   version = "0.3";
 };
@@ -15709,6 +16143,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"git-latexdiff" = {
+  revision = 54732;
+  sha512.run = "74077b3dd1a91a734af6d668b309f804dc58a282393d88d8d5d74a5e6fc73c197e49b462369f829cc7151e20aaf8085c0587428ed61ce7957a1ef173d92c5481";
+  sha512.doc = "bfda354f808c1f94dfac207d1526409a160b89292e44541930dac34383e3ffec9ce63d04db041ea5ac529e1e01fdc80c4c64cd43e8cdc14aac974094732d6fe8";
+  hasRunfiles = true;
+  version = "1.6.0";
+};
 "gitfile-info" = {
   revision = 51928;
   stripPrefix = 0;
@@ -15743,12 +16184,12 @@ tl: { # no indentation
   version = "0.0.beta";
 };
 "gitver" = {
-  revision = 49980;
+  revision = 55019;
   stripPrefix = 0;
-  sha512.run = "ccb08db2f49ab23e832e12dcec8b2754b4a1c916f2b0b5582723ef6080dd93a922111f6b5b514f1f53ca684e141c89f0e1d95d0b391adee857211f0e7bd243e9";
-  sha512.doc = "92bc02edf0ba8a6877444b418cb15a9260fb5b26fd95bcc044665b306edcc1c5f5b12e36695cd02ad9260d7c996195e3beff69843ab7ef9a9272bafa2b1f2419";
+  sha512.run = "e43eff82e8333af8613cc522518d060bc611273c15d105c090ab494f5f25821dd5f48e0f811edcfca5339d2cd17d3437e6183e7773cb9c538601627bcc62d57f";
+  sha512.doc = "df22ad04093a358e4730acf641ecc7acaf1b9e3aee26971d82aad2fe559bb685c64a60ae67bf25028f7dff9c5ffdf2692fa8bc333da73a4144b93ab5e8cfd498";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "globalvals" = {
   revision = 49962;
@@ -15759,12 +16200,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "glosmathtools" = {
-  revision = 51809;
+  revision = 55920;
   stripPrefix = 0;
-  sha512.run = "9587fecefba724acf5db13a1e915d1adb8494536be2cd72b1d20d9a52b065e4efc91ac4d40da9a16bff1fac0271c0e982c8b975ed0606bcc188cbba46522ff89";
-  sha512.doc = "f000a1389a70239256c61ce72865f1b606f11802f6ad9761c10786d19414f0e59de38dcf0f1414b0b05fef3f49dbc4c0c345b2398b4066e6accd62a746fafd7e";
+  sha512.run = "38d5eb1cc7337e81a1d824fcd3d6820928e06b421e1bd1141bc4cd859a32aaa1a10062e6a7a2512687245996c8848b42720085271c1cf6a24957bbe96ff824e9";
+  sha512.doc = "511c901bf123984727ccf8bc4e2449738a66fe866418f23b923391d30f6ad46ac260b5684b73b89616c07cff9bec0475e3553a70ba608c58873751d9a6dcbed2";
   hasRunfiles = true;
-  version = "0.5.1";
+  version = "1.0.0";
 };
 "gloss" = {
   revision = 15878;
@@ -15783,12 +16224,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "glossaries" = {
-  revision = 53777;
-  sha512.run = "7ad38fe17be336d0c849bdd149ab67ac3f519fe34000257df52a3f7b6c93a048dd45c1dc96bc674bcd461301fe51a0adc6e5d3fb6ed3395543911f5370942156";
-  sha512.doc = "b401f5bb665569d21c1eb47282ae24ba987fe1f042540f98cacbea4cc3619df4da4c63072a0ca8a38c34cc0ab236b8c87c47ebe5982882122b229e3c8a545489";
-  sha512.source = "cb72f70e9d3cf90826798ac736cf72612b07d80698b5e3d23fb3006e1a663f0f0b47adfa3e74e80a9232a8d3a97de29a03807f4b883b8c8055cfc73eda227959";
+  revision = 54402;
+  sha512.run = "e900f8bc7b9f04088a3b2cbd3ff409603babaf232f09d6c75e85e3050ab0bd98b90c6e04e01aebb183e9fcbc4865c34568a7392d8b46ab318b506d10f1972d99";
+  sha512.doc = "7c364a8a843d32af396b76a14e3abb97a82638a41538653aac8046273b9d669bc1ada0744435f918eb0c169852fa01025e4f4257783b0101a60231de708fe82b";
+  sha512.source = "3bc7eebf8a0861b6236cca948f053d90d550292a7ec9b1694325ffee594a166dca180b4153ba86c711ebf5ed5e81be8e52432b3a1229a3b4d477b6722c1e3e56";
   hasRunfiles = true;
-  version = "4.45";
+  version = "4.46";
 };
 "glossaries-danish" = {
   revision = 35665;
@@ -15827,20 +16268,20 @@ tl: { # no indentation
   version = "1.0";
 };
 "glossaries-extra" = {
-  revision = 53961;
+  revision = 54688;
   stripPrefix = 0;
-  sha512.run = "0ceb8bf5de2ce8b5875abed3693e77f748eaa391c91c97dfc178c2ff2140865e75e218e021b6baa48d3d4125ec108265e8710affea8b0bf6db50c79771fc5abb";
-  sha512.doc = "5569cda0e9fed35bcb534a8215d1909968786d4ff5966d04b629a2c576b93c28a211c8c103e1ee9082d9ffd22699989ca43a3aae975c0c21f9d734e5f8b40f06";
-  sha512.source = "c75916555ebf52a3dfca621cb39ad3fc56367859d656510687c390a954136d6679363d9df00e3b2ffaa167e9c4b13741dc25fbbb0f5a1c6b6d1b0cb5ced749e0";
+  sha512.run = "6604e11d960693f3a4437a5eae8f4e508057c22bec61be620971f3fa88563fd8630d0b3cedd9cb259e0e024b0813db694bfe23d6fdbbfeed9e6543919f73b20b";
+  sha512.doc = "e8fb201968efd7701260f9b5fefab56930441b4240aed8bd90128c4dcef85cdd8d62372b579797a9450b56ceb37e7ee2793049f8098229f68b3d4915cca2ff3a";
+  sha512.source = "9810a3934dfdd96bb0ab857ad3e27b9b36b488240f7fb86cdff303f26288a8e3c008aa5eca3af2402660040d6543f33023a47ed8a541290eb553a8adc5305e11";
   hasRunfiles = true;
-  version = "1.43";
+  version = "1.45";
 };
 "glossaries-finnish" = {
-  revision = 45604;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "f4008f165ed34678a9f9d1cc2fbf2f2dedfa66d31acb5449da6f93a8b19a7ea6b7a7a584ff7c744e92637cfa4a7c98a478b096be73a3abcbeadf7d2af00a607f";
-  sha512.doc = "46ffa9e86596919c6ee001bfd425fbe0c58e890e8af3131ad89b4e5ae8ce20c8f3266f2ffae6ce039908a137180c0552b9c9f2a729bb55094f999a0bdc3443a7";
-  sha512.source = "e21f3dd39d6c5adaf829657c75badfb9bfe71f57331a89ba196e34a042a03f308206f2c3cdf7e1bf5dd82ac230c0aa5c48fe982e017ea7bebf2a40bb2e664511";
+  sha512.run = "ad6109c67ecfc88da631b3f42aa91b95720619599721a6c6d87b4d8a668cdcfd5bdedd333a43bfff663f5f26df64f4fd8268054dc2dca089ad34177e6e5b9078";
+  sha512.doc = "ddc0047503a68316c3d2e18d22c7ebb861aacbf649366a60ee186ff31ba79846b461d3fde029bb5b0a3ce8f07ef25b89bc46898047176160815570f68b022b10";
+  sha512.source = "0be0af63020fe9bcde5ef0f3b832d5fe90325de0412f32b3c0f34b6b00126bd2b139f0b3be376d54a41794447dd38564fd248ce30fc08f68a607fc65daa5d503";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -15889,6 +16330,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"glossaries-nynorsk" = {
+  revision = 55189;
+  stripPrefix = 0;
+  sha512.run = "8f94d41ee925f91b8646a9e01caa008a56757a46da5a642cc0142d0bee5fbc192eaed4ef914c93a40840606f569c5f20dab5c3d6a5fae26f64e981d12f868832";
+  sha512.doc = "aae437c721582343ee9395881479cf3d0c0b7d26ad6642311a63f0ed1e0aaf03a48e456f3e21d530dfef012a9f68f346827fe1ac5e7a509e1370bb60abc39e41";
+  sha512.source = "29a038a405cecd5232b3e015ee9e431e206f61691404309a9f7b47333f5d892ba629c9545a99e1a20a360ca0b3a72acca85ecd1f333e8615b856baf680d206c2";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "glossaries-polish" = {
   revision = 35665;
   stripPrefix = 0;
@@ -15935,9 +16385,9 @@ tl: { # no indentation
   version = "1.0";
 };
 "glyphlist" = {
-  revision = 45696;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "d4b606f0aafd19d642be4e18c6ae4a6fc2051f0359bd5f15cec2b398b097e204bb9fdfd0b0925f3b697658c671e598e7b2711a85d0ae13d21af1d00040cd2354";
+  sha512.run = "c050808623d162ffbfba8742c9aee6c92555717eb3ed0a0cfb0e3cd6696c4f6d940aa494582011e6d0becc3c5572ddccac2598ac8d521b58a323768272f9125a";
   hasRunfiles = true;
 };
 "gmdoc" = {
@@ -16007,13 +16457,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gnuplottex" = {
-  revision = 53218;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "2a7a885bf212c0abaad8bf9f515b6d3743c09cb8e6ea21a3fa95132664a8724ae549d2d91a630783959b16c83b85bc54fa96fb281f827d33948cc9476c04a3d2";
-  sha512.doc = "b4fc6a585bd8b86eaa5dfd6ed0f68d557e9905b5a0b8f6dce3aebf4b8cc1dbb7e588b9e73ce39055ae47ac56e837f882acbd10be94305272d47d29be7eda17d2";
-  sha512.source = "e2248f82d7f6bf47b931e8fa9f1c332c9f7eaf8459b55ecfb064c0cf488143093ae57652f3ed57d125a10d93db49cb8c65d319c5a11a8d4f26a9c825b394080a";
+  sha512.run = "5bc237b3bfa3b31eb4d6d2fb63280ab89fa929b531ec83dec362947f49ad0316b9107abe3a876f79e4c5b283134c859e4908b300a592aa69fc7ea20b80af7fa9";
+  sha512.doc = "c0e56811b5b4340c770d61ab605961bcdd5ab1abf72b9fcdb0c13c5e56a7481944aedbab70bf5d2daa90751528f0b9d7efd04a1453c08a4a6e40a46a41a1296d";
+  sha512.source = "9db5deaac39afbef502db7cca3c28d0669803af3d927d6650ff39abe365c39be8dff8d7ae7537ab139fe747b7acd7e9fbc3a66dd30ac8495f30dff143dcbdb5e";
   hasRunfiles = true;
-  version = "0.9.4";
+  version = "0.9.5";
 };
 "go" = {
   revision = 28628;
@@ -16024,19 +16474,19 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gobble" = {
-  revision = 49608;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "c2426530cc89a96c8a8e6e01c936053c9eb9c4a07cb46369f3dcf6d0d74557421b1a749a112f561f7248a34a46262fa0b2b52d103bbd8cfed720285383a5ff8a";
-  sha512.doc = "1f4879234402deaf684312daf31abec8a9c36c04ec52ce9b48cf6b7358153b6feef328f2c4f704a2ac7a0ead18a87e35e3ec21d9e22b1a60311aac56f6b48413";
-  sha512.source = "ab765f57595789abba5fda194d49ce1c267541a4b22dff0b4fdbc6f2690700503c28f860cc21eb585894318d2bb88ec9f0dd6b48ebd515c8b23ac4c0f46de195";
+  sha512.run = "1206d7ff1b34bed829bd23ae88b0505e699a30088983d8f7cec7ff77f87774406e82442fc51f1f77d3475474785087d4f2f29e62fec34ef1db26d8a52a904970";
+  sha512.doc = "9d862847c9b2596c061cf898e23b0a1188fabb7636f8a5dfded5b08fd4422531fbbc6932af788c9a15b6805ecb4c254c82a37700caa03975fc2ff8c6f3f539cc";
+  sha512.source = "6e9178359020f754435ce675f7c2fc8a184f84fe86e990ecd254eeef283ada2576a8f634034fcd083d199d9e92bbc874b91a724739740e707525e83e1227d0a2";
   hasRunfiles = true;
   version = "0.2";
 };
 "gofonts" = {
-  revision = 52366;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "564685c341571d012c0ba80b44470c257714cb03644791bb4d0dc771a4c8234aa980adac503caad9defb0a6230bbb65c6aa552989c25fe59d42b0e623077b538";
-  sha512.doc = "0ba8fe236f77ca7bb32fa7420a8c6dcbc1a493837c6fb78aa5f32fae80614c4e3a413aae9e691a33eccb747f297ae0c2e3dd3da9d483b15ed043aa21c0a01c74";
+  sha512.run = "277e9765c5568f84df7fb7fb0004a4ab9cf5dd2beddfe8ba1beba2db069213bef814ce07a714262701dbaa1e371d311dc99052e1239c18d321b7044b4f29564d";
+  sha512.doc = "831382dcea6b990aadfe38ef630951f0cb10ab093581ad67e3132d69d00a89cd64edb8350fea729fc2c02960a38e564b893ee07b203e3c79ec184aa18f544baf";
   hasRunfiles = true;
 };
 "gost" = {
@@ -16126,13 +16576,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "graphics" = {
-  revision = 53640;
+  revision = 56514;
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
   deps."graphics-def" = tl."graphics-def";
-  sha512.run = "e46cb5c148958bfb538bfb0a3265f4b33c9f950285e39f9e7bb8bf2e8a5bf801a2baff9bee3268c072ed02c8f84097a4e7dadbd5f2a2f50b92fb8e7f9585f03f";
-  sha512.doc = "5b978813cf8fd00523cae6b543af0ef2f50544211a2fab6d2be84d778cf6c720ad2c4c91ef44cac21719358568c5728892a15b29e0b1858d61592d6b196e5479";
-  sha512.source = "bc052e0d9c2d0ee0364511b1faf6965f656fff76ca7961598ba168ceae730e22b962adf130ee5f7b2a44a77cc80f8d54eba3a1438fa3aeb5d400994560bc45c0";
+  sha512.run = "a04c805985e40b4db0abe1f308fe9f2a0ca4d1736e38d8390294c648935ba1d10ed2c0a16af0eda55736f699359c38e6117487a2c37e2c0d73ce588fbe438e17";
+  sha512.doc = "34382cbc4b6d48e60b00ec9eb1fbfbe786d339206e7c7ee3e33163ac41319e0646382745760d546b5946f54ae53882d8dff88bac2c0db117185be66f2f450673";
+  sha512.source = "f34cac380d7a42ad97f52aaa07bba40194d88c51905ae8e36b3559cd7dbea0152fb0ab09da353aa694317c360d7abe649b12477f9e2a59a8cb280175df4b5e59";
   hasRunfiles = true;
 };
 "graphics-cfg" = {
@@ -16143,17 +16593,17 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "graphics-def" = {
-  revision = 46267;
+  revision = 56555;
   stripPrefix = 0;
-  sha512.run = "ce101b28d6a62698636e03bb1f79ab7450552d15603e1d8df416b2fb55d397b3d696152c05e84e12415790b7e634322eeb6266435b0d9ff13fdac28ab164cddf";
-  sha512.doc = "6c8d0cb49cfe1a5abf60a1473da509e34685c4ee2525a3d0e895b9513550842ed420d2bf6e949e8cbbaf543ad32e18fe1fd8434b16e46e2bcbd3ff7f50154e99";
+  sha512.run = "a73fe50bdf8f5336626102208114601f72e4ff658fec8139ae7d47a009cd1d927d674f8fdff631bbf59a789a9baa92a876b71f55a7b1e1abf3c16a83ff36ea61";
+  sha512.doc = "e5a194dcb7df54be76fe48cd560da60b1a53c6674b0fc1e6fe49abd75bbeea5df3db55d3b1ddd3984d50eb2ea99cc364580e5451a43ec4cd16ed8debfdba8268";
   hasRunfiles = true;
 };
 "graphics-pln" = {
-  revision = 46363;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "fa45e825390e1a7db1bde443e24a73fd84ae45c1403391bd2d4c944820a3bedddf388a29998f92af7c3c22c895fc2580f827808e84ca1ba334bf5bdce38f37ff";
-  sha512.doc = "8df46cfbb8fd1a6c2b921030645f70795923fa21046dc209414fe3302f0c920cd47b432df22e0bd77574834dc67ee68fe4f307d79ccfdb95c1f8bcf0c6d5691c";
+  sha512.run = "1afe8fe48cc2ad5af553629554fb83ba07c54d5f45d54ae1cb3f3f2a46235b5587ba93af191666a11f4b9d82b5eac3fbdd70b45918c754c5127636cb3005b5c7";
+  sha512.doc = "3c001be0c35a778579a6439c733c8d26c3d89bb4900ee7757c35071a3258bdf1f4d0f6a77a6244b6b7780ad44b1cc3a30beb81fbfe2d5808ab933c56d6157a0d";
   hasRunfiles = true;
 };
 "graphicx-psmin" = {
@@ -16200,13 +16650,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "greek-fontenc" = {
-  revision = 53955;
+  revision = 56449;
   stripPrefix = 0;
-  sha512.run = "4922c34492ad12bf9d60eaf8ea8b5c40dde4fcff13ed2400a059f2ee53f0e15481d96535db582a1439e52f0ab0541618ac52a8fbf871397c5cd197cf964586d0";
-  sha512.doc = "ea33ea77cc01ca580494588e6cb00002f456859f9e698533b32e712184729d0e21d47296c594148dacd0e6adfd9349a5a7b533cea78316ac1a099128105bb633";
-  sha512.source = "c52b4980244acb31be51b6b1e9cc792ad34c3845e1ef4bb7acc2c749887f886a9ff595df78758e95deb26289dcd460cc16ca1417249abf33e309c2b26a1ed04c";
+  sha512.run = "6d9c9fe46975b52f48717fa4f8ce7547cbcc04654bdc6232b084fde4b2203bb62e07291d5061277ba4cb545b135991734b7b60d384547fa6fdd7a8c919ea0287";
+  sha512.doc = "15ba839abb76454e4287c0dccfebe6e0971954c990e410748927a1ae683386e4d31f8e99edc66ee7e93fa29548369158410823187ed0dad3923eefd8cef2c0e0";
+  sha512.source = "ac2412080276a750b5cda3521995838d64cae7f72570118f65014e5bc2693b0e894dd255bb4545260d0459bf2a8adc6dcb146fd895d73e3e38f94641dab2ddc9";
   hasRunfiles = true;
-  version = "0.14";
+  version = "1.0";
 };
 "greek-inputenc" = {
   revision = 51612;
@@ -16306,10 +16756,10 @@ tl: { # no indentation
   version = "0.3";
 };
 "gridslides" = {
-  revision = 45933;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "222ba30817fdd016d80210e25300c925fc45f5a0e5eb02d569f8e709ba578a6ac12aa3f2ed16e5bd6fea3e4b4ffd2356a046a27445e47f79bee9be93ca5aff96";
-  sha512.doc = "6d8a2f2a43b7e0b6232aabb78b25bbbb2f256e9afd54c704b818958496f7ea7b38a2741a60b3d2f3f7745431c302a7106ee015fc18d5c50349ad3cce375789ff";
+  sha512.run = "9f9c3fc88cdf9e3641aae264eac0c116c3dc410ddab4c688521289baaf67cb4c8c605c734fbf45538b6498f7c337aeaaa4b90d2584c6becf06a97b81894c63c9";
+  sha512.doc = "ea3a2ed6334a5e160cb27b096e0868aae28908f77d67626b9d1d86840e615bf1b296ff5813ef5ed24ca0435eea39f4afe601216f243f2be585eb952f4df33255";
   hasRunfiles = true;
   version = "0.1.1";
 };
@@ -16330,11 +16780,11 @@ tl: { # no indentation
   version = "1.02";
 };
 "gsemthesis" = {
-  revision = 36244;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "7debd75f882855b45665937669a3869a9268d2184b22da3d344a4a6182577aa8bb440a6f4e48123d359c23b630b61016331cad94f4a08acc3295dcfd722c40ea";
-  sha512.doc = "41ecef19c29f63970dbee2242fcdf612b7619a6930002d8be03f4116f3397a619951f2f19a79f0e3772f17005847ea5a6a20a91b6ba9dc3529fc4e84dbf7833d";
-  sha512.source = "757fad4bcc2bac03acfcbcf5dea53c30e7902cb0a53dc8116fde2b28ca9f85861b08f19a296096253a4e21e1d3513faca3e0f206f9f0e22e3699f32e0a5edfe1";
+  sha512.run = "42d5d8461d5f8ccf461e24d04fa61991507eb545a60b7f7bc3980d39c9f767aa155164cbb914ce961204316b1be61f5622f21236154013c6404a86ec30ec18ce";
+  sha512.doc = "3497f766bc496369a2eb9f829b8ba3f0d73bfe7ac11c4afd7f9ce06c21f9aaceacdee0456a14624ffb38bafeb978c5a4787ce824143693e4c3d99a227a994cb8";
+  sha512.source = "813f4825450b66024ea804e0f36d1df721565b046979d822830b87ef9cbd8a01300d50947ba9344c3e21f9624af573d7a9844d60432dacbeb0890944a9e11dc2";
   hasRunfiles = true;
   version = "0.9.4";
 };
@@ -16394,10 +16844,10 @@ tl: { # no indentation
   version = "1.6";
 };
 "guitarchordschemes" = {
-  revision = 41880;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "3d4506825043357708cb5fcfee6ba7d6cc42fdcbdbaa772628bbcc89381afe40c58bebe9ad01343b96f3535c80c217bac5b85d5079d1e83a42bacfec995bbfa5";
-  sha512.doc = "ae3e21f74e66ad70a60403c8e9a06e747b770af3e586ee580686095fce8b405801e9c4d1bd59cf429defff61fb087974ce305c5fade387d5be10fe47be46e6bc";
+  sha512.run = "777af4d4ad1a35bef3f0075e2df707c3a3c98969ee688b71c3d13449b04ecfcb2d82ed9332a8aae81a3bd825462c2cbbf840b16a72fc6e3f65e7565ef6b1b164";
+  sha512.doc = "f7508a78fd341e4d4d0fa8a0f89a14420ca50d590bc4a1f5208d4130a3aa84048faa8720545c24e8f0243b1f062a6f40cb5cccdd9ed7db583a11fff1a40c7eeb";
   hasRunfiles = true;
   version = "0.7";
 };
@@ -16409,35 +16859,35 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "guitlogo" = {
-  revision = 51582;
+  revision = 55741;
   stripPrefix = 0;
-  sha512.run = "c4fff100ff6eb6c73607ce83ec90057a47628d0d354f24176be02c8e9e4f62311c466cf7d8e7ec27787fb83a4c35accfe06d01055ad1db2189c82b9a7277aec7";
-  sha512.doc = "e60d42b6db1db84688fbc657b854cb17f60657c22e296d13677e462b39090c8e99e83b86227ea65fe60dfb7616619f0459aecdfc6c6725db68567f458d0a4308";
-  sha512.source = "65773fd849d06d834505c9ee4e97f7ec6d30308550029e5a71756da7f70fdfdb8245bb6f2fa0ceaf2cc3ad5c9b865f7e617df0c763695bd0cca60431da2bbd5d";
+  sha512.run = "42fe915cdb69b18182222843452627655ba1d619c2ae9eb469673a35aab31967afc3cc2abadbc2fd13d9215555a2f97a54a6d3b1ec895fc3d3f6388819bbb9f1";
+  sha512.doc = "505a1f12e772f2f1cebae02164793b0416322aa60cde58a18ba0e3fea0a7072d07d0d8b1bad9aaeb9248dfa89b4b1730e0e5c2a2581b41a7a3a80636fc161b66";
+  sha512.source = "600881490f339ffe540248d7c497a970ee606a9e8167036043b833b24630171d44a58a262e79ddf72fa9308b45bd70c28893251b8c185aeb955114a11c70794a";
   hasRunfiles = true;
-  version = "1.0.0-alpha.3";
+  version = "1.0.0-alpha.4";
 };
 "gustlib" = {
-  revision = 45712;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "cb91f48e66063c784addd1a208946343cdaece3ae0d28d3eb697add3bf16d82b7d01535018984434a882aa5d1901cd05ac68e0966554b77f4a2feeba933ca880";
-  sha512.doc = "0a472bcba101b759b0864c09fbb28fd7473e8382e73cb5c2cfa8fe97f075a9a0ccba1603e0b08bb17fc10faa53907e52d78efb7ab09a7d5cd06bf1e17d82a1be";
+  sha512.run = "e752e4b53191a9c5b46d1aa5797d491b98ab2585873e9a9a1471aa89accd898cadc5a9332ab36828b4baa6a3d3d69b311794e1948b788db755dc8f066a68550b";
+  sha512.doc = "9c1c0279f18a37b2a500e415364dd4404a7dca8b6e0f85b053db5511826eb401865984ee3471fbe607e4cfa605ab50c08e6c11b166dd629e84d9f07db4af7114";
   hasRunfiles = true;
 };
 "gustprog" = {
-  revision = 45712;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "597abdd6c2eec380c531ef7f89ac0d2fcce6e33dc2d2c5040a58b5da3bfbdf2dc75cad926291c94ff1207a47e66cc213c7b7f76890495aa9ef6466bd830caace";
-  sha512.doc = "7817b203f9722409f10161072096dd410d34c2d84ee0ccf332d717c2eea0f408c76597fccea18b6022088cff0155433f77d085a8e8d5f28b72c4c227f578cb0d";
+  sha512.run = "bd9cf1c174a5674a0b71f07bf76f46ca4e15dfa194372cb04e63467c29ee1e07b03d0e611afceae80ea192b6f842fdbfae0bfce7eab2ce43a4e448058521cef6";
+  sha512.doc = "268a01f59660e5225c1c21539076e6239381294e6aaa31992032ff8e3d777cb7e4195247c92d9f22efbee498c8bac34cdb915e0a5b0f6cb2b5c0b72c15695d72";
 };
 "gzt" = {
-  revision = 47381;
+  revision = 54390;
   stripPrefix = 0;
-  sha512.run = "7e0f493dca3e9916f28509b94bef393e8ff7be95f55e8da937b4922139ae77f4f4197586c3bff343f1fe1d22dcb4a803e2d4a3a115d201cc0f2c5fd71ba8a836";
-  sha512.doc = "388aa99642bb838ae4a81a665bb90019c6e31b3aabefbc2c49396edc98d8fe2d00986023699b849162a69db6e6dafff26602f61540758510acb1aefcd883c4e6";
-  sha512.source = "f6c4b16c47fd5773f6a25822d7cea758b5e612603e8004ae462b4e40ce4ef45e6fcbe8ff62b41828bbc3c7b83b8596919eb88864833546b9d785b865c475b312";
+  sha512.run = "6a8e4eae5e26df7b569fd4071e833f5a28504b1a0286a26e7ed58ac3754422b283753ddb246f3456d05cd0f5ecb3e3efca44ab955c65e0b674e478c2707e711b";
+  sha512.doc = "790db628b564ece7b78449bfeb468696d882c7634855b9e902200b9ece8a24709a09a6700f0c5415422604f4fc9097ff049a33de6c0e770e451ca90faef088d0";
+  sha512.source = "b1655a2ed369f20ed4d9fa34377c43d80a3671889e65a3c98e72a2386c759ed8255553177607fe274ff25e89730c4718eb215a98e13fc1b387ca7a5b6b62f706";
   hasRunfiles = true;
-  version = "0.98";
+  version = "1.0.0";
 };
 "h2020proposal" = {
   revision = 38428;
@@ -16532,28 +16982,27 @@ tl: { # no indentation
   version = "20120102";
 };
 "har2nat" = {
-  revision = 17356;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "b3e76b7c4a3a241f716de344481c9927daaa73badc2f40cade074402629cdb3ed02568d9cb3d6276b0abd59ddcb34254fda419f859633281870ebc394c4a5a14";
-  sha512.doc = "927ff5d03cb3559dcda63aa2745958722ab9233c58e55cdeaf7e1c441146991d3edca9c3a40fae2cc147e5e69d0c44c0d357ed37ef0e02bea41952474b36f88f";
+  sha512.run = "b88cc102c09fc86a762da6c16802241af705a0a7da8707d072f051dea7b5836af9bd5cd46e7c80922877dfa389aace6b7713b10c4f1da75cd0d03c7bb3e68745";
+  sha512.doc = "de971a2f65481fda590a1ecb254663778a9260e65d26efdd67c739f02099baddd4937edd1bdadbce5020fbd9ad227cd525ad524dc4ea5fc1e563369313f5ae22";
   hasRunfiles = true;
   version = "1.0";
 };
 "haranoaji" = {
-  revision = 53810;
-  stripPrefix = 0;
-  sha512.run = "4c137f99d91640c805bfbe9555de08ad1d5e8a2c9aad32d90a3061b8408c8f5cd05ea41150fc09813f02ffe401f517e6cbabf4b5eab4d793b9324e3d00dc2b44";
-  sha512.doc = "5b3edc1a1db549a596cbfd383fc5b8e27d7d523e7276e2a79a7aa81f87314d0586b9f4277bfcf79a4c44e2202c80dfec31266384f9f15cdccd14a251fd6e207b";
+  revision = 56332;
+  sha512.run = "d13fccbff9d21d7d824b62f1a533d71108f9431e34dc8bce659ffd77f08eb259d8b35955b49c3a7dbcb0244a144d9ce9692ccccb7304eb8f69e83d26d0ff3b2b";
+  sha512.doc = "7b492338b6d3019fb1f3053df064c905da971ab349aabffaa6fab83688caf697551f5bfa72ed36a30458efbd55e30a452886cc077c02e69eea7e48768520f502";
   hasRunfiles = true;
-  version = "20200215";
+  version = "20200912";
 };
 "haranoaji-extra" = {
-  revision = 53811;
+  revision = 56331;
   stripPrefix = 0;
-  sha512.run = "0f5997b425e157a5b6ea8a4202150c4ee1d696d6ea956c990f249df8db2a5ecb82f4ca25228905ef2b2ded38f13a9a1c35ae444ae9f2f60f189e293947349ec8";
-  sha512.doc = "d3eee236a541e1b20572d8f3386ea9d9dd630f6c1cce638e5afde8291f8cea16cb9e3ae790f09d71733405f8ebbb2de0e7a251b5b09fa48bcde9acdd988126e2";
+  sha512.run = "df0709a9ec12df5c2afa7db5ef414fb5fcb7ecd434364c4b2315bddb4739b5d0f09b54ce6d534a3230f35a9e60c3a8f6b1ac25d2a15c42d091f7db7b5ab6d702";
+  sha512.doc = "c3d8c38ba36c04d5fc4c200a4e30247f39cff044d580fa47952c1f9a1d42cf6b1493db80749b2a8e3698f3f6b4469e2abdcacdd4090696d3203f5d912900b6cb";
   hasRunfiles = true;
-  version = "20200215";
+  version = "20200912";
 };
 "hardwrap" = {
   revision = 21396;
@@ -16620,13 +17069,13 @@ tl: { # no indentation
   version = "0.11";
 };
 "hausarbeit-jura" = {
-  revision = 50762;
+  revision = 56070;
   stripPrefix = 0;
-  sha512.run = "99fe789073c76535c9c8a307289bc29b14b0b7a45adf01459d76ee67099d56c9cf36fbe3587b108c99c1563cf077066ad6408955bd55f31cce6b4e53bab378ca";
-  sha512.doc = "cd98eab62d47ae03a5238702ec5a246496880e55dd8a1a9913b3639197d0fe65d607317d9cc9cbd578bca6bc64babc80d257c2f8d84b7327fdbd77537ca1f660";
-  sha512.source = "2d8edbc3163c00117f9c1297970f2309df35ccb6d5166c723365c1267af736c05dc5eb4bf77cfe6bb6e25a829bba83007fa95bfcbe6aac7473f4657cd450fcb7";
+  sha512.run = "bfee6719ea75ee672a39234d9416a0415a11658c45f4e5958bb12fa67ea416f9da83d2583e7007e3dad860a18d207c42e3e0fbaa3f09afd0b3825c170d00c63a";
+  sha512.doc = "76898cfd9d4bd0f34632092ac7c1d913f4d460beb9b9fd3d98c249156c406b81fe42a4bed754fde79c497f9e674f50c698de598c9bb675270e7ada1c0002bba4";
+  sha512.source = "3346edf31e0f7545c1c53fbe88fd12a902ef673cf5dff0858caec415e1b30e3c26a2bad613a947f5897b6867ac5730deff8c7cf24f51d9078ed0494104bf5a1f";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1.0";
 };
 "havannah" = {
   revision = 36348;
@@ -16653,13 +17102,22 @@ tl: { # no indentation
   version = "1.3";
 };
 "hecthese" = {
-  revision = 50590;
+  revision = 56181;
   stripPrefix = 0;
-  sha512.run = "5cf62262cc231f229c1a66819e620fc55f798d8152b09434c0c288610a59a6ada5a9703e903b7d0fe761f1197757a1594242fc181928f6c6a5bad1c3d7dfebde";
-  sha512.doc = "3d06c52646c4985df8fe71bf07ae0f5305dc719c03025f1cbaf511b1c1de99e02f381740cd4f1074f0fd4b211a16575dcc7c1def28d9d75e615dc1d08d5257fa";
-  sha512.source = "76faa35c65aedcff2e177c40f08e4d5a031f3804f3c786e38429c55b55a2f0261c66c8515691d2e23b0ef954316479d6d02e57388896f1d4bf79e9fa24e277d7";
+  sha512.run = "8a2d32907fd13e505bb0d7a3c2683cca93c3fd40b471adb622ce06a315558c9ac8f991a3fffbcd52a6be93cb027785d4814e0f9364370cc423a30b115ad644b0";
+  sha512.doc = "efa6e45840e77b4a9905cae13b7dc3322d85429c5acb4c59d81a86833b0bf0d92f38fdcad00f5befc32e883ee4c530abd6921411ff7c5c2df8dd25507a6e1480";
+  sha512.source = "940e0bf6cf217100912e5950e5a345e85baeeee109b3da2c9f0fcd539fa886241a7fa64526c61b0233f06462ddba07f6aba5d3cc3795a2bd17f694178828465e";
   hasRunfiles = true;
-  version = "1.3.2";
+  version = "1.4";
+};
+"helmholtz-ellis-ji-notation" = {
+  revision = 55213;
+  stripPrefix = 0;
+  sha512.run = "2c91c08df5e97f9f7ee17f40408d8810cfc3099b5e125b5445a89d2f0d35849f32be0d4150bf7b9f812d5c9c0994c714430fd8d015b9d4ab3bf9879deff5bb43";
+  sha512.doc = "20c9b9fce33ec63cd635751acec1d25fb8c5cb4171ea06f3313c839ea400943926550098cc520c4d5fced46c61756977c6294e435821330715ab82cb894222cf";
+  sha512.source = "bddeab10a607bf0cd194f9725ffe66e103605c5910abd6fce216c579ba2722afbec724f8717b52b2ad6fdc8f472553519e000d7df41c5a26a157e8eedb41fee4";
+  hasRunfiles = true;
+  version = "1.1";
 };
 "helvetic" = {
   revision = 31835;
@@ -16676,13 +17134,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "hep-paper" = {
-  revision = 53393;
+  revision = 56503;
   stripPrefix = 0;
-  sha512.run = "3b0378e1ee99a8fbda42713c61969c967357b645745959a3e7e3a8a182789b2f2b1855cf13eff2fa9f0c4830b1814bcff52e2503f4c7c289e7d554775448909d";
-  sha512.doc = "5d9b52511d2fdcae8f16c0c9eb0cb4306f18c06e3a97c7a1b3b9246d736f823642bd0e7e178ae4f379445fe0dc55f6172c5c4ea4c7740d94b79b4fdf6b32bd60";
-  sha512.source = "fa35abf6157e74ccdb7d86e1d55d688a2fc7bab06f4ccfd84253141cefd265e872a494204425ee643c35490f695af4566331f456d752444acf7269c75f87758e";
+  sha512.run = "b534d46acfa9c4af79284db33e1ddf5cd8065ffc7245944fe9c156cf47d53933773b346f9a37c74ee2a8f996a2b0e561cdc6e16fb10bc73b97a9a3d68f2b6fc8";
+  sha512.doc = "0badf0779c4cba733b71f995b51c105a906ea53fee4fbddbf3895b0b7682b5adf205b99aa60278337ba9d15c2deefbf9c4fbebe060d88273491cbce6c4b0a382";
+  sha512.source = "600f5f60c241cb6ca608b1c8f0dc82054eebb1366e68da552e1138e470eaf427dd5eb6201833fb7d63e5c34b1d6bfb6d078881537608ef30a7902e4ca76cce89";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.5";
 };
 "hepnames" = {
   revision = 35722;
@@ -16709,12 +17167,12 @@ tl: { # no indentation
   version = "1.5.2";
 };
 "hepunits" = {
-  revision = 15878;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "b6abbe3a93eac6c7c159cd9c305fbf61664908b93956b90cb413e2220b12d183e4fafcb361d8935bac16a39d14451f538d38d9452ca78eb4ed03841f3e5bda78";
-  sha512.doc = "3247cf7865444fc2a600c05843c55ddca792b59b5906326e79591822c0e2577880d55704d4e726447aa503983644e7c0b7943482045b5c9ce6e8fc765bbc67b5";
+  sha512.run = "eae3b071eb3c81e79f166a925f5a3b16ffa3e992073f318b8a193a8188bff5b5222cef7533e398f1481671e17849123947577c13a182f40136124fe6368547ff";
+  sha512.doc = "86f0080a818aae8743f9c2ef20a3c87f2f23e29641037e91a89e3f195f55fb6653c1ebf1e990b1a984f2acad26243bc07afda6cb2b00d58e5f2416a0f8fddc04";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "2.0.0";
 };
 "here" = {
   revision = 16135;
@@ -16765,11 +17223,11 @@ tl: { # no indentation
   version = "1.15";
 };
 "hhtensor" = {
-  revision = 24981;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "387fb53bc2c9b83d2f34d9fe7856e3e7c54e2403378a1f806e29549e1d4b871cbc8333b64f721230918b96b9082ebe0ec07533cae9e4ba54d73dd8244a95b1f3";
-  sha512.doc = "30de49c3074840066555f2363f2c4120d731c3d515c2b3ad6839bd4e04abfc7043930428f0345149c6da1b5396950c8864baff6414a42769f1652a057817616b";
-  sha512.source = "10c1cb953af7cbf3c1f31d06116833eeb4a3c81d66671ade683ad38cf97271e4f05070cf065389211baf8df13415d74086329d2e83f141f4167f0909214973da";
+  sha512.run = "ce772bed045b85de5032e3b4beff52958e18513e2c9628e67505b75baa17befe4e3a5eb86f812305b87dbd15dd2f483df78ca7c5db54b64cf18abc75a2ae8f59";
+  sha512.doc = "aca1224b327f448bbb3f598b350fd4e569960bac9d05b8674b4cde79c4a13b376dc2a932b8fbd315f63f9dbc930ea28599afc18340eb36d4a38d967c14b62152";
+  sha512.source = "6cf27dcfc865514e9274053bace69bd71e6699a501195c553ab3386723b375714f14829e70163539443c4c63b2821be8357653f137943cf49f26e0569c0fb0fc";
   hasRunfiles = true;
   version = "0.61";
 };
@@ -16807,14 +17265,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.0.11";
 };
+"hitszbeamer" = {
+  revision = 54381;
+  stripPrefix = 0;
+  sha512.run = "a90ea22943c228d15f659bc562d79b9e50b157451ee9d06b02cbcdf5a1ef4c1eb353c756e0963d113d6258c1799ab22f71a79905387c78638c01abeb3d936e00";
+  sha512.doc = "84d8a9edf719b1af7ee9d8276d91bfb15306bc3a5632c5c0290412533a5c321c1087bb642104d47137007c9328a346f72c8ab87b9d5f8b94e3ca0b6d2fd18a70";
+  sha512.source = "4e62661f3e51baede19234e9bea18065833ee07d1edb6efbd434d8cc194f04adb3ce48e74f93050a4e9fae1d4b77f5efd0346925b6ead46a344503b9af96a23b";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "hitszthesis" = {
-  revision = 53887;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "7bae43ed124d9e37af7d7bed2ec0ea81c9de93f96b1cdde39c292b5f28095e87319ce2fe6b5881baa599b8df6d5bedcebd41acaa2162f38d849b27c098f809b6";
-  sha512.doc = "c0d1220af85f6a1e21f6580f322ef021c387efae3159e319309aceafe8188b0a7dea26cc593ce778e5fcfa458b2a9e0b8fb397df34a0399b00163cb938c77b38";
-  sha512.source = "cfa589b3f4a66a1580d9967c0e2f414b98f67c0ae9b15cdba7b2d12a160554315e9d7e3708c3f0cd631bf02f248ef9e2a97d94ebd225558de1c1b238d09400ba";
+  sha512.run = "2661153465f8b9fc3f4feaf23859ddd0e0da863d0cdc3c0e8b14997e192260cc252ef58d95082b54b9f7299347ec72a9057e11d6656c5e26c9f3e6285baf6484";
+  sha512.doc = "c6d12b3779c8e67050bd77f905741c1a496379f76c001f3348bd9f8fccfb8c25dbb58acfaab76901c1b01fcab260a206ba3a0337411881a21f46b1888b684195";
+  sha512.source = "3a39f1bf764f53cf149db0fde6e60d28fa290acb9c2506e5fee8379642532d51b29e3f0151ec577e258bb95160387a1ff0e9346c05e64cf18882e12f9b542b78";
   hasRunfiles = true;
-  version = "2.1";
+  version = "3.2";
 };
 "hletter" = {
   revision = 30002;
@@ -16833,10 +17300,10 @@ tl: { # no indentation
   version = "0.11";
 };
 "hmtrump" = {
-  revision = 51829;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "62efa57cc09a2792fb755112defae31666d44ef295f75f1f04b3742b63ae5696352bba7369778a88f822ff3e09bca00ed58157df6afdd664f7090c084c28f9c5";
-  sha512.doc = "58a765a12ff3ad55278502d8396c3580f971cb3af772acedd54d29fd47b73716ad543561d7d7f58a97b54c400e827e54bdaae3d6a599999ed12ef8d884d2c7fa";
+  sha512.run = "34b2e61744e3f8cf180a61ca13788834466dad7bdf831e576829e0f6613c5e8a6330075e89516915728a5936a68c14288c79e0f050e5956964d69bab3784d9c6";
+  sha512.doc = "36c1a35cb4efb4dc340a439a921252cbaf48d3f0b7fab0010a7fa22d8b03e7b5b644244410efa9fdc63b5fbf69eb9396cc048908d00210e650941a0647d3f4d3";
   hasRunfiles = true;
   version = "1.2a";
 };
@@ -16879,14 +17346,23 @@ tl: { # no indentation
   sha512.doc = "3873c4714a8a6d221f860a5d0606113c64482b363727067e0017d27e99d73f31cfdac88a799fb1412225baffaecd7bb03dbdc66b607a075b1e4539ffc0df2a9d";
   version = "1.1.2";
 };
+"hopatch" = {
+  revision = 56106;
+  stripPrefix = 0;
+  sha512.run = "1658c78cf7671e821ed38825f8b0a0dd96b268c80afb0e64b27129c08e6c9375a7c8e3e5019361e100cb11691a0d27fe533aa2d000306a38b752114a0eac4d12";
+  sha512.doc = "57441e01ba72ed0fe8439da5b41dd7600ae43eab90e06150e58704c9fac5a0047c6ab3f7d581310972b973006d9a98ee52bf782f0f2fca151c59050e5bc402f3";
+  sha512.source = "30537bb32dc82ccba9df85129db856884e2a948cee2cbe500a6208a5c3481b8f55253d86ed744d939e149c784e5aa6d8f843434629dc39a291762df863ad959d";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "horoscop" = {
-  revision = 30530;
+  revision = 56021;
   stripPrefix = 0;
-  sha512.run = "077b7bc742d0526daf7380a080e640de72d61d5e65cac441d3291e1dfee8c0240be8817328e7080fe410fca9ebc8b5d13e8719ed48bd7d412485d7c5d2f67ce0";
-  sha512.doc = "b7cfdfb772f5423fe4cdcd914a4b0934162ea33542a773b14d91d057efcd05b7febfff46decc3760512b0df95f52180a4de0dea2f0dcc4b504945ee572f832a7";
-  sha512.source = "2e132bba43dce98d65a717f755062ed6f63ecc0775134562d1061fc28d7776fb02baf7502273d1e825306a8a19eecd4d4e94d4603687ebc0df1923b27a213cb1";
+  sha512.run = "d00c8ecbc9c76c2864a52a8bc9f802477e402a59c86789252bce1b8296735035b7b9cbb1c3a18baa76cd1d308d4af53d7d2f64ee9aa37a70e33bf27e1465207a";
+  sha512.doc = "9bdd655263da0847bed65c71e423e301a35e69d7cceacd650c0e9d4be91800c0de5fa0d7aa917a6d5f5abcc585ed031e6ec84ef003bb813be41e3daa3ab95f82";
+  sha512.source = "40627807a0ccda26d1ffd1e2340542644b9d38f5344e427bf33c2e6ef72acbe9de9b7c11366d5ad258361b217373c13a9c8fa88da7f8176af6c738440d054626";
   hasRunfiles = true;
-  version = "0.92";
+  version = "1.01";
 };
 "hpsdiss" = {
   revision = 15878;
@@ -16916,13 +17392,13 @@ tl: { # no indentation
   version = "0.23";
 };
 "hu-berlin-bundle" = {
-  revision = 53196;
+  revision = 54938;
   stripPrefix = 0;
-  sha512.run = "c81c1260c626d46d2b10a060f03b30b797db0f02fe42535e2311b91ec8db7da94c83afc99e0e1e91a4c1a92bcb95ad766ef08d3b08723cd7750fb6b098c0061c";
-  sha512.doc = "61d85bca6fdb3f5d725eac008be499241d98a3a6fea56f24be09aa0fa470c30dc28f44f670e6d9beda8b02986bb40f23bdf90131bd39fc81cae28480caafb1a2";
-  sha512.source = "2e06738bf926085c044bfc22795db7acc63d3e37d40b6a29687d908c0bb2aeda49d3fce88be7cffa27ef81094da4c5d61309659a2876f4085eb9f6ab1214fd52";
+  sha512.run = "ebf45ed546b7fbe9c35d36b4b025baa6e554074261b73e0bfb754ed3de72b8f39653960717510e13fcef040326bd11ac344eaad894acd625642ab2ee2ade9e66";
+  sha512.doc = "ce8fc4199cb94937e94e66688f0111150bb20e81f653ead053f0bdcec33945c96ab2f6cf4465420f19bba98d4e05565167055dd1c689585c7a80743f26ee0268";
+  sha512.source = "ca75f32cc9a4eadbd5bd32c4ffb3aa86f882638e67470d2da6ba6be98460df4b38606763cc72efdfa1cb43651efe5068ca4f2e06eaef5b93bd431c837acada94";
   hasRunfiles = true;
-  version = "1.0.4";
+  version = "1.0.5";
 };
 "hulipsum" = {
   revision = 46803;
@@ -16942,6 +17418,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
+"hvarabic" = {
+  revision = 55643;
+  stripPrefix = 0;
+  sha512.run = "be0e943f505edd7c8e0138ccf101a821791fc7560a6e5afd41c57236fe6fd632c0813162bd9ede8ff021cd5583a739ed7871cc6453a3bae8c0c917740bd06f48";
+  sha512.doc = "1e08c4864ef4ba5f083500b55521995fbf4dbea9c53626ff36bdab438db25f612d5272a2d05b72c7c6eb3a72a946179819b4ab52c7eb79ec699ce69d112b2cc8";
+  hasRunfiles = true;
+  version = "0.01";
+};
 "hvfloat" = {
   revision = 52010;
   stripPrefix = 0;
@@ -16975,6 +17459,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.10";
 };
+"hypdestopt" = {
+  revision = 56253;
+  stripPrefix = 0;
+  sha512.run = "784fbff599b60abebd3ae794376a65b460c0ac4aa189319e3f245c1feefa5bb501acf75ed345bb6099e301070d0c1e1eaca62129c4e82fae5611526b6aff370d";
+  sha512.doc = "cde846c9c4da226d27bd15881577ad3f1c3f0639c3e37fc86486af40939b0efb2d22d522646136b1b2fe2ebbfd5f2338e347b7476be7289d2a3710d43c2fc8ac";
+  hasRunfiles = true;
+  version = "2.7";
+};
 "hypdvips" = {
   revision = 53197;
   stripPrefix = 0;
@@ -17010,12 +17502,14 @@ tl: { # no indentation
   version = "1.0b";
 };
 "hyperref" = {
-  revision = 53837;
+  revision = 55161;
   stripPrefix = 0;
   deps."atbegshi" = tl."atbegshi";
+  deps."auxhook" = tl."auxhook";
   deps."bitset" = tl."bitset";
   deps."etexcmds" = tl."etexcmds";
   deps."gettitlestring" = tl."gettitlestring";
+  deps."hycolor" = tl."hycolor";
   deps."intcalc" = tl."intcalc";
   deps."kvdefinekeys" = tl."kvdefinekeys";
   deps."kvsetkeys" = tl."kvsetkeys";
@@ -17026,526 +17520,533 @@ tl: { # no indentation
   deps."rerunfilecheck" = tl."rerunfilecheck";
   deps."stringenc" = tl."stringenc";
   deps."url" = tl."url";
-  sha512.run = "2efe03b554745ebfdd0939ce93aef7cb048e296115b07129c5d0f16ebd91658bdf216830ee8ab6fcb06a5da72cdbbb148be65dab10d60a403985f79b262768ae";
-  sha512.doc = "15d78301321738026532c5bcf926f4e20d2eac8b66b87bd1b38b79b3785029f05f8abe4a0300d23f2bc68edd923bc0e49c01a32b81e6493faf3f2f04b2c11881";
-  sha512.source = "94763191d72329744ad2f76c08dfdce5d0b320a31788d13db61402a7d42284b002d35fb70ccb7272547e18a8482947cee1f3e2558a1d08c88990737eb84a3b8b";
+  deps."zapfding" = tl."zapfding";
+  sha512.run = "3140dcced947c9efa922452bab715dc7dd9eb99e5b421c2f6bfebef7f99bff15099bf8f93f09667be6a2717677132d51b643bb7789ab287ac97d0186adea6ff3";
+  sha512.doc = "9a2744e1093bbcf07c077b7a5aa8c34dff01da023f664689280360d3b17bb6b7402ff03b83c50a59c3936f6a0e3caabe4f5b48189750924e83131819b5c992a3";
+  sha512.source = "f12b6f64f0c55b4a9bfead1846c19598099d2158d87658f9984fb305032f2a099dbbd4c4c693577352ecdfdd691c989692cd0864830404dc92f6d9319f990d91";
   hasRunfiles = true;
-  version = "7.00d";
+  version = "7.00e";
 };
 "hyperxmp" = {
-  revision = 50812;
+  revision = 56599;
   stripPrefix = 0;
-  sha512.run = "95ab28036eb17cc540ade3462c3f205eeb07e6dbfbb6d150bff2c8264c3ba344dc7e977391a2c72c0d2d26f51e5cdb56751507b56da8d6862b7a2eb941929694";
-  sha512.doc = "473038ca262432f860decdb67c4fca775bc96ff62da4dcff7b6f6b5c681302f32383c112b46b470fe0d96edc4599b4c2e328fbacab0ba091d9d1e9e5e837d1d4";
-  sha512.source = "bba2d1f71c938ac57423e792ea49cd6008f97a3aeb608359780370f832157ed716759460dd1daefaf6b88af40ab03ab7ccb6237202e8fd7dd43c0504df1e2daf";
+  sha512.run = "8c21d5da27f7276919e0c9e7e348dcf8732e2255363ecc78c47eaa18139cb0e71d21973f5d49ea975e766496d3a8adc5c6f4d339c1fb9476bf73e0573f4c5ef8";
+  sha512.doc = "f9f99cd68383ccbe7f38848e584a7a84975359e699246bd823435ec6fb7dd8a99a5c7925a8eff1dd548217954be75ebd5ec31822ab454205925d0ee6f06326c8";
+  sha512.source = "7c8b84ed41d6a4b001af3be6fa1a430d99d3989fd52e564e0cabb6603af97a675dbba991b8b15aae7e7441b1daa88f70dc58c019afc88ae8c49ef245a2bc1c2f";
   hasRunfiles = true;
-  version = "4.1";
+  version = "5.6";
 };
 "hyph-utf8" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  sha512.run = "51fd6b51c1292b74c7eb6e8ec3fa7cbc7e02b8c5d716aa55e378a4103d21f7c4dd5298e2efdc47378d27d5326830b9b94846fe3109d3bbdf60f8e038969ad95e";
-  sha512.doc = "027285084e97c6a51296e532d306dd22d4b43ef02928e06d9d684d0137d0379d4f67f83e0f16e472fe37bd285793615af8bf082bbf7a959d586173a04bc5326d";
-  sha512.source = "10c310af9e16263817c400686b7894d6b62f99c418972e7f494245e2d810e8fa02464ddf7175d64a857a3b1237059df5d63277ff7852993bc0f5e6680c82111c";
+  sha512.run = "7d73f9ba216ed6e8f08a3efe1d7bdc26912be0fee88241c92608e0d16711bb826348209fa23b9de078eecf7ef3820344c0a95881ead177cfcfc9e65d315519df";
+  sha512.doc = "54bddaba3c97d0b9811e29ed12d4a088e159383379eeef84d709b6e3a22b138fb14361e02d63322e25ddbf96d880a37d4b0e53afeee47080b19a2a851b663e55";
+  sha512.source = "5b7283232769cab7fd8acec5f37755f34435e8d2188157a5a5ac21edf32deced6eb1cdf7b39f3658bccec009c63fb4e7d778537ec4d73ba13ae77a1dbb388878";
   hasRunfiles = true;
 };
 "hyphen-afrikaans" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "71da785bd33d3c4ebb5315696e1fa9466e188e13a60fd60920e923a49e74b593fdd0f50cbe5350d28921739a0f3e72866e04736d95045a670f53c36b6ae7e83d";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "23c74c292355e51cddbf235a0cdd8fbc49f8dde6083996cd620430bbfea4abe9400430f1d2169ce73d8e13b15b12d6984ed0639ab7aadc59c401c1b141b72e9d";
   hasRunfiles = true;
 };
 "hyphen-ancientgreek" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ee5105a58c49f808594d9b2912f85f15617c8187113663d3de3bee4824dec509f8010d89b8610b67c074b38ad7e7aff835994b044dc40c8ba72f2d08e370bb9f";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "c778a02d353a2e6ab180b56340db98dbc901fe7aa9fea521f39833e5cde5214df744745be3321aeb15816569adb3e458db7a6c60b3c84bba10b5a4ad4bd8e891";
   hasRunfiles = true;
 };
 "hyphen-arabic" = {
-  revision = 50805;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "1b43cfa50f074441f757b841b00656ab383ccabf5f2fafd8260e4088de13aabe8e2c3e7099e3d84ef0dff49fd312f17fe11e44892f95b6d7e149e2d4cd023171";
-  hasRunfiles = true;
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "85012062097dd4b624cb39c68b293169a25ab3c9cd15b4474c3a3ffbe4b8ab13d6856c6c70a580da45a2d210952df2d9760682da3917cfd24d17772dc2ccce7f";
 };
 "hyphen-armenian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "a9963cd663ec8e060619d01516fe326149666d3b34e1f1afaaae42020d17c40885599e485d60d0241c9b3b54bfb9614725d2ff39a9bb5f002a240b2c54d2d57e";
-  sha512.source = "8c2177d07755e7a0255057cbe8f9620badedef5fe70b6945c467b555b079d00b7de42ba4b65be095bafb88b2d867e2cbdded53be5bd5c6b5d6d3cc9b55471584";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "f5d7afa1a44cfbb881bf074770187bbb0020c2c57d0f295fe239d904992dbb260be4ea03d11b511854e93ea6537eaa5145b7bae8af13b4f77ac1ecf75b81d79c";
+  sha512.source = "ad397b228f94a40f51a7e59c7bc8afbd7abf84b038e47ba3ac2761bc9cf4598598739329a97d278b73c967a50876f6c29e6aa907beeb502c25bb33d2d17367cd";
   hasRunfiles = true;
 };
 "hyphen-base" = {
-  revision = 53326;
+  revision = 54763;
   stripPrefix = 0;
-  sha512.run = "f7084afba6bb1e38629f551d3334fa6d66d0fe0a9450980911adf7f3869e46ab486fde0c2fb3ee1dd6358a4d9cc4aa545302e552f1a7b07a0329e6f556c465d1";
+  sha512.run = "74f8fa67630324118f41e65e00b307281ecb1d58e63763c7779452a8aaf090585043fd12cdae3058299544d0f1f610cba79537cd5866b69be2c713ae8bf94592";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "dc57f3ec18dc77de7f638084dfd42e236fb53cdd4027261f81b1425e89397e3343568558c869bc2def57cadebaa5ad113e9993bbc903b157ef3de88d9b6ce23e";
-  sha512.source = "7828868113962bea3e6465f7d7bfeeb9e1c065180fc11faf8d4c17d855931cddbcf4194d6ff65f0af71edbb6d802ec087aa9f745dca9e311a2391be642d0be99";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "37338a51a78d0bc975b797756513690131e6c41c744002ddf3ef1f3068eb1f5251de82889dc55605b81846d6de41f5449d77c541cad3ea28cbcfc62aa2979c04";
+  sha512.source = "2ee172e724d52dfc2440702d48d2a67185e71b738ca72bfbb6154f6b4cf783119b0ac151a30d89ac12e3eae013dca4a4706e15c5eddf7dfa3341329c3d5497af";
   hasRunfiles = true;
 };
 "hyphen-belarusian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "2da329c3f21b3422294bde8a9cc896aa3e65fb892a71e98a7b836d681b8f3f3b54dd3fa609a3e4c2a46776a0556cfa190aefae10de2f4e20a686c1c15d18c913";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "0dada27f3df40aae59507aee32a50d81d425a924efb40ef1ad877a0dcbec12ce41b52ad90dca0c7f7c29ea031471e85be2342ae84eefa847bf6a56a1d1748e85";
   hasRunfiles = true;
 };
 "hyphen-bulgarian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "32a2745a2d94dd306b852ae0d86f26fceda1fafddf0e43c36b323b521b77526ed1a703fdcc1fc7c0548563cdecb80bfe60218c1c939aa5fd595e2ad7ae5552f9";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "7c6a28452d39b96cd6aa85028c5e4912a497a469cb0e8a87a143d320a59a7ad6036fe4da0c8a2e1bb68714d7733dbb3a003be029520d4e76deeaa6b5486f1117";
   hasRunfiles = true;
 };
 "hyphen-catalan" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "86979241d2a216460d2cd53cb5bb5a6df257b0273c4a4f5b1b799397be48ab6783e37fd041cc8071a1433a8af138a4d3a777cc050cbaf4907578e7ce0645ab5c";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "4288bdad9ffe0c90e062c85dbf3564d6597fbe212e1b313eecfef27a56907b8ab8fa7aaf39d7c9a4791146b7600a05b3ff6658fe4b8867e774284029b8eaff16";
   hasRunfiles = true;
 };
 "hyphen-chinese" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "1b37c95821b46758e2ccb089f3897c1691e76e7c7aa760e45c0305835c8e4719751c53e6a1a28d2153184e6c1aa20bbd4595a4ccd55a7fc196dc36cead9e2f71";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "ee9a4f20f41feda447137726341f66e68986d59831778cd2ae8373c52f6bc85e886e38e8a4f0a73b2121fd763c3f35929887a0c165d22b7339641c3919034e6b";
   hasRunfiles = true;
 };
 "hyphen-churchslavonic" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "5a2f3bd482818959c2abb74587c04a46919cda5f7ae627a830e2eff6f51ce233e8a2ec8fad727eadb7d18dfb1d2c19b589d94dbdffb36d7af4307e16ff6d4ab5";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "4139895d78beb333dbb650746a91ba370d5ce9b9cc1fdb27d07c4fd3b2a9f4839aba89b9cb84a40435db78938a5f44fcaa8028e897fe4580fadd104ef8b60ba4";
   hasRunfiles = true;
 };
 "hyphen-coptic" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "737dcf70c32e3d39a8092e69027663e9ee173116c14219dbce52f583bf33015035249d34c8cdea4317cd1d94b658869852aceeae1279ce784e9754149f420465";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "2eafba92204714c37334472fb087ccdea0e3963d6ca127b56e7669ba2308899c763925127fc31685e8b3aa3660b9b8464f46c59468f46de14ccd79dc05a8629b";
   hasRunfiles = true;
 };
 "hyphen-croatian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "97c4b047a94488d43a1542ed77ccaefc6d369051707298a3f86926e0170c63647a40e0dd2eb4363a7d5bf526358ba48e5674a386451a41877c9176f4ba49c994";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "ba5b20ce10342e3939c1831614033d01fe2476e7405115300a2dd5a7943fd7bad885e3da7b74aec21d0ed6407483173dc0451d6209f097052d7f91e454d46184";
   hasRunfiles = true;
 };
 "hyphen-czech" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ea97fbb5b273238881865f8499c300d9b1886e921eb50ccf01291c40059cde75088890d4a06cdf2e43d4aaddc7aa43ab82174c0a50097044a69a53a694b47aba";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "bb065b15b163b4a8d9cd80c45182f8cd735ac69fdea15aa6c89e9948b74d169925c15b17e5cbad7577ba94957ad8b0646a46e762ea8a0815f8417ddb876b178c";
   hasRunfiles = true;
 };
 "hyphen-danish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b579b6d00c0139fc5fd1058b5b1333a231a21738a44152346b69d04b39e02ffd01c530ac89f98d2566d17c765c42461c71985b645fc2e62a380814051d064f03";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "b9371cbc489675b1e6e7995a216653daba35b8a14e674ceefa6cc55a4c3ecbd7de85be4ab102aa73074b063f61bb24b53125ae2e160e489811b0a46543b4c7c0";
   hasRunfiles = true;
 };
 "hyphen-dutch" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "934483760e5a81a65ac8aae0b7d910b5fdea1a62ef7d9575e1a15027309e19b12cae27fd36f75b5336f6f0b38de33530bc4222e27ff3afe60f8e94b16897b816";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "69f5d9dd903c7efddb241080aa561c079d64a6fb73b6e336352e9e43ab843aad18fbf4f3158bc0d2401a80c8f09178b938756182868340bc815b3ef88ca511a8";
   hasRunfiles = true;
   version = "1.1";
 };
 "hyphen-english" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ce688320bb2cf250f9ef4089db9c5d8af38fc1fc12c289ac87f1508f8f5ac09a5fd0fb9206a1b5d446488e68ec3a7184ae45038501afcdc1cf52dabb6cc7ca50";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "a744b3308772264cb7b49bc3b49322ae62d1f6fc7bdee6eebe3fef3939788b390e5ebe18c1a908aaa5ef2cf30e24bb68acd162e085f540bcb5399557c3ea6743";
   hasRunfiles = true;
 };
 "hyphen-esperanto" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "da7b5bcf0bd6d6f2a34d5b5330f9a97c73f7dde48b28545f8c6d21b5235156535b2910d386fa9f3b4e68915b81f534421022be345da967bd90723be7997f3b6e";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "369708edaf5216c07b7a9b0e63a4d7624dbd0fe614ab4a6638ab6680cb8d21702c44832abc9e957ab936a7c9c87a594ebffaf733d4fc6d422915f7eb42d02922";
   hasRunfiles = true;
 };
 "hyphen-estonian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "899452321c4d907d7f811f044d9d8552d522ed53446419f59a5f8668dae977a3bad3b1dc02bba05c803cfff9a61b4394fa7bf879e1c85a8ff7400eef672d6d64";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "9a824055c8f7bd37080b00a7715f6720afe7cf0a8547a561e9aabec477b315463887c49cf5af745a8251bdfeeaa558c801b65398e3a846122b693e95dd30ba58";
   hasRunfiles = true;
 };
 "hyphen-ethiopic" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "da5ddbbb8dfd8cc8a0b02ac5d8a7b9056d5f5d3a809b4afa41032c5288dbb3d92ef60fc7edb0196448f055aec0770687cf54490a6a5b99d7a3608318c9900006";
-  sha512.source = "0a68114396d036f1a3e63507a381861865ca7c69ed56de3795cdffad134c76a428bfa1dfbf45edc5456d02aac917a4d8690938f935594450a968ff3471c82923";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "9d30d17f543a0d2725310b1c242bac3eaff9246abf8c48a9278e29740e1e72e5a5cf0b4c04d99d204081acfa2ce5730f43f4f905d84a9b73282cb1ce3c39c31e";
+  sha512.source = "86718f6014f1fece0cb2086418575bea4789961dde7467406c9a57de2a8fe0abd4176e759ba687e3c9dcb6a00831f690c045c952277c06d99045c8d34795c699";
   hasRunfiles = true;
 };
 "hyphen-farsi" = {
-  revision = 50805;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "196bd0331cb51550437f634bc37c426c8006a297a6f16d7c43dc291c92f3a635d5a0825a96f2b4be0d30e9b850422fabf3f404a262eba1f65807c59ad8213e86";
-  hasRunfiles = true;
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "5b02582769a55bb07d81e748e83170c16aca1c33b0a240cf547fa9c2212f2be52223e258229c760ddc5dd730419bd9e761614cc4fb3b3ba8102841bb779af511";
 };
 "hyphen-finnish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "29e384aad09ab8a636ee47433f83a0147cb4c55698f821b5d40cef74cc265c85c15903d84d721a6bc4921dd0dce0347550cedaaa4bdc58c85dc93043e6a61738";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "391d1d98379bb6fce8623b1b23cbaeb3691975d4924bf5bfcf9a20bafb64262dce04948b5113b58e33e7dd86fef807fc51ccefa07316e50632f197025b3bd553";
   hasRunfiles = true;
 };
 "hyphen-french" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "625087254c231e68c1f9abecbc3b315c08021c22d9c0332ae07eea8e600b800b12ac5147ce11488ec99d6368d695c0766edbd78115c8d5ac6cd6fb71478723d7";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "70dbd1311f6f597b534cd55f680685dc56c124308d3aa12fff259eb016d49e6a0ee99dbd627343f81e9a92e9bd3c7c20c713e2334ea026f613d0b5050f5c230c";
   hasRunfiles = true;
 };
 "hyphen-friulan" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "fa724316ce1babb63981a51835bae3409b23e23bc0a65cb1bf8715073d076659abf8b4ae942b79257a92080857b67f807d7cc56859c45d8d4874dd0c9b26f001";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "d81fe20cc5144b066ba06f2f544ed14858d76676e9bfd94622358b2e2c4d6d04939ed0da222b3ee99438224213cd52cf91fd8c1e1577feddade4a7fa97c1ea21";
   hasRunfiles = true;
 };
 "hyphen-galician" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "fc4bbfc8f824554487670e115d9844cdab69e4410d8db6382c87386513627a2a96c3a5fe1278102704abdff04f859a51db79316f695ee259398723a32d4fd64a";
-  sha512.source = "ae42aea21c42d2a823e0b1fb8d1a595681bfd797fd5205516b5221d2c80845ead8dd7a9d80c205856a4c701a942d1dfa407150edb0a4236e9a069f02d2bfff17";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "219e9b58d494e4672abd7efb23946063941e818320db61993e0c3491a1db66ecc0a4f8616a61a740ece6e9d76c3ae92b3411e0276e9b02da29782f0ae26309cf";
+  sha512.source = "3c035f13fd264844554118542af5d7ca31180fee70e6332ccff8fb8663a6ebffed1c8f2ae99d2ebc4daae9189112799d35f4a7189dd0a23dcbe2d8b816265321";
   hasRunfiles = true;
 };
 "hyphen-georgian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ac68c0ce6febdf76178e9fb88b88aecac9ad4cf25977054a8276527d12ab55da5be080b01fcc8111ca4996af5d76c26c7f883f9bde5cbd38140e9785ef45713c";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "63a68c0ed9db5605afbcd57daebe3e59cc9e36cd00ce276f1f207ca7fd5b1f1df4bab4f8458c44a3085b48103d7567ec3f6314abb223497e7dee49447f70e222";
   hasRunfiles = true;
 };
 "hyphen-german" = {
-  revision = 51186;
+  revision = 54758;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
-  deps."hyph-utf8" = tl."hyph-utf8";
   deps."dehyph" = tl."dehyph";
-  sha512.run = "e3437e3838dde9450c755e442b5d90766af9b2c63e9a806bf4aca97c6527fdf5ca38e0a057c8241ba3706508ad9cb5bd4562ce30c5965efda282a66c83829810";
+  deps."hyph-utf8" = tl."hyph-utf8";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "f98ec474da2657b020ae3dd5c3957a6f3141edd8d37a498aedc846580770399d20f320ad39b4f131325eab40711f285577ace5d9b2ff1b21192db9f6e8bbb584";
   hasRunfiles = true;
 };
 "hyphen-greek" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7af2a6fe7f302dc537f6087c004fd38ce9269679913765c08820c6d7e060b14ae104ba8ce0ef2c54131c62a3731c926a7c521a5ff9188b622c6fb2bf588b410f";
-  sha512.doc = "289e4bae20e0c52e7ccc4156908fef8639b2f803381bc362d1fb6a764e708e7a345fb14d2614ef1d46617e63f0cb4b4852c336a78f34af30ec66dcf9601599bb";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "f490fee0986df4e169277c064c72663796fb15d7f9dd3022c5941b0c60d12fee7f19936429a7b7398c39bb9eabfa362c05d2b51afa3e309e74976bd90eba03c2";
+  sha512.doc = "2097b77b794f0542f9b78fa2fc9a5a59e15f1820a0fcf3e4f31a2fd17555b75d7e75692d0632ab908e4319b1f5e22169864cecd77cfda42d586b04fae5699ed9";
   hasRunfiles = true;
   version = "5";
 };
 "hyphen-hungarian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "54d8a0c0ae2040934f14bf7ba7778108eaafeb5408e448d23c72e2e9a3cd79251b06b5a015fe2a74a9264de7100fc9b9f7f66e89b89c731198aec5b0a160430d";
-  sha512.doc = "1786a4b29cfaaa1b0f3cd2d9b78b980490e2fa5848e6f68f7c9b23d25410eb7aa6ea0dcdd2db0e2270e804746d4523a7a4f40ec53b890acf8a894ae5489fcfc9";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "500cdd6de1f712e456849a42e5c34413071c918c5092fbb338437ecc5b812d7b7ac0bed78884ccf6c28f35724ee73c6e6b9810fdf952eb2f4bd62d1c9026ae95";
+  sha512.doc = "85d5be268eee987e0f8d48a9ef5920159e070a82e5b95d34bc0c21db646b2abebd9cb676db3b6d38b914837ddff61b8166e57b552b1f13e2ed422ad51b3d96c0";
   hasRunfiles = true;
 };
 "hyphen-icelandic" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "32faa121a9a1ae6d21551b01fc953041da3b1d7beee179daf0fcb022a99c15dc519ff2d32d3e8f3294e6b9d7cd5be07a91d21f7422fb85bac2a890835784c588";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "5aa01811090ee1a6060c12130f4bb13b06bd1671b5c7e78a43bfa3be53878eec90a1980cb1f3c34846f9f9d93342e4ca8eb4005f4c6941d6cc71e1c2c7def4ca";
   hasRunfiles = true;
 };
 "hyphen-indic" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "857d447939444570c5d34639789f2846d33e11e434fb708c2748d275b0673de72b001e6c6c724271496cecae5814e02fa0a96f765cec8df27b719a9e686e2a07";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "3508cae7b75f92bb3dda27b48494ab24da235d1ac04035652a050a194e14edbfcaae7378cc4b2bfe4dc52bc18f3685e14c75f9677d2d24483cc858cc24e7069c";
   hasRunfiles = true;
 };
 "hyphen-indonesian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "53cc5ef4877c98b5507cf1952cabc009c0c74e3a96bba42cd5742626ba911145ed44cb711cb5f19d37fe93f15e26eceb3027bc6d22a542065d6bd1211b8357e0";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "02b3091d9985893acc5ed8e0eb73165a136fee32872bce7eb579b138449b2688d9d3bc2c0f7c99817e8fbe715fede1f9f41df37ee4627a900b24bca115166069";
   hasRunfiles = true;
 };
 "hyphen-interlingua" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f341dede7a02b24952a18dd26310386f9dfeea3ceddf6cae3e589528991fcf3fba889096b920bd85a20f5405150d374e2f35f520fba693afba52d071765e9493";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "b3b6ba288a98443ff1ce4a975286db6969cf2152076f605639bac5025c8479ec27edab2542011c10603c547b83f5ffb58fa7b6f97840d30e068b151fc9641242";
   hasRunfiles = true;
 };
 "hyphen-irish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f0f577439fcc997b0b634c7fab538d56438a670f4f08b7189bddef7d5a88fd842c4595332544ea4ff2bec70d55c67a8684de170db0388a13251f3f5b2079847c";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "92ed3fe2982324b1c233533fa247126d66c5afd6dde06985a45b44f7fcabb572dd2cb33f0a20c8a9955494c067bf559cd2ed3bfc2ed5a233da82f48affab4ad3";
   hasRunfiles = true;
 };
 "hyphen-italian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f873581b4e5f674e4cd37101d89fb3d5099930bff904d2c7a55512ac4dc7dc48e050cd18615bfebc269d894bb46b65642badc7de37e95e6730d8312afff95b65";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "22e42baab13e34b60f6acc02f018c34cd2eb4eb9f6a405bbd3c98a27548d6020cfb8284e4128abf5f60562087d525603e61d125857193911a93eb31948fdffa9";
   hasRunfiles = true;
   version = "4.8g";
 };
 "hyphen-kurmanji" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "fb7bc7353bc20cac4a76330afda172f56048374dc231df8cb171f6a8fdcfb05ffe720ea358603df991e6ea34cf83495e573a95b4195f545ca68fce7aff0f5679";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "cfdd0e78fb56a36cff5c453ee2a27edf0e6567bf514b08c97ed1ed3a1fa9a688a2aee0d8a9392787e1dddcc7bb078206a4d22528dafc87bb8304e4e8a1738570";
   hasRunfiles = true;
 };
 "hyphen-latin" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "2b1c40f68c25421cab3fd6c9b805c509686c4cefb5e8de18490fcbe8a4556892fa4e4b692ef26ef388a7a9a7cf690828fcd5a0ff3d2c374276b4a12087e1d58f";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "1277af56c6664fea0fa4693631e90e9c3490f31c2360b7aa335b101159433b832cb75d8bfc1aca07e0c8791bedd6ca2af26d95a6029b5d29d97d5f8d8680190e";
   hasRunfiles = true;
   version = "3.1";
 };
 "hyphen-latvian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "6ebb6611f20d90ffc57d4f67c5fc4987e31da62979342dd0143fb51126a6400c634e9bbabf4b2383ad71619833280c30fc22175d394800ad5960b33434c38c52";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "fc46050d6d60b87dfc27b06a444588cd241255a7d95a40eaadd106570c4c0d29909e0b5c1a783ea6793e53363c2f2b540c1fb74836e1824598c5eeb4dfd3463c";
   hasRunfiles = true;
 };
 "hyphen-lithuanian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "2d79d7e22dc7388218e427c55040665cd3ecac9502da0990126bde874785dbc365cb6a3381a3d3510ec938bc080b97c8ceda07b6ee1c2fec9329db02d32aadd0";
+  hasRunfiles = true;
+};
+"hyphen-macedonian" = {
+  revision = 54568;
+  stripPrefix = 0;
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7f1fc26d4554abbfeeb1da1f0eda68ee163589f519e3eee958fe1706d2dac7ace451da18e0b1ca8078a00319e2bf6ec6da8a9bd75d5d29824760194c1d9cac87";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "6a57e58f444468da0e5854a3bd10a319ef8767884f2a5153580bc9e145f65d4694a0c0e56fc411db9e9bf088e2746462fa51eff23fd3a49822416fba25caf88f";
   hasRunfiles = true;
 };
 "hyphen-mongolian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "0a4f14b167afc1bb4b017978a61aacc40b27ab13f26aae90f3d970a5ec97f2d8b2ddda992bf83488821d2fc58238c4d4197f91586e36f3812271d2ff5ef66663";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "6271ca2a121d28140269a4dacf984eb05c033d777d876bca62bfcd802927d5d89a0aedcc1f9b2d57ebeab891a75ed929a1f86b8cd9b19d5386549cd01ef1cffe";
   hasRunfiles = true;
 };
 "hyphen-norwegian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "3bb97aef0042c3d863659a3f8921290ec9aab46f731a6908262f7f35f3843a4b2a0caaaa1d373d643e1bea43ddd57ad85b3c0fbb9a576461bcbe21fa8a067759";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "3972bc420cc017843f9b37430c17955a66974540305b782f1f4588cf14f88a1318b7cc73d6f904162f7c6eaa24a1055f9c317dd93e0b1eb369fc1e1d9046445d";
   hasRunfiles = true;
 };
 "hyphen-occitan" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "8bf003921d4b93a73013e7511d3ea0a11f1f9a1f927e46ab59e65952e7e51ccac69ccd52382e37785a1136426835d7d88ca71241b29ecf7a1d582e2294f449d7";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "cf02b2ad08e5461c65b79b7f04a357e6aa901b23dfac41b450bd97d7e3963955a937783b1f936070e6cff3d57deaef1cc6ae36ffa72191a832de130bdce47c7f";
   hasRunfiles = true;
 };
 "hyphen-piedmontese" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "cb302bfcca925b09ee9ea9f24014249ffc48dfbe16d3ed8c4a4503c036df1a15af457e1a1a3069d4f8f00c511d4099cf1a3541854a992b0ab5f0825ae1df378b";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "7f305b9b08749a72f239eb04bd58d630109be9b5e1cc9ac7bdc62b9d7db0b6416a07d48c5c6fa4706a9f2a343f5f2be0b12ce711fff4022c01b55b3d84f0d6d3";
   hasRunfiles = true;
 };
 "hyphen-polish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c36d67a9ed57e6fd0d683ec1c8b86ee6e1336ddf8103c430d074b71b0710a1fe64e7915de32eb3a789aa42b0576d286e11cff966024e6eac83b80315101df529";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "0d572dabdea81662670fb2102d8413d393ea7fecff2881790b831f82eb2a4a37b7117384742c60ce2d681a326df48cfb3a4006f552a6fd136f1dd5cb1b40289a";
   hasRunfiles = true;
   version = "3.0a";
 };
 "hyphen-portuguese" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ce865fa130f7d616aa0dfaf3bdae399c360f624245fc4af156ef4deeed254cb66b549cc64ae5727bb5f538ad9b2613bd2b4ff64ac0345b8ba59dd172e778e01d";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "38ea70b8cb3d8ec121115bbd449c23856e105b6abc3f4142a9a1b72d76db06b89cc20d0537b55cc8780a86bac4ab51e38604fcc51cfca8f66ce22e8bd0374e73";
   hasRunfiles = true;
 };
 "hyphen-romanian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "2c49bc2a8ab1dec522ee37a0e235b4dcb327545b072fbda972c68c4dd7faf8bd029b74316861168352effcfdcf022e37c42d079f71f5e719764ea2ad50d294e4";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "ecdae5b7218931ab234c83de5b2bd4b6dfb717a9c5787e2d3d1f4b6a2c9c6b1e5f043be6fdc3fe24e6f28ac7de67a993d4b7e6591ca6ac416d1af7ae3a2c0363";
   hasRunfiles = true;
 };
 "hyphen-romansh" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d2d107149d51fbb76813ae495127b1965002d38494cf933adfd17fa613db8658fb28d5303222e289e81c56639ff40001b73804474f7d8b09a4bf763286d5dddd";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "02143210121593b7660b2dd2c3f3ea1c57e9c9fdf7a4b192381f2976a295aff605ee083f303135590183284292ced236a43c53c733ba4d989247afd65c05ee8e";
   hasRunfiles = true;
 };
 "hyphen-russian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
+  deps."hyphen-base" = tl."hyphen-base";
   deps."ruhyphen" = tl."ruhyphen";
-  sha512.run = "b13290533a666b3377f9d0fad9d441f6475a3363e32e3675ab836402ed03083b4a1ddbc2fed946e7e7d048a4ef9a8e6d13ece7c98e77a828af3ba6e7ef14c0cb";
+  sha512.run = "b46982a0a331ddb292e881475d642248093806f305ecf9ec8380c24fcd65e8a1f9e46436a9e6b32570b5677af807672cf35b552a23d2a4351165bd742d165330";
   hasRunfiles = true;
 };
 "hyphen-sanskrit" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "5dc85b741c8658af4c9ed02a52c394be315e2a076f91a98ca44254bd7006f585c44539f1a911b6d63fab17e2dee7ef89cee74c878348115eeb9d7aec2e253595";
-  sha512.doc = "b93af3eae61de575fa8909a8cf39bd190585ac702577c76df655ca94fdc3d1d5206d4017c80641e5351b894cef9d214ed18c3d5cb1a30f5e06388445724c28fa";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "5a9e95cd0cd910a98921dcefb085b60e98f0fb00b2be0a4cf49dd21e0bb9ef395ef6e96f272047484220ddd31d973895a4b73931fc2c0b92756628774b2020e9";
+  sha512.doc = "11afd3cf797b0ae58bc8be71cd94c4a614c79aa5424d3186b949aeffc0eca3b2936e9412df7245794050aa16b2477b1120a5e63a41fecfd155cfa96d65347f76";
   hasRunfiles = true;
 };
 "hyphen-serbian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "979ec2b533f3bc90b672a856237489b78e11e1f78782d0c14320ad38da08514ecbdc1b7d3d42930280324c36717c11fd8e3d57bfea74e3fe257fdd84138a144e";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "2402d44eabb5f2ab8b4dc843af5b3480b830189b0837ebf7e0071990e099c6e1296f4da80b29eea8ad97829aa4d02171b43c53ad57670458ec93b7e35db94098";
   hasRunfiles = true;
   version = "1.0a";
 };
 "hyphen-slovak" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "08ddbdfd97d005f69829477f0f269c168dcf68ac2adc278eb91db91a9e61bd8ddcd3890781ddacd623a12aa6698e6a46651d8e26bf9bff3a817c655448f1747e";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "4c554047e29ff73652ad071cbcd84fde6a00e5484801700c7b256a27d4158e333ca59c7f3996b50d156c1c5097bc938d01a8888a3f3852f032197994f3314c2f";
   hasRunfiles = true;
 };
 "hyphen-slovenian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "3caab81e3d46b889c1f72bf4a2bbac5a03ae6581eadc919f21eac47af8defab69a7fe3a8e975d8f578cf4ec6c56458f78428ae621fbb2334a605b3480426a833";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "70b092587942b1f500daaa715dcd03b608f4776bfa73bd36cd11bfc78d7a835407d6096c0935ff00b28efaf27c8d670f1fd70c8b89621b316bd785c62d61bbd2";
   hasRunfiles = true;
 };
 "hyphen-spanish" = {
-  revision = 51186;
+  revision = 54857;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "171417a27ac9303f124cbfe5e2c788e11148426a16336f2b2f3f9651c67090b6a72f32ed681a7415f886d5e18f6075c6ee0dd421b22240d6a130897865953488";
-  sha512.doc = "e52e6f19134c653772b6b36a37b00a6a1b83ccc93716eeb9215b1d7677a1df5d203493bceeed312cd668e4de123249b41368b4c8d0479684b9b5099ac5ec9f75";
-  sha512.source = "3e010822e51974cb70c8e551d0bf31b13c754d3290f04e8829dca6642a0135636255a578bf50ed2642d3aa383bc6acadcf11d25c8184833d692817e518a83e84";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "6731eb48d98a7fa6ba651ab2f546d7d36ab7f17ea6d7e34f4a92398a59082bf1ffd12d94fa7b7a09201b2868d5a3676f93ec33986bfc744a0d7de66d2aacbd6c";
+  sha512.doc = "d5e267047494e278851a4010fb492477398780b5ba531a18d722b7f0559ac0d35f40d163e551522c259b63a56b44d32234dea51e13168b6aaf1904c3037d8e63";
+  sha512.source = "959d3fdc6cb49e4f2be3fc4dd94ebfc62c448833d4bfbd4e223c6c1ae023edcd88ea7fcf20a2babbbe7c354bebefa28e7fd2ef9329e6f3a7fc86f6a7636ab8aa";
   hasRunfiles = true;
-  version = "4.5";
+  version = "5.0";
 };
 "hyphen-swedish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "bfacb0ec44c522f993000db583d495107da1d98ea905feccf36a3fc517058feccc8f4868065bedcb6dc64f0c6af7f1a2cb082179b6d86f15befb4c712bf5bd31";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "95652229f3410a914cce69e71fbbb63380b02774eeb798c99d7066af61206fdbbdffcdf2acaf79bd8cdc0d97e07fd1cb7492fbba8b812ad6331a7a90b2192c05";
   hasRunfiles = true;
 };
 "hyphen-thai" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4c47391ca4cde10be3bc50594eaf506172c0cc12066cb028073845868639e1ad18dc6d57dc418176695df1a7cd7d8ad29f3b4c007c746a39026646dbf2b07123";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "f968c4f1337e8a6d6f279c562f0684a3224ce7b92a92607a991ae903c2fa58e2aa4419aecd40d3896e6477b12bc00def88b6d368c2c1d49fb36c318554326ec2";
   hasRunfiles = true;
 };
 "hyphen-turkish" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d65df4ad0364fb7da5cebe9f39a2351671cecc49d050882399630975c5ac468dd1e41de9609c0581322937dd683056335fd78c7bbb1423610441e0bf4acfdb72";
-  sha512.source = "27a469eccbe748ded0466c4034dfaf280bff3e6448aa828f2411bad7b9ac8e875f172eeeadd077670f851e4650600c70b222b6325dfc3d362b6737bc988a20d3";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "272b8b3e6ef216e0ba23417f243cfaa5a5cf9f5095669483948a5e4a64feb1503cdebddbae55ed730c659f6274cd82e5c523234317c1a8ed7739abcd0e14c54e";
+  sha512.source = "36cbef8c9daba38955edfaa225fa481384f2cf6951dad1ecf36ec5b39418adfe1ef7bf3becd666e647d9f797c2821766aa77907687fbf251bbcd61ddde506553";
   hasRunfiles = true;
 };
 "hyphen-turkmen" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e4595aff01856c97ec6bb178a0b045868e2edcdfa23cf24e20942b4130ce46ad42d7ce6f13edc7c7bdec2482b29d21a0137f0cc8b77c85e044d85fe3955aeacb";
-  sha512.source = "dc3e3f607c25829dbaa3193ea92ea16dc86503189eb19d66738c0148507f3db9cbff0b2a0700a19ed994e7ad518aa0938c1fb4fb28bf8d6c14c2b82cc130e6da";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "d98fa419fae13ddf9341f32263e73a253e0bd6526ea160867d9fcb17f8921052fe5e55b01fdd58113616c29a6a6865d31aa9888d8b0d1113f274ecc98a39b9e5";
+  sha512.source = "933e187e69d66a84e7c9cc58c5b14d1a13884ddf50b063be562be7f1cc96c0fb9f4a0e7576be7d6aa81be23d1c58af5ff4905317dd360eb309e7d7c75689cc42";
   hasRunfiles = true;
 };
 "hyphen-ukrainian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
+  deps."hyphen-base" = tl."hyphen-base";
   deps."ukrhyph" = tl."ukrhyph";
-  sha512.run = "4aa80aa8365598bdcae2f7dca2a1c7ec7b1f4bf4a5ee434e2e8684263478e6b1346d18c64756fd40c7007f73d3e69c71f2868862cae0c983d9c9eb9e645ce237";
+  sha512.run = "ca87ad6218ba1c29cb3b7391b47be44fd515b8f2ae7d9c793f2b21afe539616ee6e53f4ee6efaeb9bd48bbdd275cea415d3d3f862a2e2a8e43655570de252470";
   hasRunfiles = true;
 };
 "hyphen-uppersorbian" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b60b36ae0816f11b6064285d79098ad6aac605bc1b20bd97191b97bb10a28b445e0e71d1ea2476c0731a72d96c20d114d640c3d4471d53a8b6726dc089377a0b";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "656518aff11c28843b9ee6cf8a05460b436eab5d0901af9556fab1978816d38feef8951e17d4444a8b063c89583c3e50c4dcbdd0bd633e33d849533d8e802283";
   hasRunfiles = true;
 };
 "hyphen-welsh" = {
-  revision = 51186;
+  revision = 54568;
   stripPrefix = 0;
-  deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e4b61366f67645bb8ed2b848a246cab0c267dc626c7a033627d603c91b7061259d2b95e360f15672aa03197b198c4a45152df4dc88f923fdbf8c1ddf92a5f33a";
+  deps."hyphen-base" = tl."hyphen-base";
+  sha512.run = "d9dc00da73d8a0b358ad106ae5f866a1907606d9875552eb9818f5eb06fc2a79cd240735e1203523d9c95cdba3f3ba60f2956213cb82906bc646bc9b874fa463";
   hasRunfiles = true;
 };
 "hyphenat" = {
@@ -17572,6 +18073,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"ibarra" = {
+  revision = 55820;
+  stripPrefix = 0;
+  sha512.run = "f02661a9cb6b3004bef8ed740cf9b1921080b4e332600e83d2d8c0da1ecbc5a895f026fa178e9b729d3b59457e778d4a64de8e2111e2dae51feb09ae9b2ddfd9";
+  sha512.doc = "2f39336d80282c1bf03cd4749b04ef0da513cd1fcae54cce7d64f017ae284c79423b5f17502742677922a9ab9052f2e8053efa70cae2956cc30c6eba1e2ea4a1";
+  hasRunfiles = true;
+};
 "ibycus-babel" = {
   revision = 15878;
   stripPrefix = 0;
@@ -17590,13 +18098,13 @@ tl: { # no indentation
   version = "4.5";
 };
 "icite" = {
-  revision = 50429;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "1a71e185bf65c65f64ffe49d4b7cda415bdec89a7f92fa45914c0adccc2b1430f0022f9c789c2e13c2acb0a780ef90360a22247ba2aecc171a3fc6e06b8f05b0";
-  sha512.doc = "efad2e573358b64b6d6146fa80011b033e4acd7435d9b0e32778240cf8051c732f1617614cd4ab56c91a03260b203084aa5c15c03208bc86686ad18d2c75e93c";
-  sha512.source = "a0c728f3896f269ab6f91945e1ac984bd3b6774525567f8f196c46ea8edba2cc5f6e6886b26a9ecbd2b1452e9980ccf4e3ae7a7a5dee852c073cb9349a6a874e";
+  sha512.run = "cee4e7f2fd3a007c79966520058ae3db836fca0d9b03dc264d2889ac399bfc7db58e11f3d65de4eae8fa378a774908d36e789441fc244b54c86886fe568cd2d2";
+  sha512.doc = "09c862c89133912f7ed714678b3e1d041e529f4c8123e0241e1d0f531bcdd3036f9307ec8a34cc1f25df8cb38b5a8b5213f4a486204b21e5481f65ca1949db33";
+  sha512.source = "068a63ac822952f6a14eb12362cb94f4f8ef3ed877ef7e40f55e0a234a1736c6fa60276ba80c793c15562889a1cf20caec6baf67daa5e20a3c46cee2c10f6474";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3a";
 };
 "icsv" = {
   revision = 15878;
@@ -17616,10 +18124,10 @@ tl: { # no indentation
   version = "0.1.0";
 };
 "idxcmds" = {
-  revision = 38115;
+  revision = 54554;
   stripPrefix = 0;
-  sha512.run = "ec7d58e5f52472b0d359f84afcba179ce3428638ad8c45293b7de2346d4ba84c3b22792bec27a10328dee9f0f186c2536d562ec47e9f6aa2103e708788a553f3";
-  sha512.doc = "9c55acca21ba10f051c678f0e59d68f4a1231c744d7b470f7a905c81226a23ae0eee03b02b9466b5fb6c92af1e884a95d1f6644401f83a50441b7c77becf0874";
+  sha512.run = "ba1737eac5f6985ab4a0bb25aece07fd0668533ba046d9f980e4c4ba4862c9045e19c06a477e498df027fc0cc2af5503683389377287d58ae89690c58b5f6683";
+  sha512.doc = "1894abf19f05ea74aad0ac1fed2409478dac130a019a44d6bf2c909cb1de66e4c9ec543c75db6d9238982f51af066a4287bd8827f89a59d3d9ba6d3f79aed4cf";
   hasRunfiles = true;
   version = "0.2c";
 };
@@ -17683,11 +18191,11 @@ tl: { # no indentation
   version = "0.3";
 };
 "ifoddpage" = {
-  revision = 40726;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "f6ab9abdef81cbcca8728bac7e1f94e2b72e5db6a8e17ab13c8d56477e98fcf7fb20f006012c3a3cf815378d8bc9c5cc4d39e2767b7d634d1ad99bc24dc1d1d3";
-  sha512.doc = "80f1431a4da340b0b2ba6f396c618e2923457e95b5de01018ef7f95937e55814e3c3e96b2f45f18e971fddd29021a16852b57bafd0b1ba50cf2626b4b784541e";
-  sha512.source = "dabf25b7588f3fe4dc92c4a4e20f2293ef62878d60f1ffa01e1e9efe564b930d7cdfeada5f0e6765a88c46d55aacbbd1dc692ca26168c86690db6c229b79836e";
+  sha512.run = "f56738031814ba4d980455765212f074979b95ccfe62b1661e2017a839bc774b5423f994196a23e763644d40b9842221a5c862f9b427f335f5788d34bbcb9acb";
+  sha512.doc = "e9fdf6ca02d33a52e89046f4d648204a0e560d97e9a12aa5742971e654bdc05867460ec10cbdb5441fc66ba02d2e078007593d9c4c898f290e61965eb6111007";
+  sha512.source = "d6e471eb7014a93a4593234f3f2c81fcd1b7a758d73bd3b659c86812304e9eb9a9a29b8a653653e4672a79f75c2399bdf30491069bdc26c0e45ce9834fd8de40";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -17716,12 +18224,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "iftex" = {
-  revision = 52711;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "a40cf1fbcef9af4cae18c045c051fd63fa6e1403ae83b12d635317bd60e7f677fa0b13252ed272a8855351bcf139b2bdac076a3c74b5bd93059a4478bb2d8b48";
-  sha512.doc = "f499cb46462f43e89d76a84f8c32983bd332a502764c8e0a5e88ecc696c35470f663719e443a36b0740cca40a5b8d9e03aeb8f1a93bc375900eae9f2a05607b6";
+  sha512.run = "07e15945295e3d5c2f6a6e4087d16f1f5ca6014f2ae98bfd25a18d32efd07c4da4542676fa164ecdbe326d478b1370337577638ed2031cdb9f0b2b1961b86855";
+  sha512.doc = "a0497c07ddc2087b8291c9f017101950bb774ae387db082497b859491e38d4fe22d7f69ee9bc093ee9d70d7b67796fdbe643b76322f5fa3577aba5733c7aa105";
   hasRunfiles = true;
-  version = "1.0c";
+  version = "1.0d";
 };
 "ifthenx" = {
   revision = 25819;
@@ -17805,22 +18313,25 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "impatient" = {
-  revision = 53321;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "dbb5efd07c2a88643c5b49a9d835061ac13c1dbf4356769b30b7d7ceff8c29d75b3abc00dcacc9cc901a449bf18b95781916f9b33c3917e86310b0923033301c";
-  sha512.doc = "7558bb2138f0b09179d3979f46328366a410a540e51aa59380c6c5107067dd5b9b350be2f38255a271f75b01bf4669fd64e75fae7fff88d4239b459f70cc5988";
+  sha512.run = "8c606388baf92ebfd113a2e7332c479f1428f4c9b2c5b27f04d9504be29ad20e38b3b538366c2feb78a43998460d362156e9abf8fdb3f8457ff4c8452aeb2141";
+  sha512.doc = "7b0811a691b9ff35fe245df7929164420f2155b4797d372988c7cb7f6052291c5735fdf44a0cd3f7a956be9dec424b5b59385b3f147f39b5beab7b56d1eeae1a";
+  version = "2020";
 };
 "impatient-cn" = {
-  revision = 45751;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "216d5bddef463d26c6cec794a38f0b6d325aa1d4cb9792b642715d71d4f30f1d73396036f8eda79b12498c7ff2b3e1e3d2e17d04e3f071f90e8ca35b3acc04c3";
-  sha512.doc = "00140f4b38177ad8c3040cb29a90545da65f2f6100d7058b1974a174e3cb9e4ccf03f0f9ba196953fdf6636bb44d46a1346a3f812aacd177247f40d16f1b78d4";
+  sha512.run = "e75363bb36568ec42f13217dc740b839e109529e41ac9cc713e8c7eb620e557dcc08d20f36cbdb5f0e3145d9201d659fc8478d40fae4862fefd3eec005a3463b";
+  sha512.doc = "ea0918afe1c785d864bc280a6b64a87cc62cabb02540cdf64a7cbf4b8f81afcef9ac85a6f28b5bdbb42a75b6ce1e12139c12d0e1af4183a28115f8d740c6e78e";
+  version = "2020";
 };
 "impatient-fr" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "41bec2d1167dc2f57a09d0028411147f8bf31d5e020408bebbd1b6c6577d531a38f83ae395146da699a53d9504f7f6ec1ab5edc5d6b559527867b352e4a8a551";
-  sha512.doc = "ca3f388df4f17940ffc3b27ec1bb6d07d3b8728d8de011975b4f2696a96eadb45f208f5455890491af6fb169c30d6cbc6849dd3d25b6aad0284f0a65a81c8e9e";
+  sha512.run = "f6a9a69ded33199fcd46d518fe8ed7dca48677c78fac5f90cdbbed2290558c4a9d7c9b0721c188023384acc97ad95df29565b06abc16fa33deb04490ca50b4ac";
+  sha512.doc = "963a379e3fbf422f4f4d53a41d6bd074fd077360908eb0db1db0a50699e12f37dc6b3ec8b42812604de4ea444ecb38cbfc81d3445cd67626a65fa9b520fb8550";
+  version = "2020";
 };
 "impnattypo" = {
   revision = 50227;
@@ -17832,12 +18343,12 @@ tl: { # no indentation
   version = "1.5";
 };
 "import" = {
-  revision = 53932;
+  revision = 54683;
   stripPrefix = 0;
-  sha512.run = "21f83a762b00d159f157807d8e2bb4eb4737d3989f2d01b4943e6000b6f7b4791b084b39e532ebd34443c90cd213d7889c319343e64f9eaae6a06314d7302810";
-  sha512.doc = "e3d3016d04bb3b069f9dd291447fddedc3db7c498fcfdaa6b6d44f63e7cbecef7cf4068c92012f57151d2fc8b2a5286a3a2df47e7e65c08ee39ef18b5c2b3a94";
+  sha512.run = "96a92584b4ff4a4bd3b345b446f2802e34d59ebf8c14469a5b5331e6d2f92b63f42d8f5799bdcefc9ae3f74e5e6f93aad7d5371dbe7d21e84ced3890a76c7a19";
+  sha512.doc = "967d456dd18c8838db7d2ed64016fa0f77f2ed475e5cbe36389414849786d7e7850ea43e8bb00d8aa06e3ba06f62970a6525ee1b5a5109f8cbc77a0baf894b50";
   hasRunfiles = true;
-  version = "6.0";
+  version = "6.2";
 };
 "imsproc" = {
   revision = 29803;
@@ -17873,10 +18384,10 @@ tl: { # no indentation
   version = "0.1.0";
 };
 "inconsolata" = {
-  revision = 51433;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "0356a6022a3370663382f887806a86adc20d9ab7943c5840eb9344a6c64893819d0e3de6b42aec599cf1cfad0cea5724625d96f032f67c45ab282aa386bde484";
-  sha512.doc = "bf80610a2a64c12098ee2c9d6d034791cac79154869562723321c715a008479a267c2f4b8cb490b6d4de041c80bbcd25cdc3faef2b1986f2b53dd463c4b81be4";
+  sha512.run = "3b33a1627083b50019e0c66ad49319d3ae699943f217daa21f57b19dd2733d29c6f1e9fbaddc1e3e39ea96623581b1d6a388f1a0009e84e4c3f381887b05d4c7";
+  sha512.doc = "9139f7769536398c2822c41fe1fd0850a81fb54d70524904b266c8e231c95e344e27468187f474d51a9ab8c4028d6e5f9cc4513d1b38e306b739a1572c387e88";
   hasRunfiles = true;
   version = "1.121";
 };
@@ -17908,25 +18419,25 @@ tl: { # no indentation
   version = "1.5";
 };
 "initials" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "65b2ca2049dbeffca1a425530ea36357b0f06ae8cc744f16471a29dc9f1668023a7edb184d23c80dfdf57d74f24c9425b48a90133f9fa6c794ddf495e3d0413b";
-  sha512.doc = "ba6943a564c000f986a4029d31ead6ee4cec028496636090fc56267dd8594bb20be94e4fa4e4a2f39b5b4c7af1b0db3a74111e45a8ad229f6e9fa8862b11c68a";
+  sha512.run = "442ffe7585c725c62cf9edf86bccabfcc0406b7517f145567c952ff0de65dae94158f586a1c0081afc5fe3320494750ddc6f455c78ba96e91f409bb0f5905d8a";
+  sha512.doc = "c8e837291eb7dced1d4bc4d94e7e6bc042ebeb5c561ad3688a491f451991f122896d7df01040575ac6fd705d3ad55350e12afc986dd619c4303ba2919f64dc6d";
   hasRunfiles = true;
 };
 "inkpaper" = {
-  revision = 51447;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "a5357a2401cb104c64f64d31e9583b9e427673233a4dc6251ced5f23bda1ad895fe499f806aa7dafa3bfb2cb4f2aa9718868d6d3b0a71f249a545960232a78da";
-  sha512.doc = "ecd15bcb523948b5dbd89ac387fd427a5041b39f6ae1aac26888632096fd1e797beb0cdee926dfad1b3abc5b55c6e1f599a07421e7a52953d0812261df21fc3f";
+  sha512.run = "d07bd9d2f32981607f4baf3bc348fdd99aae0c331423bf1f678231a2ab9830e4a824357df067e52643e6c89ecd1b850afb2444686fa33d75e6a3e598b003553b";
+  sha512.doc = "acc6ffc291db3164d8428a50ee0792907435b90d3677a0e9ec883e0d3b81b6c04785a08217bd6c9554545eb5bc328a702c2958301245bcce68949ce76726c389";
   hasRunfiles = true;
   version = "1.0";
 };
 "inline-images" = {
-  revision = 48415;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "60957844daeeb2e4956d83e1d57e9721b2dfaf4ad2fb4358f1d27cbda225ceec7cbc78cdae5144d28a946bb9408fa960748ca3aabac709bbffecbbb64356f8a5";
-  sha512.doc = "5ec326c1323cdce80f5a83052302d2e18de3b0f054ddb7a29da5002605e1020c81fe0219ee68866eb5d8c3b12b4c138ff56f8a630e6f0455b27eb0a0c905d027";
+  sha512.run = "7706dce6a4c0a6dd9b3222d296654c974ee3d6265ab5baeea762c708863f45d7f351158b04075f4365de5a5913fd9cdae5e777ddea69e19d7feb4067491d6515";
+  sha512.doc = "1c24afd0757ca9b9a0cee81192498b15a250994ebf45dc1ad4e26800a1266cad6536c922e97b11999a6b2999ec8ab111de0ff8de46baead06510d2de2296f737";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -17965,10 +18476,10 @@ tl: { # no indentation
   version = "0.3";
 };
 "inriafonts" = {
-  revision = 49826;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "fb8218a74562131139d0125a40d04363df7f50e43c8207181f3c72210fec7f501497b5256cfa38d663c21b466e6c7fa94ad2fae9612f4f9767b32a7f5784f7b8";
-  sha512.doc = "b55bac3fce4d012be6d8d604faeff7868b62fda93493e49d7a0a0cc7d992c704de5a845ad7ba4cbd97acc787155b33fbd939954001dc6d4a9b29cef21b0004a5";
+  sha512.run = "9c960dca72d433a5ee20b2afe843b92fa98060e67638676a8e92ce9c7dde872be4bfdda6be7a76ea90db97e51784db4487ce22c79cd110ba0214ba54bc8fbe18";
+  sha512.doc = "352e35b1b748f502db20c76f670c8eb6d02f672ee743518113a7b7807678ab45f2a628980229d8dae67df0dcd3581a5a28492adce8752a1a5f914fe550bab01a";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -17980,6 +18491,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.2";
 };
+"install-latex-guide-zh-cn" = {
+  revision = 56485;
+  stripPrefix = 0;
+  sha512.run = "41ea58cf9cf168e1b19b65a657b052f904dee2bbcbdfd7d197897bc8fc7eda34953e794ee46720392de9d4869d4ca2ee3f0c821d4e687b042fa32464ced4243e";
+  sha512.doc = "b91e7225472c9807f485737370143b1be72c0ee819135ceb6ceda6f6aabe382ac96dc0cf82ffbc98fefabf78a0bad903894bfe92e5fb69b7ca1bc205f2ccd19a";
+  version = "2020.10.1";
+};
 "installfont" = {
   revision = 31205;
   sha512.run = "cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae";
@@ -18037,13 +18555,13 @@ tl: { # no indentation
   version = "0.4";
 };
 "intopdf" = {
-  revision = 51247;
+  revision = 56465;
   stripPrefix = 0;
-  sha512.run = "e1bbdb7fac641a3aa6965cc6dd7fe1c2df56026991277d25814e07f22722ce9bc3851db045611b121b358c46afecc2d8072e36f435cb56f4bfcf45859741d2e6";
-  sha512.doc = "b56f170934bc7d3528604c27d4153800e1069b10ef98f4dcee6276d0c4259327160f8acd381c294490422e34dddd2ebe690d7143aa1493ebe36280323cbdd633";
-  sha512.source = "dc48d013cad264045e8515bd8e87feb09ad0fdec11a811a0933263949fd6f93c1ea0abe5a4d40553e3d37e43aebdb67dabf6715ab40b3abaa2971b2843a07df1";
+  sha512.run = "679978ffecae012c4bdf94c7ceff1d35b7d218c5d15ffd63cfbb56b335d9b31137fb8bc9f2917d0ad86209ddace879decc3f0cf745246887fe492f8bf79ae1b8";
+  sha512.doc = "954db8e3501e2b643101281d8346e0a3b4f17c86793f3870a379f02908d110ec94b837d2acf426b71628c325bfe52de6579d1048e477846745fae34a336f2997";
+  sha512.source = "134d799cfcfefabea06922093daf73f99df8728eab38a4d275c688602e10de2d2f3192cf0937f99b0153952f259a6ffc326e2f4755a847ee0d17a10be67f79ff";
   hasRunfiles = true;
-  version = "0.2.1";
+  version = "0.3.0";
 };
 "intro-scientific" = {
   revision = 15878;
@@ -18085,12 +18603,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "iodhbwm" = {
-  revision = 52118;
+  revision = 54734;
   stripPrefix = 0;
-  sha512.run = "694c87987c02504c3e9d4db2c094582b0ed979d240f569a8d8fde37563885b23fea977c6671cdd7be464d7fe1fe2870dd321afd59ca5a33fcb7f0dbc6d6a485e";
-  sha512.doc = "a94dae7e699365fdedda975b69905861a2187590269ffa65256d97e28c8b7a89facd79edda6b4b177afa18df3b790c6a2e95c82cb59b475a7a2e57c7e26fcf3a";
+  sha512.run = "34a15eef8301dc4cb34ca31982de3b7e4529d71b1c7880102f6dfe7fb2d6bbaeb45bacb7613dbad8177cde94c63e87d430413e3e7abdf8cae0ead178c758f045";
+  sha512.doc = "a6c7397e2b79b776e0a32deda492548255ccb378790e37a4fdab9571ca37b606f6c12dd9ccf811960c636b91d3adf44f4295006f712e9f386d3a32fef06b21ce";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2.1";
 };
 "ionumbers" = {
   revision = 33457;
@@ -18168,13 +18686,13 @@ tl: { # no indentation
   version = "2.28";
 };
 "isodoc" = {
-  revision = 47868;
+  revision = 55850;
   stripPrefix = 0;
-  sha512.run = "09256daeeb683ad518302f29d5385b4a084dce7fb6add48249fee7ed9920c1585f6c7033b19f466d9bec3c396c1b7950c65cc736be650836e09d3304c14312cb";
-  sha512.doc = "0e215043768c2b55d20aef9ada76bf0820e9207ecd3674e4769944885477db9392aa978a90f221da17d75a010844e87988a3f449a29cfccef2c9560d5a98c903";
-  sha512.source = "ae4f54b4c8f8b2d1d9caedd6a89e45e66eefa47a155808b8c9f842b3976fac25769dd349cb5d2bea006dea042a275d5c1396b8a98e4c65a4bb29f632225ca49f";
+  sha512.run = "98ad4aed4c18764615cc4361083b20f3f6d17c13b5a7d342e7c232071397de601ce94c831996e9f27a2663e28f66da3b2b4f3a01da1bfe90ef6b77f86f612b17";
+  sha512.doc = "5b25fcbd7ba74c947bda92cb1b128205d22a2b708667ee448ec36784b4debb02d2c49d58cea7ffed9b3aefd46631a74a4170fbec9687a7dc66f4339d9050bd18";
+  sha512.source = "d7498bf94a0e0da4eb5a8966bced00ed059ae78ecf6db671dfc10056603ed8d4f1af8e0f3b1dfefb5c2018095972110345143a15e22a6687be14495aaa66e4d0";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.11";
 };
 "isomath" = {
   revision = 27654;
@@ -18275,11 +18793,7 @@ tl: { # no indentation
   version = "2.4";
 };
 "jadetex" = {
-  revision = 53786;
-  deps."latex" = tl."latex";
-  deps."passivetex" = tl."passivetex";
-  deps."pdftex" = tl."pdftex";
-  deps."tex" = tl."tex";
+  revision = 56548;
   deps."amsfonts" = tl."amsfonts";
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
@@ -18294,11 +18808,13 @@ tl: { # no indentation
   deps."ec" = tl."ec";
   deps."etexcmds" = tl."etexcmds";
   deps."fancyhdr" = tl."fancyhdr";
+  deps."firstaid" = tl."firstaid";
   deps."graphics" = tl."graphics";
   deps."graphics-cfg" = tl."graphics-cfg";
   deps."graphics-def" = tl."graphics-def";
   deps."hycolor" = tl."hycolor";
   deps."hyperref" = tl."hyperref";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."iftex" = tl."iftex";
   deps."infwarerr" = tl."infwarerr";
@@ -18306,30 +18822,37 @@ tl: { # no indentation
   deps."kvdefinekeys" = tl."kvdefinekeys";
   deps."kvoptions" = tl."kvoptions";
   deps."kvsetkeys" = tl."kvsetkeys";
+  deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."latexconfig" = tl."latexconfig";
   deps."letltxmacro" = tl."letltxmacro";
   deps."ltxcmds" = tl."ltxcmds";
   deps."marvosym" = tl."marvosym";
+  deps."ms" = tl."ms";
+  deps."passivetex" = tl."passivetex";
   deps."pdfescape" = tl."pdfescape";
+  deps."pdftex" = tl."pdftex";
   deps."pdftexcmds" = tl."pdftexcmds";
   deps."psnfss" = tl."psnfss";
   deps."rerunfilecheck" = tl."rerunfilecheck";
   deps."stmaryrd" = tl."stmaryrd";
   deps."symbol" = tl."symbol";
+  deps."tex" = tl."tex";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."tipa" = tl."tipa";
   deps."tools" = tl."tools";
   deps."ulem" = tl."ulem";
-  deps."uniquecounter" = tl."uniquecounter";
   deps."unicode-data" = tl."unicode-data";
+  deps."uniquecounter" = tl."uniquecounter";
   deps."url" = tl."url";
   deps."wasysym" = tl."wasysym";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "5aee50d3e9bf30a413222e9432ecec830b8556f81913b5e02bb7bdc06a42799f91895f32a9aa059f304023e36d67c8ded0006e83f503b1ed831345ae6b8a7a31";
-  sha512.doc = "5d2a95dbbf86986aff08fd66f8ec1c5092d79dc5803a7d44e98bbcec722edc594595db1c7d646d2923f894ab48c40dbc2904e5186ae659bd8e94906409892731";
-  sha512.source = "c156127a7bc71c6987339cd0ecbb7b81a6f474d42b53ac583bf6380fdf6680b646582db593b646139fd93a0dc40c79d962f874840db09f438824ca1762e4dd25";
+  sha512.run = "888240841018c133c416f7dc93e29250cb9d310a6e0a0a1b17505e3ed43061424e4654faff7e973194df9ff6d2fb8b9bf2b80eb044241477af13db0508b60ff8";
+  sha512.doc = "ceafb41e34d2e1ea2bcc6564fd2f2d0df8fb25c8289f9b116042caa8b208c55e2fd40952fab39e4dfc945a5047ac5652fcbe4f674311d7cb39872c1d9dc96d55";
+  sha512.source = "04cef58d297fcbc27f6328747ae2992038d69733386084e868da9dec3e3bcb3d312a6f4eaa1ecd4b9233bc70d53cb62248df4b54a3d1949051aa70d3fe9fe45e";
   hasRunfiles = true;
   version = "3.13";
 };
@@ -18351,14 +18874,14 @@ tl: { # no indentation
   version = "1.7b8";
 };
 "japanese-otf-uptex" = {
-  revision = 52048;
+  revision = 54080;
   stripPrefix = 0;
   deps."japanese-otf" = tl."japanese-otf";
-  sha512.run = "130d2667c3829311153121415d27d880e475e121a16a8f739b018894b93d2f45200e50c53ead912419900100d596ce2cf6c047a201423690ea52ae415d82982c";
-  sha512.doc = "fc672ee767090c52c2eaffc6cd42e74763f879e66f45942d30515a498eb83b14786e52afc98ea4a47b349687dcaa7e782fbba4534a7adaf56cc46796f79a6481";
-  sha512.source = "0ca42ba766cca6d917cb5fd435720bdf6ebffc0aeb5817e725977da51177178b14c15a8f5dc1d66a463934690abe338b669aa968927919882359f39ae01bbed7";
+  sha512.run = "6588523cceb59812e63a48538684a47ca5e11208e6439dc9b0546a98931884c747c35c83167ddaf27c6db7e82b7f310b7a938705554f371dc85104af315ad082";
+  sha512.doc = "4f5759c53f127aefab7bec2e9908658548cf19000372f059d1a7c16c5f48f2586357e26711e94dcc7b0454d7abd1eb0370bc6d9df8fe05e6245ddf6280ccf5d5";
+  sha512.source = "3fcf2a425145af523347036de783b6a536f883ed16909689a7ee5eb95977791feb36e0efc1d61e5ce21b7895847e330160034564ad6f14caefb1ac1231a004a1";
   hasRunfiles = true;
-  version = "0.24";
+  version = "0.25";
 };
 "jbact" = {
   revision = 52717;
@@ -18368,11 +18891,11 @@ tl: { # no indentation
   version = "1.30";
 };
 "jfmutil" = {
-  revision = 52026;
-  sha512.run = "8aa9ff7477739e75824f7c7242a02cf6186fa1a7a37ae145f7fbe989d6a7fd774c0428c60575609b235cc8d1d4f0f108cf6bdd7cb1003a0b12b6b6700e9414ee";
-  sha512.doc = "b607607ac051370a5374d57f2aebe33a2763029bee0e7cd8816a614e3a49728d4ef4777ed5c8de4d9f09edfbf3524959c3f8e644d811105e5c69d93496ea3dca";
+  revision = 55044;
+  sha512.run = "ba0c853d1624ef00407e9eb4c6051fa9f71f505e0e55ea2a698d4a9f7fee241c1339d46e873d77573252c781ccacb05b9d447b80aa43887ad76da667977c666b";
+  sha512.doc = "d4b255cccbe58ec85240be3f0a390dd2fd716fd40c744732494d3e113899747133e99be75f8bab888d240e66e16195dbd2b12188f3551e5535a2cbe157c5bf9f";
   hasRunfiles = true;
-  version = "1.2.3";
+  version = "1.3.1";
 };
 "jigsaw" = {
   revision = 49111;
@@ -18405,13 +18928,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "jlreq" = {
-  revision = 53717;
+  revision = 56450;
   stripPrefix = 0;
-  sha512.run = "0f51670a5cf6c7e7adb2c0c8b5c155d67574ddc5d1c73026bf18a5f6f4cad26bb529a98d32f82936a2740184bd6ef4dc04eeff1b194a2439af9da53f6c173c18";
-  sha512.doc = "8bba85d024192315137fcbe494a2ef3c397242d34bf1278dfb6ae54115b8a6bdfe45206b5abb8af89ba39dc16e97d4546ab05d312d2d8a0fbf5cf26ba1ebfba4";
-  sha512.source = "e8e1c0723a61c1e75718382af0648eed242de51256d16894f5bbb84bc0889703de83b0f3582905411ce3f5a8d94bc6e7c97752f4ab1708d0c944b59e57672101";
+  sha512.run = "8cdfbf489cccba9895ea88619a482c0cc79d12f713599814ffd1c6758ee69196773dc2772748a5f83eff6a7e54d3b0f599798476b55edbb009049479461a5df5";
+  sha512.doc = "96bacbf8fdd7871ecd7ac06ec61129f0f6fb6406af1e2823a515f71bbaf6424730bb220cf90ccf255dccbc9069e8e22377b5cf1460594f811939781630e39333";
+  sha512.source = "f2daa8c58838a543b2038f5a75efe768f55a929e6d0534b266ff567af7fec34080a7dde732e62b6341d83cc9cc81460b1ceb161a1e26293db43ae7a1ff62fe90";
   hasRunfiles = true;
 };
+"jlreq-deluxe" = {
+  revision = 54894;
+  stripPrefix = 0;
+  sha512.run = "7815e330fc99040428acfd3374cb5afa9cba46c1e8280b188dd048d5c1b21a5f8684980272a022c5682af5097c328292847da015b20a1132d725ebbc389fe35b";
+  sha512.doc = "a6827015a219918b7a57b41b4e9b223da755abe95bec8140f8ae9cdbec3f4d55cf7796326568bf0aac64242f351f8076e9203ef8fd18ad228b586cbf177cef99";
+  hasRunfiles = true;
+  version = "0.3.1";
+};
 "jmb" = {
   revision = 52718;
   stripPrefix = 0;
@@ -18420,13 +18951,13 @@ tl: { # no indentation
   version = "1.21";
 };
 "jmlr" = {
-  revision = 53616;
+  revision = 56395;
   stripPrefix = 0;
-  sha512.run = "bb293ba280f8b0d15fc2d3fd997a8992f0664d01bf56d42151a6f71633d077cff751302188c857b4f6c8d1381bb37f1807c1c3ca85ae0427846aa1189aeb5c3d";
-  sha512.doc = "d32cb5cdaacf8c865bca05ef170cce5cc92f0a5d77a33162ce5de6e4f8e77c729d876afd682f1972e3207427557d68ca9a822ab3a6ec9c08b1db7241acfc4e47";
-  sha512.source = "fb5da231bf161f0ad32d0c4617337aa36a5d443bbda0e2def547434744253b5476bd7696fd4bd025ef601a7a71800e6013213e3e5357ed7fb2956be4c0cdf47a";
+  sha512.run = "950f1d737ccf93c12d497ae04192f63c861a3a03279e69aa54c28ab0dbf4299dca3339ca19933c96f1c5f42dd9e2d860dda9c201d2f89b6aadbf75d73c16a878";
+  sha512.doc = "c86b3f5c1e1522009b2a31fa532c98a754354ef744be12ddaa24f1ae0c3c7f36522d1ff886aefb220796375541949a55ddefe0a085fdc0b607383a183f70234f";
+  sha512.source = "163df127f2f448d0ae23144d91fc7aa28c423f3d2ffc63d7cd34d6532b734721215e5f3f31cb3f6662544d3609da83a9a2fd3970a8169841b6cdf129a58a575f";
   hasRunfiles = true;
-  version = "1.26";
+  version = "1.28";
 };
 "jmn" = {
   revision = 45751;
@@ -18450,6 +18981,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.7";
 };
+"josefin" = {
+  revision = 56311;
+  stripPrefix = 0;
+  sha512.run = "1cb061f0e72671cee31091ae9814793648be204c6383faea0e57ceb8add5b33e47ed1a28e241567b4281e46e519d2a293320a7c784b9dc51e46855a5e1816f77";
+  sha512.doc = "c75a3969286e3473f151e09a2ee04c79e0e145d872cafe897e71e55affb1a50bd5be8d51e5236fa3dfe134eafe417e387d866d4353e161fce24915cdcb72e767";
+  hasRunfiles = true;
+};
 "jpsj" = {
   revision = 15878;
   stripPrefix = 0;
@@ -18466,20 +19004,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "jsclasses" = {
-  revision = 53641;
+  revision = 56551;
   stripPrefix = 0;
-  sha512.run = "e9a932b1a667b049283eea0a75d12cf83513b4d4f97d50a8c9f4a820e139fbd922c8448ea226a367be1450ab96e2184ef4973043589e0f84b8a1d55b94931ebc";
-  sha512.doc = "b19caf831b88256aad481a50a6c3cd73f088d7a8514476b7b8c04be39990b341d79437b4774a3291e4af8cd40aadc83cad75fc50f1b8fbe91fce0cd366f0c0d7";
-  sha512.source = "09ecb81467d6ba54254edc317c375f858b8e7c978e4bd07667fa2456b05b142e653de561ed2c2576fc368f1ee9bc4c20ddd02950458997b5600269a887317cc1";
+  sha512.run = "0b5c8198118e948edca1f997572a5e7669885bfe293a2f81864f203827dbc614a2cafa0b666c84f23921bd9d3710c69c42974698895829bf9bb6e9eda053ad7f";
+  sha512.doc = "d263ac273320245d8b60025da2381002ef0d689527d314f4f1158370099add8286c13101c979fd713a77c34f362aa5748020f53838df2047994721082dd06ff2";
+  sha512.source = "07742680715d6cd8a8db48b58c922c1904e85bdf378a888d637b33db3bafe94a602369ac0dc4d77f8e611390a6dfdad47ca6f2a74489bd9460bead02483acc2b";
   hasRunfiles = true;
 };
 "jslectureplanner" = {
-  revision = 53672;
+  revision = 55117;
   stripPrefix = 0;
-  sha512.run = "9da09cb979caa5ea54466091c785bd6c66e46b93c9182ba426884cf973cd1a9ad0662e9d9053f8749862ad237e7379fa83fae3a43de96712e59267506e0090d9";
-  sha512.doc = "758ca6441a1ed9eb9ac8a8445cf1a3bb14a796d888aeaec374abdeee824c1578e5ef02ed204cdedb17dd96ef5ae35f42a8b32ddc826a73d638ff3d250ea259ff";
+  sha512.run = "c02db09361d220d33d809980036ca25ee6aae8f1f8260025b56b2f48aa4b70a22f48fed82f135b3e25638179959879c6253f64bd22f28e63b2907f7a94dd72d4";
+  sha512.doc = "f69151003dae7e70219348d8ee405ba2c7da79adfdc49e609ccf3e55dde0b538e0ad60bafd84846ff3211a17d1a42d2fdb25bc852a34c2efe5f0ba890f5faf51";
   hasRunfiles = true;
-  version = "1.9";
+  version = "1.11";
 };
 "jumplines" = {
   revision = 37553;
@@ -18626,12 +19164,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "kerkis" = {
-  revision = 52753;
+  revision = 56271;
   stripPrefix = 0;
-  sha512.run = "07d24ba7d57e46d8a2484ed9a7633cdd42062f99c9c48b0dd385159707dbcffe3abb2fdbf8dbb3a22c2532ae86e0c4ee6709edc0eb9cda030f78f7563fdc3646";
-  sha512.doc = "d6f17d255a04ad88c9ddc6a1f50a18e98a06222d9153b6fdda96bb9858bc7bcf26ae2797e617e69c6b701eb5705d71f29ae4644c98eb0c4af9e3db00cf929250";
+  sha512.run = "b4a8465264a174320180ac5f9bd89900f7a3b351af21d3a138db40b0781228bac8f8e9ea66a54a1910b3750d65eed17f74880f1c7396780dcd631eda164aff58";
+  sha512.doc = "b9c57f71b2c5e48ab3b96984b231f5ad418d884caad0a3747c78bdf0a5688c4ac05993e43707236b02650750d5b7507d39e50668b7cc16e00a35547d63d0bbb3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.11";
 };
 "kerntest" = {
   revision = 15878;
@@ -18643,9 +19181,9 @@ tl: { # no indentation
   version = "1.32";
 };
 "ketcindy" = {
-  revision = 53233;
-  sha512.run = "a65dd1d1ea906ecb1ee232029230005c781066bca2d7192893b5230a06059feed4416b78d4670df104cd7b3f5afb6c3463868340c7991f770026da2294009c18";
-  sha512.doc = "e387f94fb712b223864ab615c26c57b505a313a657f54830a61893cad2273ee82ed362438963ae6447496c57474041ebfdb528d92047e6f6bd214c35d4d37cc1";
+  revision = 54074;
+  sha512.run = "5096e7b197298532714fc1850d30e93fbef779f3d014b101f6b1bfd519c82a748ac6e340a5d9f53d94a5818f7c07278d7ca0eade97bd0c4567d293dab7d018f3";
+  sha512.doc = "e0afd2ac3cfa351cd3eb5e1c49a7a8cfd87a52ba1a8e8f614578bf6894529e51bc096d5b9ec8b910bdf9d6c30323d31ae5a9b38e167523784c75d334a56386e5";
   hasRunfiles = true;
   version = "20191225.0";
 };
@@ -18701,13 +19239,13 @@ tl: { # no indentation
   version = "0.0.2";
 };
 "keyvaltable" = {
-  revision = 53861;
+  revision = 54677;
   stripPrefix = 0;
-  sha512.run = "7d60a87919114209b20bae17603f53b8b22bb1b4ec6b9e411488a9e0eeec661376c0f74c7fa0f229c5bbec771b23e1d0fd8b8ec1167a8f98432f2f196568bec1";
-  sha512.doc = "6988e60ca067d77b82c5c339bfe958c0d486c04869c0b74f9c92fe87946079a380a0863edadf136bc54a849f4a751621f649feca591a8d89a402a88453a359c2";
-  sha512.source = "c1b6c85c3c292b3dbcc811fdce7d1e9fc45ae03717e83c317c4623c9f1edbb06a3ef115dbc742be2b440f9642bc8c95e77d33bf3c5adde7a92da7bcb0b008002";
+  sha512.run = "5f3f337347df00a955dd7d7694a51ecce15027580d2264da3f580cb9ea602f6e1583f41e72cbe39a5d4ffb36640eb26cd39132967e0e5a138de8703eb1651de7";
+  sha512.doc = "7709c3ea7ad6fac4625620bc86bddeda751c6e36accf7b14b3dab2d5280c77ee4b704b2657511c4226efaffc7db79cb8eea068566ae099354920a522975dbef5";
+  sha512.source = "aeab384eab5a414cdee5162ccfea90284e9ccaa96129a2fcd77059abcdf2039350a8f6e17f4d5a7ea8759cf414daa620d12eb85ac42523ecfca70e6424e5df6c";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "kix" = {
   revision = 21606;
@@ -18724,11 +19262,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "kluwer" = {
-  revision = 45756;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "36f0d6ade1e6afbc7a021780a9d6d56e358805be8a8d5835ce256c87f426aa4110b9e395d6406cd1572a362557ba0d914071a6589a65ca064cd77c9310c284c5";
-  sha512.doc = "9990c4fb99023e6262c1c7336f4b8a98e3131ae60f380652469f7e2f88a8793d745655e0fc13dadc78fdb8c2beec6248e54af661bc81a8ec016af58b688e583e";
-  sha512.source = "a6ead8f091ea55b4443da5d048df1e27a2f2af0abd047d7585490cdc27b9efd1f3a59a5eaf6b77a8b5dbe676ea89dda8e96e80b833bfb995605ca36b21e3cecc";
+  sha512.run = "25210201032ab5cf867e8e46de560a2232e36cb636db8d6d533a6052ae125024f2fdb3d016aa68d49d5be4ded676a1e02108094c366fbc9cc443035edbc82107";
+  sha512.doc = "0908a60833ebab53fda54708cb332f0b3e2ed6c071daa1b231570c6dca57b09b6c9e7e52afb606300b04f9c42794d6d6b7c2387ab35fdebae0ef4d346ca068e4";
+  sha512.source = "12f20e51c0c7668761c2894ac6559f16f853c4d255331db36d9d50e21ac92103828d661d2df8358de24c8403f7a0292866ed4edd5c64e54e555e979475bb5adf";
   hasRunfiles = true;
 };
 "knitting" = {
@@ -18747,13 +19285,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "knowledge" = {
-  revision = 53572;
+  revision = 56404;
   stripPrefix = 0;
-  sha512.run = "6f5d172b155e7cde0a48ff6fca11e4ae8cdf45eb29bbd4ab9a708f62d25de70c9e3607a80364aa1631b828c954dab522748fe3f651be6583b1918db35e1a5b93";
-  sha512.doc = "11328ab7c3d5f64c97561cf43167323e084d978a65e2f352e37baaad4b89ec6893bcaa8e90360a971a352ed77d9560713eeb0bc902996c858a3584e1a0c1ff67";
-  sha512.source = "bf3d6310aa994cd36d961c20a0f473576e33f5daf1d0a54adef633fc53aebdaf1957e1eda98c31d071d71352b26aecf2513aa4d82a20a1002f9467c060b064c4";
+  sha512.run = "38ee2c6f7dde23a50df6a91f6da4e89efd9297eb3287f1d481577cacdbff7c776e80816d3dcc50ed0ce3a60c185aa7127b16fc7ba68562ff1befd91d6947e5b3";
+  sha512.doc = "3eb6621a98a0ba6fb5b21bfb52f08ec299da8fa9f7dfed0b8c2fa649a7147aac3616773a70451163a39417a59bae213abe243419ad6734746ca7315e9a139794";
+  sha512.source = "65ba9b279c76fbc3339b8eedccae410f9d33aa72f5f0f8fc7c1fb9149321c995e3c03552f7595ac3cf556027d35f03b7bcbe537bb0c04001b4e44217ab0d26b9";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.24";
 };
 "knuth" = {
   revision = 32899;
@@ -18783,11 +19321,11 @@ tl: { # no indentation
   version = "0.5";
 };
 "koma-script" = {
-  revision = 53617;
+  revision = 56454;
   stripPrefix = 0;
-  sha512.run = "b8d227da363192b4ed7e4b9dd65e0e94fd3e77405598b8a10e6e16255c4814c524c5bf8238861f7461831d8258d6e00cb2da29f9e3cf61c1260b108a1fb8f92d";
+  sha512.run = "63ae4c1f6b9024ca6a8ac02a8992bf4c16a23588f768e359525a396d750714f005722f8cd45597dbe71cbbd576dde8aff1bf8d75f6f49315a9f9f75b035b8d50";
   hasRunfiles = true;
-  version = "3.29";
+  version = "3.32";
 };
 "koma-script-examples" = {
   revision = 47523;
@@ -18822,14 +19360,14 @@ tl: { # no indentation
   version = "0.9.2";
 };
 "kotex-oblivoir" = {
-  revision = 43130;
+  revision = 54519;
   stripPrefix = 0;
-  deps."memoir" = tl."memoir";
   deps."kotex-utf" = tl."kotex-utf";
-  sha512.run = "37aa00c2558500c5c308f7ab5c0d8af0277009ddba2615229f718f4e7f954708dd8d3942e03f5fbeebf29a7bd49b81c24c8364fb17468ca0e998d3235bb68791";
-  sha512.doc = "907fe884a715e82367ade24d3053a9cf4bd06ab276cffb4622932de1d485813ba9ebcf631680963e926ab80d18838f3c078434843c398000df9a7bbea5543f4a";
+  deps."memoir" = tl."memoir";
+  sha512.run = "76c5e1ed90b6938d71cfcc18d61bee6c6236e1ae818d2af69fa37226b44365b7d541c579317f02e4486bd005bf76b3c24f405187a9b6c30c1e3f220828a7943c";
+  sha512.doc = "bc983f9ebb5fd81dd199d212b9221fc96d438742e6146536408cb93e534feff3fe1ed1ea7fbc841810ac4332b4bfdfb4237d1205a7636d74b7b2d0e1c7c06344";
   hasRunfiles = true;
-  version = "2.1.8";
+  version = "2.2.1";
 };
 "kotex-plain" = {
   revision = 38630;
@@ -18857,20 +19395,28 @@ tl: { # no indentation
   version = "2.1.0";
 };
 "kpathsea" = {
-  revision = 53977;
-  sha512.run = "69c660f750a66974e2678cff84f0d6537fc56fd1f35ab9eb9485a29d0332c702afbfdddfd29d5ae5275ba5306a7d79867a027c89728d90e725837a4a576d41da";
-  sha512.doc = "fff6708f75f5704698e5d339d3fb57232ea64de7c01bd5eef4279dbf4ee9ab6fb3ae940ce688a7540e14bb062278c701f78d98206cbaa8c9d7a9ee0f60030df4";
+  revision = 56525;
+  sha512.run = "398358b84ecb81fece969fbd3521b093f7e791feec828c218e6371c26d57956491328999517a65711d45dfb04c83fd643ef0fad6a0153590866eddf485d5c575";
+  sha512.doc = "8ecccee7ad99220f91139dcd9c2ce0bd19eb0e2fe74f0a965f68e59a28bd3de454624d6e014ef2a5c481a537acb95b08a9546a79abd8df429300043ecf973545";
   hasRunfiles = true;
 };
 "kpfonts" = {
-  revision = 48470;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "65cb12b6d10c91605db91de58fd33597720a4d8a7cded8a4b60c5bb3c1f2e7220c5354488a75e5a25ed0f8162d42689b6877b3a7efe5c1a0758dab237564c5ae";
-  sha512.doc = "5157ad4e67bfb1f0ba54cb34c2896a856d167bdd89a9f4bc4d69ad0b6f4899ec53cb1d22582b352adbf28d7af9458e2d78147580740e7c41437855eb30557a17";
-  sha512.source = "f70870ffa7dd55da69af7d8274fd3089c047191197f4f4afef4908a93e56e9f1b8b1655cf8042138ddaf95c24240df73549bafc6e2a3b3002b0653bb2e2ac592";
+  sha512.run = "80ac89fcf4e17560781d3f5774d39b47dee0851938409e0fda6837f99d9781c5669d1e6f3c7f27b08ce2e76bf884da7de95d5e66664a1b9e4c012063ed4a6f45";
+  sha512.doc = "fee8417e0bfb66a6ebd6869eba5d5cb64ffa64259925b9ef8c150c24d0e3ca5d15c82d3769542245c835189d7afd128a831f567dc642df00c6dac2d536b2e94f";
+  sha512.source = "387ac06bb251c84b0da03e25f530eff8f8c0ac134fc7b33b1fa3a0dd47366f8a78e3fba8bb9dd0bab2094d1082bc5e08dde7c198e302654bced7ff01776e5317";
   hasRunfiles = true;
   version = "3.33";
 };
+"kpfonts-otf" = {
+  revision = 55605;
+  stripPrefix = 0;
+  sha512.run = "f616a5e48127bd28b80ee68c92531720478f4163f1b499106099dcf886d38e417f5c6b355e7827e20ad08450e7872b81f1a098598d5e3fdde2a86f5f6d91ad5b";
+  sha512.doc = "27b5013f325a9e4aac6c6798b6cc09c1b4f1c90e1b86a41cab3b3010df44a0e2b804c52d45595ca5ffa50b08186f4a5c02efe7a933f5848850c7cb78cd07809d";
+  hasRunfiles = true;
+  version = "0.31";
+};
 "ksfh_nat" = {
   revision = 24825;
   stripPrefix = 0;
@@ -18929,13 +19475,16 @@ tl: { # no indentation
   version = "1.6";
 };
 "kvmap" = {
-  revision = 53249;
+  revision = 56361;
   stripPrefix = 0;
-  sha512.run = "4c860279b96a34755f7ba16a7f3c80557e223bc0a4099f4dd72474abe3073be97026ae2593a24cafa1553b936181eb2fb11c7c47a7b7f264a1146803fffd08ec";
-  sha512.doc = "0e5b4dacb5ee5f7193b418f0b9740e1a3fb139da2136e5939078d8e3ff2b9ae3a909a3559821dcdf5d033e04af062ee42de84d1bab4d360bb20bb6eba057d788";
-  sha512.source = "d514d398f65729d96e69c0a0231bd266be4ce707fec171cd01fd222fe623ba2b1ee2d60a7e26fdc81990e2e585fdbfc33db1dbc9dec8af979e334cfa4fb43397";
+  deps."amsmath" = tl."amsmath";
+  deps."l3experimental" = tl."l3experimental";
+  deps."pgf" = tl."pgf";
+  sha512.run = "54a107c866519e6ce6cb69bd8c13ae085813c4adf235592e32cbfb2bd7eb8039ff8e1fe165f43892367a28ac0984874581424e733b1d3722796204df96d840f3";
+  sha512.doc = "41fb3957c91e3127b5d7c78fe2114cb4fe6c8167e6f7f2bbf3a5b7c0fdb12c0ac79e47d84fad54c4b6a3165114c333c575eea01d5c0c886c19b21643ab0fb03f";
+  sha512.source = "5dae9b0972acc7c95b148fb13d9008b27591aa9ff9065c1c43dc799c5096f89a8b6b2da97b17bb5e544b1a10702cf247d9cecaa39d9790993996276741c0d792";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.3.5";
 };
 "kvoptions" = {
   revision = 52985;
@@ -18998,46 +19547,46 @@ tl: { # no indentation
   version = "1.1";
 };
 "l3backend" = {
-  revision = 53888;
+  revision = 56424;
   stripPrefix = 0;
-  sha512.run = "bda67ee1c48c06b4d399664c352267a3202b5877eb324cf413b7a6ad31d94249333a22bb8b6cca285135c36e46d01cf8bbfb5f2f5c9c8d70f5fe48da20a42a5f";
-  sha512.doc = "7c193eace43f388843c9bed21d1cea87be8a2cca86ac2d8aaaa42da2409dc634628f38c1a51322d76233d2abf82490551685086c458729afdda6d5b3f093847f";
-  sha512.source = "507f472439d2229e501642f6774911bfc8edb71e0758d9fd27d7547822ee5ff5945fa922f760a33cf5a8d2e357ff090260842127cf620f8f11ed4f9a52b53ee5";
+  sha512.run = "47c6137b1ce269be9c08327cab43bd1c598394aaae7014754a492762120bcf1553643fcce6a55ef573a44d4be39ab2612b992fbb82bb6d2b46c2f708cbf02bbd";
+  sha512.doc = "ff01fc0fec97842d9a4428765905702aaa6b3e55dc4c5c439c2514418f373e82f35bb6842cab76017afd7b3acac0aa7ace32ba6e370bf572d7d4c16bdbb43aaf";
+  sha512.source = "7766714874b76ae8275274171bdf9a6583bf31288386442384d1b4fc49e679e947d8a4552550927897714962907a1fdf3e79388d96f7731050354c41c6410dfe";
   hasRunfiles = true;
 };
 "l3build" = {
-  revision = 53862;
+  revision = 55426;
   deps."luatex" = tl."luatex";
-  sha512.run = "c18aa191efa5c9af53a7012e4453ad615178e90798377ba0de39434c917c99732799edd3a3b89f719ae4c79da8fe4b97d867778d9cc01db81e6ff68fd9a441f1";
-  sha512.doc = "94eea53a369def65df51ad48fbbcba851d1c6d9208c7ee1475af284752e853c4f9286e70010f494803bc02fe26afdc421143cb5eb659093d2ff0580e0f4c5b40";
-  sha512.source = "1e15ccc9f0b71115935325eb97698b2660ad479f08e66a18634be2a5703d3b86f6953f4bc3570d95a1964d841dc026efb1663923ce962db767aa2711b5ef259c";
+  sha512.run = "1311812fbdba6a8c8d2ff565916ce3da9081229f9129fe8323239eda53ba544686d9bba184112bfda4304c5bdd51c944bdb51e3d6b70c2b2a90ad4ffdf0a6254";
+  sha512.doc = "33bf3c01ec1bc38122686b55bea0c6c096bc2332ca1e04b23e582b9c1754a4c76537e180fb636952cafe63639a883592b06ca4245d3e3f38b944e03dc38fedfe";
+  sha512.source = "ba5051894ce861a2f833d592156976aa5ab3a1ce9d6c87e8b8eda33f32820c4d1bb0884f193536d8ce9362eddcaf11b113b9cf9ef2ce8b551f739951afe7c4f8";
   hasRunfiles = true;
 };
 "l3experimental" = {
-  revision = 53394;
+  revision = 56424;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "30b8d6b71c62cff716887c08830ed6a28c39056a833722e7cb93163e174eddae21ecf597f9090b12887fdec7da447ff7f4a00fa0cd352974e5de838a4858d264";
-  sha512.doc = "2d050b481cfef489a6373b4ca8c7bb765148d11dc90f49c86d2484fdee58be940e7e294168c0ce0fe62fe9c4ea70bc76d915a0ae3e55148a66a4a2355c74ca1e";
-  sha512.source = "4fb4229da07eed9d0b79fc08082255a04a3b9d78fd0c9190afb25708eb44c07f11544a55eee7afc4faff53dbaa7454ac3573b8beccfb5b8dcd7e79bf49521f44";
+  sha512.run = "cba1e6ae68df39b177f73cd37a61336218d2b7c3a84b13e5ec73d9983371585d79d3161fd868d46965e5742a36f2750012bba26de1b5f06c91f628626451a0ec";
+  sha512.doc = "7432bb979abd6d0c126ee082df7504a16f5fab8320c21b53bfb9824a12a65cac9521687bd78d7891b382400b7b0f0bc2d91e8c7cac2fd13d9bb71d00256e8cfa";
+  sha512.source = "131351b476e0d49c2052486b836535bbcd21bb5ca2f7d2ab1caeb5e5f4461c813f4b5090b9160e8fccf176352f401cf95bad6eb5867c4a3937c772d7ae3e7964";
   hasRunfiles = true;
 };
 "l3kernel" = {
-  revision = 53913;
+  revision = 56556;
   stripPrefix = 0;
   deps."l3backend" = tl."l3backend";
-  sha512.run = "95861694b7406506eaa4d158cf8187a0f0a919b225ffcc8c9dcec78cc41e928276d9f6d67de746ae7c566f93b8ac4ffb3c6a295cfb611f742829d742619a0486";
-  sha512.doc = "4a03e19c4d45e01e0773a3de2caaa6c13ad45535b91703215c108fc8cda657591492b8e22b292d5cec6e5277e4eab177698f4405d42309489fd6e58562165c5b";
-  sha512.source = "0e2ee5a7ff9098b11f71f9a73005661503d047f73a6d42a3b67efbcc3d162206a22723b49d48194ea10011e1a74ec39681e20b6145318aac651f1dc01c0a1539";
+  sha512.run = "dd26d0f611e65ca01b342c2d0df47691d77e2fc251a8c8ff4f6a209cf28be9f4b078aa68a4af826b144c0a01f11e6abadd5ad3449d1d95f1ea85fd3bafe734c9";
+  sha512.doc = "e301a22584d4c44961dee61fcc89da60d609d1a61726c2ea5b0b73e88c44fcb6bd9bf0a8ee3c1f5cad15ade28c554c4d07c50ed17cef1cd1bbc2d542d1b674b6";
+  sha512.source = "36a813c9faaf61c4d497eed0c8b2d8b3347ab44ba34b8493b077a9327ef31517ca6607219d8566036f57280500a540e149dbffe863d5d1c10576e5004455519a";
   hasRunfiles = true;
 };
 "l3packages" = {
-  revision = 53913;
+  revision = 56556;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "804fd6b5d2835c23324252b627491e083931f0a78d9f2140531da5f29076b3c5e8af1b264c0cd82a0fd30300c3ed96c9b02354635798dca91d721c415da351dc";
-  sha512.doc = "c1253c55b434171fa77b3c1954a8cdf0f1eaf44344c6f24b4a58939bafa66313f12652184b443fa9eaed4b9dc46ecae908e52920ae64dd71a3cbe2ba84f25b5e";
-  sha512.source = "bee101af17e2a73f2094a0ef4a45203d22309b5c2feb272da872e6a8fe9a1c1c49219350756554403235c1d4d132ab11ceefeb70ab964305a194709293c35c3a";
+  sha512.run = "b0a5e19018f8b4520bf5fc4b4cb05f5dc33745dc230a591fed2a0b537524d0b9c7a412a17fd2ad5d13b83c80ef89ee3bb21dcf2398d7c8ab1b19dddfba7c9186";
+  sha512.doc = "73d09a2d6a5466f6767333a501d8da9bdd44f3e98af6ea03f31bdf9b9c1a9e78335ffa45e66ec6eed6546a4cf16b5fbf1197561eb7a3ebc16ab9384af2642ad0";
+  sha512.source = "04b20e05aab7333b4928cdc81defebe0e5b7e9c20305f8151e113e899511581b4239356dee58b62d3505ae1f0cc1b003bdfbabbf597641e5d58d9a9a9c247d1b";
   hasRunfiles = true;
 };
 "labbook" = {
@@ -19083,9 +19632,9 @@ tl: { # no indentation
   version = "1.0";
 };
 "lacheck" = {
-  revision = 50602;
-  sha512.run = "7b8c4c7d15618b7e0d860afce675124372d31bc11b5e89ba169c355401714929c2c192912e7d666a3ca98c805e2f4942bd6173763a5a9265d1f19467a29223d2";
-  sha512.doc = "59202286440ad95fc96576f6915843adfb2b3f0092509175c759c690069e36c0ce1ae66ef46c1dc1b9c33e42e7819b1f3490b45d3c3933233201d3e86eeb5746";
+  revision = 54070;
+  sha512.run = "30241d13ac35054017c6240ad066ae84b11c26757fa895ffdc1444b0825e50a2a89864ca85d710882be4105127c4df203ad4a403504a6c309b796c9b9ee5b589";
+  sha512.doc = "a1ef923bfe1c3496651052b4a8b6978665b75f43b7dbeb254fb61657050427aedc8415218f988a7e727849dd0001b67ed023ecd252bac2445b0965a58800187c";
 };
 "ladder" = {
   revision = 44394;
@@ -19117,11 +19666,20 @@ tl: { # no indentation
   version = "0.2";
 };
 "langsci" = {
-  revision = 50706;
+  revision = 54393;
+  stripPrefix = 0;
+  sha512.run = "a42abc41729b6f80667e2b3d0b3a5c4fe4ab497f4d8c8930e3615f143e57412918445239ab62667915e7e8d1b9f47b0bc2fedf22f606488f567ce14971900414";
+  sha512.doc = "47826660e1dac66c1060fb9e6f47955255fdbc563ea9ef531eb8bca885366b372678e81cb957d99d20861e95298aefb7dd6d96398da61f12f2f4b40d5cb3e159";
+  hasRunfiles = true;
+};
+"langsci-avm" = {
+  revision = 55846;
   stripPrefix = 0;
-  sha512.run = "de35684ed71408adbda8f7238c80bd4e453761e18dd4083ec4680ac8cae711dfd0aa8339cc0ee211c231b17729d6e85316845586f6f6ee70e5c0577d84b1c9ad";
-  sha512.doc = "439ac71163f1dad47fd4f2eb533f4a17a84bf3258f31baecf941242ea845d37b55ee88e8b879b3cdd070caca8f98b6b5d591c07889214ec1d64e32c3112d8476";
+  sha512.run = "45e13bfd02059c610e29e486effc0fd6b2b9f3c6ab2ac12dc52de45f8ac564215141450619c6d10021f649114c9faf84ff7b6ccfd5c2ea29d0cefce188b71615";
+  sha512.doc = "d1430be2082f046538d035ed3aecd3be47694ed251a51e542a26b2206686d08594d443107fbb019732d06152d97724359b8e42a3be4bdcdf6ec778e80116df9a";
+  sha512.source = "4f7432db385da2317e11a7c41d90d06f47ca0867897db38c14f91a138d6b671fe808800eea40736266cb6b49c1f7ae30c62be84af64cfb47d986672bb9a27a16";
   hasRunfiles = true;
+  version = "0.2.1";
 };
 "lapdf" = {
   revision = 23806;
@@ -19150,87 +19708,90 @@ tl: { # no indentation
   version = "1.2m";
 };
 "latex" = {
-  revision = 53958;
+  revision = 56514;
   stripPrefix = 0;
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."latexconfig" = tl."latexconfig";
   deps."luatex" = tl."luatex";
   deps."pdftex" = tl."pdftex";
-  deps."latexconfig" = tl."latexconfig";
-  deps."latex-fonts" = tl."latex-fonts";
-  sha512.run = "cf8f91ef3dbfe100597a779a369adc5ebb18c298408d60f6c4453abdbf40315e32bc7b9a943ccaf03dbfe6cf0a43cb0bc942c6ec04ca07cd7bd23c7cf239a7be";
-  sha512.doc = "043858d0c636c83f1e641b72b330475383e0ae04de43bf80437fc51130519c8ab5985a60a2ac5a1bc77a1ce0072ca7367994728e8d83a6cf7796ef50caffc23b";
-  sha512.source = "ad0d796bffb1cb8622cde8f7e3d59d748763bdaa6477bd01a3a8644ed28f7d95150d981825e7b8f9240ff0c775d73a7bfdc0080553662ff7d4fdbcad22528faf";
+  sha512.run = "ce14f150ebcdb0c2ca9ccf2163c2a86020dd185155f551ce2a81d5f4c877b979df920fe1c1792069d3a44e549b3fd6a138eddf0ceb306c641574c47f079f6fa8";
+  sha512.doc = "7e4e261fecf8a4ef3321ba7ab11c7f4a76d4dd0d52dc419e0e85a0963b25ee41c08b9b94244d68308181192ac4b3f51194d0b08741ff1f67af15c3e888bf89e1";
+  sha512.source = "66f48098883348f390ec6462484f7a0c46498d2157811e08f410be6d7277f298a822a8be9ed0811b7932071169ecd8a1fb3f1f8da81579252802f8a505562190";
   hasRunfiles = true;
-  version = "2020-02-02-PL5";
 };
 "latex-amsmath-dev" = {
-  revision = 52866;
+  revision = 56225;
   stripPrefix = 0;
-  sha512.run = "92a2d1957d2f79bfa96aad5ce8aaf56b76e01aff51971c18fe139173fb90a22884830769eb090e68acb84a6bdcec18540e29461fb3f76eb6e9e62b82b9248e36";
-  sha512.doc = "82fdc4e2ad9323a28f29d470841be560c37574acd4ef864003656f38f7ad80279ccfc5774311c90b7741dca26c3b6a38187d68a40a1b9b262cb2c2d351ae6c54";
-  sha512.source = "519dde0546b8c548e09d2df2ba1840da4cb877d0656a620476717f4a3997776c9846035f8dc7f1db63d5f5b6558e0268f8cd335078a7dcf64ebff7507af3e368";
+  sha512.run = "1a157c1c8e74587aa626339aff4f88f25df7bb1ef9c62f95208551e3bf27a6f2ad6bcce62fe050ca2e3e4e7b00d16bbf0d82ca898bfac1654f61a90c74ba5087";
+  sha512.doc = "4c9b25d22d2419a76285ede17c03857b68d43de0a0eb3ea01dab3ca4040f3ebb41964c2e810f0196c4cbdb17d43110dc802e50fafb4b00d4c1c289d23a9d7533";
+  sha512.source = "0b84aa145bddc2b6867a9cd5ddee651d4eb86ef0af05e7dbe6c7354ee086868b4af0e853d9d36efa86127c37edc0594cff0e3e24939a43fa8333eb20fc95ef64";
   hasRunfiles = true;
-  version = "2020-02-01_pre-release_1";
+  version = "2020-10-01_pre-release_2";
 };
 "latex-base-dev" = {
-  revision = 53885;
+  revision = 56324;
   stripPrefix = 0;
-  sha512.run = "5ab3580f08bd80592fa2276c66c4d5723ec8d68e6d15a73a47caa66a96c03c0aef178e93e6c42be5549df1dab8e64eb5dcd45517ab029a528470a16e3a91a622";
-  sha512.doc = "677e656aae83503deb68ce955e31df1f5b3465cf4d9c6b7558f6fca6354bf85c7b5f11a4c02bd8fece14726a7a1da9b7d29598015cb08c74003c010a9f88d974";
-  sha512.source = "51b3fede4db7a512d0eab48ae75a3afc741e0a46e961983a3af025c48ad85bdc82a6819ab697348ab721d28cacd88907a832f80b5f1192dfcb9eb9d5681c8cb2";
+  sha512.run = "468cbf9d0a4ec8c3e1a255d2d7bb7867e66fdd7c27d795ced0921a18e58af7866328ea289c55eb501de5f31c49d43cf03621d4501fecf789e445bd4dc58ea5e8";
+  sha512.doc = "4142a4eedbae9d595a6f029504d735a89ad1f8cb0a5c40c3379c404fa42d708326cd62de75b422b3c30296b174bad5fbd7d7ad0aeae84fb8c0285695990356d4";
+  sha512.source = "f179957b475ac896608a945dc58bae0be0d1a6601f851f8f7a43228ea1b36299e6058ccc8de92db0b4eeeff0b49fb9993737ec4d417d24421382fa7402b1f7e7";
   hasRunfiles = true;
-  version = "2020-10-01_pre-release_4";
-};
-"latex-bib-ex" = {
-  revision = 25831;
-  stripPrefix = 0;
-  sha512.run = "9f91b724d8fb1bf1c3140632c4ba485350defdfc926dd3d558d2a318affb5b6d56cfb1d0f8651d0af878f165148a5a1f06c82f71b8033187ca485fee1bb6ec0d";
-  sha512.doc = "127f8ef52da49a348e79b062e16dc6a5f2b1728fd553ec3eaf824117e764e11d8e9dc63d34c0eb86417ddeda5e7f53403fe2361d8f959acb697330148f5d64a6";
-};
-"latex-bib2-ex" = {
-  revision = 40098;
-  stripPrefix = 0;
-  sha512.run = "cabd865b67e6e41b3b0745557b25d03cc15da1f1de41c79f92274c05e6d07718a598554b25c096a4261b202a20134abbd788f578e279ce6d57efaf1dc133eaf7";
-  sha512.doc = "2b5f1cecb8cb5d3ed78b10846b6f5ae38e02b930c2012353e7064b12865b155019924aaf48d995910b6cb7594928276e896421e85e71bef17822237f8350dfde";
+  version = "2020-10-01_pre-release_9";
 };
 "latex-bin" = {
-  revision = 53786;
-  deps."latex" = tl."latex";
+  revision = 56548;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."dehyph" = tl."dehyph";
+  deps."firstaid" = tl."firstaid";
+  deps."graphics" = tl."graphics";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex-fonts" = tl."latex-fonts";
   deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
-  deps."tex-ini-files" = tl."tex-ini-files";
-  deps."unicode-data" = tl."unicode-data";
-  deps."dehyph" = tl."dehyph";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
+  deps."latex-fonts" = tl."latex-fonts";
   deps."latexconfig" = tl."latexconfig";
   deps."lm" = tl."lm";
+  deps."luahbtex" = tl."luahbtex";
   deps."luaotfload" = tl."luaotfload";
-  sha512.run = "40445a3b11e87d12b665b09300ab634a90bd5a9d8b63475f8a81cd50befd9274558fed2d6c3ee29819feb09d87c79047b0deb198e69e6cd031c99b52c6c1d378";
-  sha512.doc = "c444005a8b8a81dc2f21c5b030b075d1c489e6a73d384a47d39aa87cda4dfe7846d09e2badc009d7c96a1970def48fd985b2ef210a39ed4d294bc41bce7d1492";
-};
-"latex-bin-dev" = {
-  revision = 53786;
   deps."luatex" = tl."luatex";
-  deps."luahbtex" = tl."luahbtex";
+  deps."ms" = tl."ms";
   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."tex-ini-files" = tl."tex-ini-files";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "079f4e09098b46c5cff78b807e614211ebfdb8accdfc0f52b14419ea170efe7e5ece2fcdb8455decc8f91a349577767d10efe48c3b89eb8b093fc79dcf0bbc78";
+  sha512.doc = "0a27765213e1eaa8a26e35787703d6a14bb8549517d3221e0ee20cc7c25601a1cd297b6d8c08f67e111bf318d192c85c99f08472e3dfac208400de130bc55672";
+};
+"latex-bin-dev" = {
+  revision = 56548;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."dehyph" = tl."dehyph";
+  deps."firstaid" = tl."firstaid";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
-  deps."tex-ini-files" = tl."tex-ini-files";
-  deps."unicode-data" = tl."unicode-data";
-  deps."dehyph" = tl."dehyph";
+  deps."l3packages" = tl."l3packages";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."latex-graphics-dev" = tl."latex-graphics-dev";
+  deps."latexconfig" = tl."latexconfig";
   deps."lm" = tl."lm";
+  deps."luahbtex" = tl."luahbtex";
   deps."luaotfload" = tl."luaotfload";
-  sha512.run = "4870115605106d3954bb2ff7a78e2c823306b293b8cbc960462f0b9b82e6bd6bf996a6d05c0efde82dc24004e591f2685770368aef9cd1b4f8aef55f464626e0";
-  sha512.doc = "3e6a442ecad5f02132a8936b5d353223360754fb2e69674cc6eb63da3d21a5cbf58de3e89095b3f10a73a2e062398b4de7c6f7a20f4e35ab7778b6d5bf344f84";
+  deps."luatex" = tl."luatex";
+  deps."ms" = tl."ms";
+  deps."pdftex" = tl."pdftex";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "7a529075098a1390adfda0787a8f9b07a896153abdbd5adbba5ec6b78bb8091a2f04de6ec1dee1f175d9e23042579982f17c02ea177f591549f8a654b8b5e588";
+  sha512.doc = "97b68fd5829437018420e3bed46ad56622351ea048aa3127524500d6c24afe8fc566177cf40c1c55fcba6bc7f716ed04aa5b881f2f4c4853b8d67b9176dafb52";
 };
 "latex-brochure" = {
   revision = 40612;
@@ -19259,9 +19820,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "latex-git-log" = {
-  revision = 53942;
-  sha512.run = "c320354a35d98a3e32c835c2a797100dc2a4417dd3e72169c35baf1dc2022b7aadb3f8ce124ab6ea6f7d6b99728aa438cf4d15f7f6635bf3850e271679b07603";
-  sha512.doc = "5ff991cc421b7f44f975119f0d6445d5898e0a2534adad4ba0454d70645e7f9358321ba2d6465fc0d89bdcfe2f70eac6efb4d93a915cf23018cae835d3979328";
+  revision = 54010;
+  sha512.run = "15994c6eb9ba1b194df270c68a3d74ab3db11974875ce192559182b2dbfa9b308d598056a3145f2cc2f6718865a5b140ccb95dea22a9e23edee527e5b86362ff";
+  sha512.doc = "52bc94324c64caac9a5b25b49c9ea01b8560433d640646ee70830d27637482cf50da95bbb86db93006f2be4ab9f5f79fa144e4b631d62c05f0a11ab45e639cbf";
   hasRunfiles = true;
   version = "1.0.0";
 };
@@ -19272,29 +19833,29 @@ tl: { # no indentation
   sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
 };
 "latex-graphics-dev" = {
-  revision = 53651;
+  revision = 56238;
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
-  sha512.run = "52dfe7ed351ab0d02eb1de79c8a76f2fd0c8e2e566539a2c688abe281cce1e018ae56d1a4451c180577ad7456bb3ee90cad6bbbd4b05d8bfefd98777c096b20a";
-  sha512.doc = "e51cefe0eea01972b029655605942bf78519ecc0d4d0e1812ed755e0caa91492972e627c0fae61d0166bf49f6d1ee6279249592cc025dc1bf31f0f31ad1d5a7b";
-  sha512.source = "e146e29297ffd54555590b2eee36d35c4cd989dc51ad1d96ec20a416b6b9d24f2076c4253eb16226d394f6a1a0175fe27917ecb8d5c1475623c71f6987999e58";
+  sha512.run = "cad01cba4a759c006242657b24ae0c9743e4d0ddfd84c15e040b540de948a35a2daf89205cb971a1d7ada9c55fae6e5ace0ddb5430ddcad004d4ff4f6756047e";
+  sha512.doc = "a122a8d960776458eaed023041b53044ba88a681667409947664465253c1b87d808df525d596ad5b59ea8eac560374fdcf5a3e41f22ec4f67723405e9a29abe9";
+  sha512.source = "8104e54078c023c145c3c78ed5cec1d184a274d1849ef84f386b7e61e331dff9c7ba5934824977007f25771bc63d40f9f97c8c9da749c8cff9b590d6793c0dcd";
   hasRunfiles = true;
-  version = "2020-10-01_pre-release_0";
+  version = "2020-10-01_pre-release_4";
 };
 "latex-make" = {
-  revision = 48925;
+  revision = 55486;
   stripPrefix = 0;
-  sha512.run = "cb48ad252c77ca6271a527718872f95f28d64664aa62aca9ed11d73b1fdf29dec1cefa6c2fc07f0c95e16495a0a2410b59087e88a889b1047ce24bff71495ee4";
-  sha512.doc = "bfe0143040544987d9e89827b79a847657f9b705ef3607ec2757ab7d5a8b4e005c64060ba5d3cf4066c4f21e622cafaf5e7c442aadd53f6583230e7f276c317a";
-  sha512.source = "c437e31d4cb28c8ad838545aa0afe053318986a8fd9efb8dea0500d544b94bcb2a6b89c96d079ddc640477bba845b84f7f1fd8cf86ad689c04628e274352738b";
+  sha512.run = "71ce373d9bad144557b6cbf8f7865ff27065fd4624332ef53b6a4d6a7fceaaddc8cc02f1c014b1bd5d6ab099acd3bcff3b7e93cae4e5732f76ff8d3a28c397df";
+  sha512.doc = "088eecec7bca420b76439c6bc5b9681eccf20fafba661db14727f9185e11cd7cb5abb1214ac87d2ed5174a4dde4dad679578a8045964d706dbbd2ebe260c87bd";
+  sha512.source = "591c2354e2c0e833cd54ae7a88312ff4d2b3219dfa280c8e543d57e01ffcda85e89493e19e7d5762cebb1746feb7ea341a1548f478da818048c81e5794fd0e92";
   hasRunfiles = true;
-  version = "2.3.0";
+  version = "2.4.0";
 };
 "latex-mr" = {
-  revision = 44601;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "3c5b806bb100cd7280d4a7e97104f21b4260372292aba60264f88fe9a7230fb42365ffea15a948d4334f8f74683d9a79ca40cb9b87c49066d61a2b0f101dfb8c";
-  sha512.doc = "6022c2e3642928e716e6ed2536c849fade08dd26138312567b139a450032ec75d029ea5f1103bfbfdbdb7bec4b35d972c08e866da8d5eea89012b7a1fc414678";
+  sha512.run = "eb9b8b12f15a8662eea0e3df907264093074cac1d8f8e1f027186b35f3f3318c4b8c120d261be21350fa660b51a5f33e196d957864b0676395ded0f70940464a";
+  sha512.doc = "51dcfff4a8df46a8715d07d2528d3a1960479ce4bffba9b8eb5170d5d6307f0c776e197bdbe788d316067070c1d5f5d1382c32430e94ea83664868931a844e52";
   version = "1.0";
 };
 "latex-notes-zh-cn" = {
@@ -19311,13 +19872,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.63";
 };
-"latex-referenz" = {
-  revision = 36671;
-  stripPrefix = 0;
-  sha512.run = "b61dfd5317eaf0ef7add1f80506492390d5ba0c01480e83d384e60ac0aff39710945ab81e030e7882fafa77a2913d88efd31f3cf05729ddc09c63243e825260f";
-  sha512.doc = "e71abe8a8384be7b0e343657e992b7703d30b38bfcb1dfb689954bdf84581336e099059bdb14af464c951777a8a6809f1161955868dd2f3b219fee3d2046ef94";
-  version = "2";
-};
 "latex-refsheet" = {
   revision = 45076;
   stripPrefix = 0;
@@ -19325,27 +19879,21 @@ tl: { # no indentation
   sha512.doc = "77149dabb1fe5c4a46591b3b307d02b2e2b33a07267afcdb44b77a2a823dcea9ea76b4be5ddad530151b638cfbcaf5d87ed0fed59a9e8ed99acb0895717bc71a";
   version = "1.2";
 };
-"latex-tabellen" = {
-  revision = 16979;
-  stripPrefix = 0;
-  sha512.run = "ca056b194690d7b71429022c4b80b9d171cd7aa2e580921eed556a11fc2e3162106a06d61333dc69495d801120c35528fdc74b9c282cb6baa3391595e5f28d76";
-  sha512.doc = "7f3f4ee26f1f9f6bd6d27cbde4193d8e2607a34ee2ebcbc44934b17673b60375a566828461ce672fe8d4404e32784cc62a54b51873645592079aedaa7c82e081";
-};
 "latex-tds" = {
-  revision = 40613;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "a688c4e6790460f3155110f31c36c240fc1d9e9b8c3b2641a1a186c54d7939bbb4f779e80cb125d34036b64ce8da26d3460365d34d23d49067bf8438816cdaa3";
-  sha512.doc = "cc4928fd82e07cc0b601c702444a84475978671e3c86280cc8aac334ca562f3841a9f8c191bc174522f5c00e45cad519e6ceec1344e229f4b125611f60e43766";
-  sha512.source = "0f1b88a565c417a238476ab3c91bef40d265388458473f1ff3b4dd5e6b6897e8d8cdcd15f9eab17606aadfd5ce5ac978b81385618d8d3906defe4d13d438f72c";
+  sha512.run = "c519ca499399845e26a0ce86452b50283df3bceabc1e35186fa14253e682d6b8f9fbe7ba6857f478d765ee8a8c90fd5d4c717b8e31bb0e84df4d8f4f8cdbf53e";
+  sha512.doc = "5d1f3f4e0d9491f8272dfa7a675dce11b3b27230bba10373b63906468012fcd1da17d1793ca57e8ae4ad51ffffa2799c769e70befd84b12b20899bd4ac557741";
+  sha512.source = "b99ef070ff70c055aaa13c12e04f1c26fbfda4b663ab98b03b053de76e4ffc80afcaabc7b53633e38a7ad67fa650ef9ede55fd1c924fcbff31c17cf5edfbd73a";
 };
 "latex-tools-dev" = {
-  revision = 53773;
+  revision = 56225;
   stripPrefix = 0;
-  sha512.run = "3d4c711d21b2a64ed895bec4a144c22db6f2df8acf396cfb490c61ac924f2a73af06e28a4c7b1e4ec034979edaea62bdf5041e10145b4883186c190a91ecdcb1";
-  sha512.doc = "907666c610d9f56e2f182c7c958bd83dd7fa48dd259bb7ae58e1e33a0c7349f694174324c6eedae9a1cd2476ae68b7c6beffa337cbba4d0b92c1fe03de2320c7";
-  sha512.source = "c91c08cb02e6429e92be70af04d1442162e7b8d1b4caf02cb6a61b2032d557dd7850d7c5dbdd2cd547b6daf3f5d29d5a6d01db768a901a025c5e9c31014932e6";
+  sha512.run = "37235091ed24b683b1a396508c793eaa8390fedd65efe50467f5462c97a07dc6520c279bd35b121033ec0d6dc1abb8bf24b0da13c40d640800c010ebeb5a339f";
+  sha512.doc = "adb0a407f6914c54c2a11f99e71e53c446439bcdae6bc373197a6dc381925d7b89fd7874998079eebedd69ecb74be25c0cf3443a524638f2b06999a23764b93d";
+  sha512.source = "abe9f049767020d20af6850937779a17da1cf0a09ca46150f45161f8d91a4cad467bea4034bfa661e66c888bfc9ea9182f4a9e4732f0980dff3b322672122151";
   hasRunfiles = true;
-  version = "2020-10-01_pre-release_2";
+  version = "2020-10-01_pre-release_5";
 };
 "latex-uni8" = {
   revision = 49729;
@@ -19356,10 +19904,11 @@ tl: { # no indentation
   version = "0.03";
 };
 "latex-veryshortguide" = {
-  revision = 41844;
+  revision = 55228;
   stripPrefix = 0;
-  sha512.run = "239b6ae896eb109fb61aaa96149e3b3962fab250a4e017baf81da0ba7836837c1920456eec8fd20999535c96fe415115a621e73e639cbebf64cc2b14989c93cb";
-  sha512.doc = "aa58ce07f56dd819b6a3b618a518384547350a4582828020f5b45752c1dbb88d5f36c5b5bb831129352489bba8f5c19f89d38c99585da9253f01311ea63d3232";
+  sha512.run = "5c32c836c5ada42858de4579167848ef51c4b7626601fa95fe56175f406cb747bba5015ffe369ebfa93e789d29ba5329e1ab3e42262699695fa59b6cf047a581";
+  sha512.doc = "e2c521e768ea425312a400d88c893404c0f86c5886f595162b2a03493836ee1a949e2feebf8a8b3c9d6450630ff644b8973374f9963c67478af29e2a432d2f9d";
+  version = "0.7";
 };
 "latex-via-exemplos" = {
   revision = 53248;
@@ -19375,22 +19924,22 @@ tl: { # no indentation
   sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
-  revision = 48918;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "dabdf3a20bcc6740b7feea1c444b2423dc54a97d0118411d44acfaca31259782eb49bf68b144ab553a9f865ec47557bcd47503b1f1dcbb69ae3302d94bdce715";
-  sha512.doc = "0a3cd8f22e15709b056d6ace9fe0c8d348ac8bc808fe8cc98498b3d14747eba9f6e9838375b0ab8226694ac8dd45027c62ffc1949c3e1a42f9f182f346df0123";
+  sha512.run = "24c1c19d33f814968553e165fcf715176b6c9d4abefe6ea01281daca347973e3b151f6c3cadf0e9d5e7c7f0fa237f0a79ee2c33c9c7ed424da280d7552700c9c";
+  sha512.doc = "875a385bf04aade55883f6e4f55f4d26eed6f6693dfff7d4761b8686cdcafb2b0c9b4f6527e78516db081daa35d0bebe3a19c6c1708cc871a7d4e0dece209f55";
 };
 "latex2e-help-texinfo-fr" = {
-  revision = 44997;
+  revision = 56275;
   stripPrefix = 0;
-  sha512.run = "6023d1aaf419519fb35f916be296e9681dd2e2912b35d92da5b59d5ab279154eb71813f49b159c01bad045246a293c8e6552d2a469cb69916d169ac1b60d9daa";
-  sha512.doc = "bb1ad23b5a46e00193b4e807aecd0a439d1d5f7c15736e748b002168441b5c7fccbcd8f7f6361a1c5fa3175344c9aa1c0ec77e20be450e653a0354a87643b9eb";
+  sha512.run = "867b2ffa7d59a932d5e3194d6fed32f1942f7fb8e241f2c281e3be8618b4d7279794e8fa14a96ea712dee3cf66b9bf211b02cd209303e05725369e4876b9da0c";
+  sha512.doc = "97647985c6c205e3f934369ce51a159507a9e24a1c0cbb61fa78bb0a5cb771c3fd0f44b68987ff1682b2819913df1adfc99940a05ca7c077ac12e1c8245974dd";
 };
 "latex2e-help-texinfo-spanish" = {
-  revision = 49023;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "65faa42d1ee01399e1f8c34cdcd1a5d1ce6841f144e7b582aa4c3586ad1426d879c60427944a9524f16d48c8340028f1929dddc04f9ca4f8e634ffe29eeebf72";
-  sha512.doc = "b6f612ef87c52c9b67c65ed79f8b2e4b7e089baff3da617951288b57124d63f53acd4f48edebbcd7f27855b3bfff14dd00aa5a2c277b4f89b8f49426abb49c6b";
+  sha512.run = "2dc0cbab315728797ec5e039768ab1eff74f251e7be397cc4b7d440002c329103ddc1b608b343e1f3ade367f89e36216ce94ca38794c8b4386de07b2dd3bc651";
+  sha512.doc = "4038cd8f5d507f959234ce1ea704987d9ef1553e2708ea5ca74d8acc090fb39018e1f6eeabdfd6cfadab89f648d156e8c3d2d3993e1479024e9167f57e26e893";
 };
 "latex2man" = {
   revision = 49249;
@@ -19400,11 +19949,11 @@ tl: { # no indentation
   version = "1.29";
 };
 "latex2nemeth" = {
-  revision = 45934;
-  sha512.run = "ee82b11dfd3ede3b926a034ce8a7f46ae2bdd065f648fc0375a62392a8be605e391c64726eea03efc439b7a01fcd3cecfd70106335c72927e45c70ef0c8aa48f";
-  sha512.doc = "a674eac6b80811890433c613f7ec9c6fc4667791c5b4692606e88d3e38ee59a3b68951e5f19b26d2b9f9de3b79002d17f4c539fdcfce37b82c3dfea5cb811086";
+  revision = 54389;
+  sha512.run = "37065f9916e6755c1a97f2b8a1f1cfd838008b5da2d2131938626ae4eb6872af30e5b4b767ff3204e271a86b7245b54d9146d9fdd8c807f882ca28e1663d2d14";
+  sha512.doc = "e2ea8084bec4d41a4b694c3b46788e3170043ba1f7ce4096bf029a4de61b76cb504b532d7e0c454943980d44d1c145a78a9e4a7f20a6654aa9cca63d388bdb5a";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.0.2";
 };
 "latex4musicians" = {
   revision = 49759;
@@ -19428,21 +19977,21 @@ tl: { # no indentation
   version = "1.0.10";
 };
 "latexbangla" = {
-  revision = 42409;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "97e4a88b3028f3836a82c80bee739393c0ebdd219ac3b78acfa00f84f5b5857334605ee4719c8dd40d1cfcb44a4f9f821d711401d091a3ab46204d2457559fd4";
-  sha512.doc = "dd88aa9630a08992348699e71c1e1ac7a697c0279a83daa333f0bd0c098d564b730f7bff829e7489000ce09331c9f13a804badd4bc253dc181b09646f8c0b991";
+  sha512.run = "8b61b8aee0e95339b356fa85b9bb7ad3833ccf410267eb31a84a811c25c4e34ac350952fa26ed6461468bfeca37121e809ba560fbed7a0d8e747613708ff7795";
+  sha512.doc = "8d8c686edbf3e70e70fa577c7d09f2e3d3f1ab938253ed01892ba030be0ba948bba48d67503a6f215628e03160bb32878f868d8a72b5a0d65ce3400fb9011ac9";
   hasRunfiles = true;
   version = "0.2";
 };
 "latexbug" = {
-  revision = 52414;
+  revision = 56434;
   stripPrefix = 0;
-  sha512.run = "ff27b7fdfb53b0c2b0ac4b5aa12d98e30c09bf50fbc7959930b35721924bf52c361581ddcdf8dbfb03571f676ae9f659de2bba137b937d37ec11a0da2bc721b2";
-  sha512.doc = "5e86be0719138bf111b6d655b2aed620be6a490f772906fa676038f2a5f13875d3ebffea2094f8c9001d2e70334002498d8eaf5ef96f14cf8458ea0b03bf8723";
-  sha512.source = "7c00729fb9c17f3437fa1839c0ac12b51407c4ccfe2566b0d0a19701cf124583750c00030f359b70cf0280eec29f55d03d0677628b2b149f37219e880d56dc94";
+  sha512.run = "2c1c06b809fb954a00b917b23c4e19c887ad54676692aa22a2e791ce273913e80a4768ae6752f89037c83acd83a5d0e98454778a03089eb1a3535c268be5440b";
+  sha512.doc = "f2f4f368a24c754a6617449b140eae7b6c865a77043b216d0f33d21982bfd026dfce6306b4607a09d27693550491c830ba73c64fbcc0dfcfb7ee7365dee8b3c7";
+  sha512.source = "84c3287dd88f67dd61da423859e2319fecdd268534785c77ff4fa25d384f079d5f98d4a3811c1aac5a82d063df97ff0b889f2722ca44a72c5dec538a65a91fe5";
   hasRunfiles = true;
-  version = "1.0g";
+  version = "1.0h";
 };
 "latexcheat" = {
   revision = 15878;
@@ -19494,20 +20043,20 @@ tl: { # no indentation
   version = "1.1";
 };
 "latexdemo" = {
-  revision = 34481;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "d8b6ceb9aed4b2edbb4fc9e939dbc2dc5b6989fd04703dce2e504135d2c1bda46c8dd78e995d41a7e8727563c72b4f77979a52513ab0d49d8c95f80246a94fa9";
-  sha512.doc = "34a0ed1b5e9ce5f2b71d67384427b4a7d69439ac4eb5113e1b8e270618164f883b05bf7cbdff9da57fe2bec7cf43bed844ec77b90da00efe30fe9061b3ca0339";
-  sha512.source = "7416fda5909c8488b2e7aa6fce9b1c0e747577e82a2fcb44df617c493e768b3d86310b1817ccfd96edd22aafdee45d32eba1495949c44aa9c1e252abece321be";
+  sha512.run = "c93e3d39dd042ddbb32661b3972d153ea3905726fd0961a4162223fee274cea0c95f0978233c4619e00a043189e9d2f2c285767e33890e30ed118f099ef9a5ae";
+  sha512.doc = "442a42c51eab80a28152a53f62b792108002e912dbb0e9ff6afd41237cdf2e954c57c46b0ddc382c0ff0877ddf9747e22cb7c7ac5fabb79080cdd657a1c1422a";
+  sha512.source = "2bfdb3740b0118a362e890257a4f38271d6ac24a4b8712edb5a646eeb8ee14787d913d7d8a171ab9a849667899cad3b2089a9eec2fc7c21bfa21e91d900c9527";
   hasRunfiles = true;
   version = "0.1";
 };
 "latexdiff" = {
-  revision = 48926;
-  sha512.run = "64b3c9906ade859568f67b235192ff29b70cd4ba94006a86cd1f7872d88ec7cf274fe89a5d292737d86295d7f92ff9be7be46936192eef2e5f99aabd116e9479";
-  sha512.doc = "665d2029e8fa0eb6c1fbf3f9d99d6ae92e43e422bc59da6cc64b5119f3ffc46c6310acf8a95861ff3bc4d5ab6ac5fe78290c0454f9bcb4ffe2e815872f6b8c55";
+  revision = 55540;
+  sha512.run = "cd69ad7bea121664c600e77438eee882e71447bfe5ffb034773a72269ea856f41b54b1369aa701b755586e12f121948d9773688f65d6b0bb161e3a052d95c5f6";
+  sha512.doc = "33931c4a47ce1ae61119a54caf074049504ea044159afb6a8ad59dcfea1d54782939ef5d2e8f3303f0aa623c64c4dc84a209eefb179fd057b6903ef6c9409f67";
   hasRunfiles = true;
-  version = "1.3.0";
+  version = "1.3.1.1";
 };
 "latexfileinfo-pkgs" = {
   revision = 26760;
@@ -19526,33 +20075,33 @@ tl: { # no indentation
   version = "0.3";
 };
 "latexgit" = {
-  revision = 41920;
+  revision = 54811;
   stripPrefix = 0;
-  sha512.run = "5076ebf74361a6997536988c5204a72ffd761a40c33acac03bf2a104bfac3661c91b320f47bd264d607df7dceff41a18670e7c18cf19cbb27fba1d5f273c58ca";
-  sha512.doc = "dafc932c2d0184c848b7f7ca549a300f273fc7e358c6bfbc6b5698aaeded12071a722c856255889438e1dafd1c64d6c2adcd60766f8e1a1652a74591d5e74161";
-  sha512.source = "58097f88d70518c49bb0900c595eea40241a600745a8fb8a9c6f47a3deccc97aacb195305ec48fb54acbb95324b2ef27b35467bf90c27c88a960efd6d579a0ca";
+  sha512.run = "4e3787d5e9bf950e796e7eb475c825f20628ec5ed5b99cb145036fba99c4941ed81b347acba1548dea624d87a03e0cdbbc28fc579cc8edb0aa36460e9df0b6d8";
+  sha512.doc = "bfc6ce99ca1b66c0b1d5d98453716cf9e3a7e65ac55d7d17e5b06417f57d13f532602b537c804581e2e81b5265d554dd99e4d4307ef6d634d25916aae1892cab";
+  sha512.source = "8a09f128428644335c9d909d23acc91ede2020304ebf009be00928cdef670aba23d245b979e5fd8d927c9d0e652bc195c717a744015a31fbb2aed1c566abfaf4";
   hasRunfiles = true;
 };
 "latexindent" = {
-  revision = 52050;
-  sha512.run = "0aa45877dfacb861ff325c13518abe9fb15b6a07a2c6ba93fa7d8edf982be40c26d46c439875488fa468490e5a74e87cb214dba05346a8946addaddddb44a3a2";
-  sha512.doc = "0257dec625380e5c31f982499738d67c0294acfb113f6c0bd6a81b6f725e400853405a60829290e3fa4626625a01df0e838d6d9c07fe4caf7a7949cd22ab690c";
+  revision = 55520;
+  sha512.run = "9dcd8267d22238e19d0eaa5f59cc3e0982793bb8c95285621a9837960cf8f17278429db212247050f8ab3b4155e32d10c30539bc022ea5e1af9f95850633f838";
+  sha512.doc = "08c0145cb2ce2d5afbd1ce78173512b0aa13efc954eef445e3c93cae54e3159bc0e8c4f7c1cff5e0e67a75991b858202953f83dc7681364586ab25855449eed7";
   hasRunfiles = true;
-  version = "3.7.1";
+  version = "3.8.2";
 };
 "latexmk" = {
-  revision = 53293;
-  sha512.run = "b7e3971cd1aff149208fee6857066c83ed9af9229bc7402c7003480121a06684b9932deed33b8bba9bef544e000bab21425c51412cd2f7e273e0d53eecdc13d3";
-  sha512.doc = "3008825a99898209da2311ad09e6b0ead8d8557c2e47cfd6a668b8711bb22102b89a6d5326735c306e3e21b824e8df4bc2bec864958a2f3e1a8a2884175f7b35";
-  sha512.source = "eeecd1be1cce9a2baf33d544bfb7726b0c468d223006241f15bf6f8a0134bf1987be49b86fded6ed5dc40acc42523373cb2407ecd5d41e7641b1ae0fa64e55fa";
+  revision = 56490;
+  sha512.run = "419df4657513224fa1586c29fb0c0468c0e31b3c87b85af349d44f236656144e5ccbc145956dde8e3d008c708cb66b7fe4e131d6721893add4fda38a4fd87bb7";
+  sha512.doc = "892870b84be7dc2ce87083ad370cb5cefdc4cf27798f633e15b42c6af17b09b7ee803b9c960a311a86e9f7985acdea4768de73d3a992416a6c65ad57d3d1e58b";
+  sha512.source = "8ba256d30cf89300645d8412a1117ce914ad59c0c8044fee48728b94fd4ea11c0cdd2353e4d3a320d7d0f4a5a5203deb24af0a7b160f99bafde1b709c09aeab8";
   hasRunfiles = true;
-  version = "4.67";
+  version = "4.70b";
 };
 "latexmp" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "e63d213969434907df862dba2684ea76f8603a8283764ff431edace0802a61cbf3eadea6a532a21cc83d722359ac39680e716a24859b85f526dcfd809ca319d9";
-  sha512.doc = "7668afd5cc1dd365811f8e4290392037adcf5f3bb220e062588a446827f1d39510137185699d4b667f2b452809704d3c08caa889bb52cecafd0e190b0e7c49a5";
+  sha512.run = "e32eddbc519ed33687c1fbe36b2cf45f9ee886a78c0a088f6648da42dbebb0a72064ec4b9d5333656cc3bed7b251ef3a758926db88e6bb79ffd4536489717db5";
+  sha512.doc = "02cda290799bde7288220d0b634b970a6ac543fd63318bcf90c4ad06eab074f5851e7bc42c9359af709eccc0c8847a0d3d1a9e27cdfd3f60c7143de7ac4d3901";
   hasRunfiles = true;
   version = "1.2.1";
 };
@@ -19572,10 +20121,10 @@ tl: { # no indentation
   version = "1.2";
 };
 "lato" = {
-  revision = 51462;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "1243f2c4fdea9ac510cc99bf4afae173378b47caaadcca88251b53badc5f63bc465e19247ab10605436ca07d96ba4966460f35d8336462950253c4eaebd80bb7";
-  sha512.doc = "28053a4561422f721c6cb400be57a0aa18d18173dd5c9b46b806dbd4c8decc5eb65aa5dea509b42909791bfed7a2a8772d3ba9917d3bb1f6fff742caaa5fdbac";
+  sha512.run = "2f8454888913ec6a024c53cf157509b8b769f948ac2c92d0683e80ff8e22865545a6a65864876be35569bf4a5d56ed871c8112b216561e3ce585136bd062c9ce";
+  sha512.doc = "0965bdda9b3c106bc49d8156f497c4c85a80d76a4740964b2d24c58155e8afed57989166bc5ac3eb44daf377b7e8985b406a0955dc419ced4a7011f328ce0c62";
   hasRunfiles = true;
   version = "3.3";
 };
@@ -19705,6 +20254,14 @@ tl: { # no indentation
   sha512.source = "3339968b569bf6fba6d7332399d0727148add95c1c0dc2ae06626269c156a4e365dbbf672b652d3c5d097d0570b0955e6cb34255e3f8383f05ea52fa2c12e375";
   hasRunfiles = true;
 };
+"leftindex" = {
+  revision = 56182;
+  stripPrefix = 0;
+  sha512.run = "01e0687f0205c40d95e23b5a9fea2dc8aea95d2e8d5abc54a0c21c1b5934dd68b3705cb625b7e7c34ee30d590cb3028e816719dae6eaf80e5c435078fa3b908b";
+  sha512.doc = "93b1c20788bc707ad90efd69194d8ecdf5154afe89870e51397c810e292b4e52fc7714de844580d0af5be0434a4493bca7464ca0d0b5f2641d9cf46a1f9c77ae";
+  hasRunfiles = true;
+  version = "0.1beta";
+};
 "leipzig" = {
   revision = 52450;
   stripPrefix = 0;
@@ -19715,11 +20272,11 @@ tl: { # no indentation
   version = "2.3";
 };
 "lengthconvert" = {
-  revision = 30867;
+  revision = 55064;
   stripPrefix = 0;
-  sha512.run = "71441058a60d5c642fc7f162952f8e7e696f25ed40e56d5b61177efe6e0f4bb3f55a8ab616e52f2555836d5205f1c09cc75307ca3d0f4fa964347d731c6924e1";
-  sha512.doc = "756564bef540ac96195b9846d79cfdc8a553c25e83313c3cd22b7926010e65033e0eee56899a0ec1deb92eb34a1c7c74ea541e4881962d6bbf34a16ab5462b49";
-  sha512.source = "fd9f190b1b388e17fa0bc9d8307bf1dd654184c3da7ee69534b7fab2d686b5dc096fa3656d0620ccfdc1da40f581ab1bd163f82d2f0071062fd48468200f39a2";
+  sha512.run = "7796d45d91e157f2e901a1a48a7841bf222f86540ac00d59250e3f47568ab86832bc115340c0b65b27c12eb1a39cc2729cffb5da71afc413dbae737341d8eb63";
+  sha512.doc = "4191c3ce9b546f885c61243a343761a9dbc1ac031b3878a87c292d99a70effc89d927a1fd35eeafdd6523aea7c4bde0c90255057177767f534b471d4e098d3d4";
+  sha512.source = "ae8d4f8563c86a5fbcd56d40dc39df2bf52bf4dd5098b4976ddc6ec00b8512e2d6cf4a4b3f6fe83e27188ea24ad954c8043daf49aaaa15e503bc2f84f740ae75";
   hasRunfiles = true;
   version = "1.0a";
 };
@@ -19732,6 +20289,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.6";
 };
+"letterspacing" = {
+  revision = 54266;
+  stripPrefix = 0;
+  sha512.run = "30fdc0f87976feb698b9736e9deb6726746e4c25e4ed4a4637ff26699e171738be6447e8e2d02d154cf57944aa988208ee97859c0a7fac784d55fa6ef889b86c";
+  hasRunfiles = true;
+};
 "letterswitharrows" = {
   revision = 53709;
   stripPrefix = 0;
@@ -19741,21 +20304,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "lettre" = {
-  revision = 44950;
+  revision = 54722;
   stripPrefix = 0;
-  sha512.run = "7e50bf7d6109fcf0e128c35ebaa034c3301668f6e3bd8536b4a37c7e721592e28561911f922cfdf740d0c397a8375113dce0b7a00388a11bc4196b4b33fc04dd";
-  sha512.doc = "308122fdd634c278f6e05e85a3a052e4255f06339db0f744fdd4859f6bc2983b7150c8fbb5d85fa71c39bf71ca6aec9d6c3d27707da0f95252beb2fb09dfafc7";
+  sha512.run = "308dc21e8be8d8f6952eadf9b5e9002fe32e8ea3b79ba679606badef75ae346721270e85e3fbcd269ee86b9ae049390164c57cfd73d7f2efe22fe82c7466a813";
+  sha512.doc = "9962763ae46836874eccf4ea5a2dd695eaa1ab890224d6a54e83670618e2cae4a917fb6bf05610c5104f4d241e0163e079628e79ddad3edf374b513cf6a457f6";
   hasRunfiles = true;
-  version = "3.000";
+  version = "3.002";
 };
 "lettrine" = {
-  revision = 50847;
+  revision = 54560;
   stripPrefix = 0;
-  sha512.run = "6d52341ea517e94128da35dfcfec9344e08a23fd933ef18e1830ce014e6906bd248be4161439cb4d48e1bee64d3b9896cb866a78233c86ce72f87ac5a788e98e";
-  sha512.doc = "4f12fa28940188c95a3d707a97b18c7b30803d188bf7c5c46dd74a13589ca15609f47bffc309474c43966c3c2ba0fc6df09db2d85af1385b82ffd0a10e148c59";
-  sha512.source = "d77bc694777fe902889aa15ff12396dbc388c73fd89c815a17bd4557a340deb2f1547b357bf270c4cedf7f97edb4f33faffcb65efde9e36978ad5b6c81b76356";
+  sha512.run = "839469d3cdd53698bd9072451e7b9262633282cf46c32ecf23f3b0f46ae999ac259daeb6b4cc5c43222f9f788a95b85cc406857b19bf4eea1ac1ff3b00caac60";
+  sha512.doc = "3ef14d7292d3653acfb5bd47141d16cdeaba393450fe27fe1b91b1f2c171c46949e7336a5d9a384676f3bf0d01b8297ff81f732267d94491460c7d883a520763";
+  sha512.source = "0f80bf599a303757e2a8ce836d50bd4a4ab701a623d5ea218d23c8c7ef267756cd5320998570962f9679f17bb26d89bd353ab99c3d5407aa535355239856465a";
   hasRunfiles = true;
-  version = "2.22";
+  version = "2.23";
 };
 "levy" = {
   revision = 21750;
@@ -19773,10 +20336,10 @@ tl: { # no indentation
   version = "0.1";
 };
 "lexend" = {
-  revision = 53845;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "110cee53edf1d3bee06f93cc1bd7543a1da372d38a0ae8e8aa495a87681b565503e9f44d691dcc3a742ef245cde9e285b10b758742d928431a4f09d5df55a674";
-  sha512.doc = "66615fbcfcb04e7e833ff587d948357ca1f9318a3bfe6316c7883a65c16c7014720894f9bd40c0af5eb094d1a9898d6541527e2e0cfcfca132ac399017628191";
+  sha512.run = "b300453d91ef643b17e1bc7520ecff8550e394e2df22447274af5fc1405bc48723ef65ba7e322e83b6e10653ac89080428973b300ee55fe8e15eb590e85c7733";
+  sha512.doc = "83e56c79e99c7aebbdfccdc4cd75f597e53034bb6153870e40592b7e769366c8e921f00191f6608b63ac723223418e3333d498b4ca86c1f0a23cfa5444d88d34";
   hasRunfiles = true;
   version = "1.0.2";
 };
@@ -19838,14 +20401,14 @@ tl: { # no indentation
   version = "2.0";
 };
 "libertine" = {
-  revision = 53310;
+  revision = 54583;
   stripPrefix = 0;
   deps."fontaxes" = tl."fontaxes";
   deps."iftex" = tl."iftex";
   deps."mweights" = tl."mweights";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "d52bf688d69ea2ba5de9c455ed61e4f084cc9b003cf075a319330ba0281bca5e4f3ffdf5c173fb77c831b9e8b8363da62c937ca13882194276024867573c47eb";
-  sha512.doc = "a4eaeb71df66f5533024024c77090d13bbf8de085848ee20f8747a26f958f877f90e1f94414fab3e8ac632c482413a842a6568f166de7777caa615a0fa7f3ee6";
+  sha512.run = "b4c3a52caa463b8968862de7c9442da09af1bad572b4f59a31cd349948365fc04a190f876b99dca61cffeaa57faf26658c1e44bca6e27ea03024fd50fb665d5b";
+  sha512.doc = "185faa15915e8224dc705d6555c35877cb82f6a752df67eb8eb78f05ab8dc7dea228bad5828764551df7f0509668287575432cb864e1365d574d5ffd53e122f9";
   hasRunfiles = true;
   version = "5.3.0";
 };
@@ -19858,43 +20421,43 @@ tl: { # no indentation
   version = "1.01";
 };
 "libertinus" = {
-  revision = 48588;
+  revision = 55064;
   stripPrefix = 0;
-  sha512.run = "ac413716b5316b11d09c30613461ebe432502d4f6b776aa3931a6e8e15ec1afe56d60632a5d9f941ce4acdb89e45914f2b072c95d8160fa1132819b8a0c67bc2";
-  sha512.doc = "4a01523a5d8211138e873e15c9ab7c7b1f62900d64c7c75c08daae3114cea4fea5ae3a18d81b3210be78866887ec1cb9d38fe0d4b7e9c7e498f75d65f3eef5dd";
+  sha512.run = "ec36e8d1184e4b8aad46391bf6cfe54a48006af6ab70cc2a4e20892bdaabdf39ec145e216a12e8be389e3080a51ce5d81be2376be631e32f48ddd5f9548cc564";
+  sha512.doc = "35e7c7ccb8c10bf2d5d24c03b47174a6e53dfabb9f7629f778f6ab3624f146371b4970f577d28765cbcdb1094dbf8414a729a2b808a7f41f418b911899ee0698";
   hasRunfiles = true;
-  version = "0.01";
+  version = "0.02";
 };
 "libertinus-fonts" = {
-  revision = 51614;
+  revision = 56148;
   stripPrefix = 0;
-  sha512.run = "f30ece5291ceab44ec15c8eb6f20593e78ff2b31b27f49d9472f22ca63746099cfb9493dd9522ce3ff3b712eb3bf22d981318e985461fa53c01f399ecbfdc788";
-  sha512.doc = "8bd8dbc35aebe0596173b93ae56f5547b3637f9973802ebe215216c485731721bb400b7bc8c404644a401062eb7efaac612f03ad431257a75cb36c59eb83c4b8";
+  sha512.run = "d48b4185c711150cc0b72fc9c446a2d1d60141d1a2cdf76b16a279a6c6e17ed52a6183c52fe2809d6df040a700f4273c341e28903b3493ea03caf7856c0cd000";
+  sha512.doc = "fbd777f3f6bc9eb1e557b28779957607ed48bfe87bd61567535e31755dc0a50b7da05e115c8ff4a8f69fb2aae72cce9663cc7a3d8e075dbbf665c3dd7043e4d4";
   hasRunfiles = true;
-  version = "6.9";
+  version = "7.000";
 };
 "libertinus-otf" = {
-  revision = 53871;
+  revision = 56017;
   stripPrefix = 0;
-  sha512.run = "a4b85c7861aea614fa87a44314331aa51a53de6647f83f440577b3840e3748c02da110824b64188be9f052c4542a747fc44bf6a5119c30a7bc1f0b4e16e6499d";
-  sha512.doc = "437f9151d0bc948ef3a70984769c8cb53a658d1fafc2b774f6f8573eb6ef5e89970fb4ccff3e3c7b3e59584b06ff81ea308d78287412c5e552b9c9b457801bb7";
+  sha512.run = "d9f4ef880b9e781d8af175adbdbb36d9a2f3ae9df719260595db0dd329f7a23fa32394cd068df8b93a862316f327f7c5cf61db41e197bd35b0cbcc440d8cfa9c";
+  sha512.doc = "d2ceaa1385d4800f95f16b7c9d5a1fce5c9c7dd9c9a51f8baa81d745562d434b42cf82165c265b465c4165dd40fe10f9771fc432dbd46ed9bc4d0470e4d84300";
   hasRunfiles = true;
-  version = "0.24";
+  version = "0.26";
 };
 "libertinus-type1" = {
-  revision = 53159;
+  revision = 56160;
   stripPrefix = 0;
-  sha512.run = "14bfca077c28612598abb0b0f422586646c0e43d6feca281b2965d22260c816ae23ab5e4e9aa22afc8c2d35988718729fe3777c1222427caf85cb0999f95e7ae";
-  sha512.doc = "8cce8f098880a2efceadf7f3ea8a703ed4cdcfdc33463c23b0d021d677bb7959d2111c3226f90493491296bd23254b2f79e0d283ac056a2d698041e16cd72ec4";
+  sha512.run = "93cac61cef7a6ea024e22e0b082b19404c402898cd900af3cf6fed31111ad1a800b16f59027c4bd7c6d96a8bbd1eaa9866891a090992e210b6f498865ff0ee59";
+  sha512.doc = "dc0d3dcbf3180d7b01c65ad301784400a250e33e71f5796e9e22fff9f750dde2c00d129a9e9442cb1aff842fc8e672b8696f80c704bbd236dd1e3645cce266f7";
   hasRunfiles = true;
 };
 "libertinust1math" = {
-  revision = 48862;
+  revision = 55517;
   stripPrefix = 0;
-  sha512.run = "e1495d0bd0e0082b54748cc6536a2ba0c0664da049f3ea99cf3df3cf60066fef11854738fe89f477bea879db9dc49199fcd2e8c3c4676cd3bf135122e011bd10";
-  sha512.doc = "8816d8592f613f9776d57bf1c71a0b4018a056647be658268f8d13135deb2903b7b31e4be11098b6aedeca852bbb889b23110f76c98bbee7cfd26a2c0ad29359";
+  sha512.run = "b6088ae126a70323332c08589903407d849353e979cef4cf5420b2a4556e874d66cd207a51e2ac44b126ff9fec0df19ca1631b174c7533f00ebc081d6a361038";
+  sha512.doc = "2ecc63bbb6bb2adaf6720935b0bbe05d354538ff9bd99f21bf783ae3995e89fd88a39128f1b1f2c0b534f05eb9ca4790126f8cff5b51c625c02c777fb9ef7f3b";
   hasRunfiles = true;
-  version = "1.1.9";
+  version = "1.2.1";
 };
 "libgreek" = {
   revision = 27789;
@@ -19914,10 +20477,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "librebaskerville" = {
-  revision = 31741;
+  revision = 56018;
   stripPrefix = 0;
-  sha512.run = "03f47456269d8fba252415fd2d13faef8efdd3895405dd0385eeb2bd44a9ffdcbf410c5cc0f63a2f9df349b940408a1bbe492bb8c8c71e756ab184b6ff75743c";
-  sha512.doc = "c6fde0f97c5f5ce27172fb3d9b41499c45679fe65ad980916b0d4af5e6bc9a0c91eeb33b2a30967267887197628218772761e5a909703d1807d2b4d8f34fd4f6";
+  sha512.run = "49e0fce1bb4d31cb12f323e45a9e9cdd8688951f89e69c22c9cb576d2d0e222eafe74e02b07a9a854fdca2a32debadbca32ded1ec5a0b2efaff4a0d20e7ea3a1";
+  sha512.doc = "f90a5f6d2de21b15d53dc047771412fcd7ca7b5332a667efe1bab6c59eec59c474b5b6042fd1d81e70df86b3a571f3fd64799fd5e7ccac9362a9fe0b65da63ca";
   hasRunfiles = true;
 };
 "librebodoni" = {
@@ -19928,17 +20491,17 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "librecaslon" = {
-  revision = 52536;
+  revision = 56003;
   stripPrefix = 0;
-  sha512.run = "ffb0cc23fa1bfffdb26f44cf174d0acc066790551609440a80be026abaef24cb99e261b28aadb323a830e7c50a07646fb2e304c074a6eb7a8d765155726892b6";
-  sha512.doc = "f5f618eb1a691e24acd624c065c79608f326e01cb01e2d6e535b23450a5a9e8ef5aca65989c689be996a23470664122c47176349a44200688ea4ddcae68002a5";
+  sha512.run = "83f7bf4212aa4340cb12ef5ab6ba447860793c8e2f1e8892e43b28d7bb19f3d20bdd58b74d9362fa21afd2bbd7f374d292635f30be91eddfe091a005703cf7ef";
+  sha512.doc = "c41ea29708c5f830ef69d02444eb2735a307c545bbd3b876e9d367006bcea0df55d43fb740b15f1fba2849a9133ecf9edc617b9f2e143789c317821ea5573cdd";
   hasRunfiles = true;
 };
 "librefranklin" = {
-  revision = 52520;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "9aa9b1d5d56875fad5e494c6d07da8494d12c3bbc37c99ff1b5917654e253649636e76d5c1dc92a243378e82e1d4a496c234a0acf18be810761c4eb534075bd8";
-  sha512.doc = "34ada19415b6ed29dd5bd35fca644d511669265ea3162d10aa582a5de9733bbea19e53d45a22c4f616ccae6d85b3f59883b54e69699c1b4e0c9782388acf6762";
+  sha512.run = "793a8b7048c96bab41620464fbac38adba4a07bf1cbe167e12bf56a051183b5af599f2559ea00bef51f1dc9d8851c41fc8bb65664a2544278b9b66be66d2f9cc";
+  sha512.doc = "54b3c072fc80d07b07a1388988d37ba39a1ee302e12e99d9b9beed32bd547edc4bdd1134888cc79922a59347bd5c03724150eab7fcd84431bda31cc8a04eadaf";
   hasRunfiles = true;
 };
 "libris" = {
@@ -19958,13 +20521,20 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"light-latex-make" = {
+  revision = 56513;
+  sha512.run = "ef43711feb7a776c094dfb0fb87d8f1d64f30bb4f5872cd47ca9f9bcbe7aaea84158b54414ea6e3cfa6a8dc58035eadee7835d175b8a6829b5c7298c33723d26";
+  sha512.doc = "5e25885e1a537a435b7e4d71969046918c0221741ff9d90adce0ac03f4ef3208e18af58dd007a95c62261ce4c2506724244d4a3706a0ec9c8c527a0596c0da05";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "lilyglyphs" = {
-  revision = 33164;
-  sha512.run = "8d0d8b994628731e23b1a579a141cee66043838bf254306af91f9edfe2848379492baddddd1018b7a8b7c5fc7de33f4895884412b21d1b6825856f19b7da4a57";
-  sha512.doc = "8c834cb3ca5bff9538218112523537417bc41b05e34f6f6a1670c3f6eb573cc223ec8be121c7df79ebc746afe427520eef6d1ab0f4e569339b542ee67a6549fa";
-  sha512.source = "810c33637a1a8484e28b4a3b60c4a5ec281928d049024c2e24aa0200738a9d07eb9d63f2d5f2263c90376ab071dd8b4d8ed40db6d5ebefd8f49ac2aadee869df";
+  revision = 56473;
+  sha512.run = "2616757691d289e859fb2bc161c2a5b5312bb1cd824aa15854520e004a639e597f42515756b3cad383e4e33b3057a1579ff5c2ea7c39d8f9bf9d36e9c9b58b70";
+  sha512.doc = "4d9ac765c6a4b2b736d08569eeb6d0d8b168fe96563526264f2485d3d27a944a3e81c6144cd8f1d8cb5162d425b436fc688172db18b09610b3088df4ce868a27";
+  sha512.source = "e0a1db8b5c4e57374ea19a7f8da3f4a89a2947869eba3f57411a9e815d645f4cb4200832276e3d3c869e2b3a8e3018e8e0f20f942f2396395b7739d7e9b23951";
   hasRunfiles = true;
-  version = "0.2.3";
+  version = "0.2.4";
 };
 "limap" = {
   revision = 44863;
@@ -19976,13 +20546,13 @@ tl: { # no indentation
   version = "2.2";
 };
 "limecv" = {
-  revision = 53720;
+  revision = 54329;
   stripPrefix = 0;
-  sha512.run = "9c1eee074b9ea30fa42838f7fd7455c374a504dadc3bd81f3bd43d494e881f5b7fd2637341bb777c73a25935874b508ee7d197f2d3ac5799ab16365a29b1c28b";
-  sha512.doc = "43f9572e3e0be38f26b1ff8cd0594706ffdbb448d6c3c3152216a887f2317a7b35f202046b2ab363abbe944a1982379ce6b9b439452968d56d996b44e785879c";
-  sha512.source = "c9132893f514f5fd1ae29ff07aef16de1a4d3fd350bfdbf7456d3ca76ffe281bacb91f656591808714c31e7c9475494b75e67083bbcaccda8e031e3908da59d1";
+  sha512.run = "90614eceacd921cfaaa60748ebd342eacc66f580879e0d2b03641b5c4b587e5559242c17240f248bd8ba227976d07a58553cc529bc6decfe40e8fcb3464669a0";
+  sha512.doc = "53859b21cbb3786f84c5250a8decc225a5d7208cab54ade8de28026d7a47a38daa841b89bca76e2952240d05d91a63e6cbc8afe401adb721dfad9417e2369089";
+  sha512.source = "e140a18b0c7956fda5bca6d75d0d4d89c7035f6cfe5cdf7245fbba47a095323813ca45ef5b9f5dfeb75e63e92cdd48e4003abd23666a8d70d8be8f3bc9a60e6e";
   hasRunfiles = true;
-  version = "0.1.7";
+  version = "0.1.8";
 };
 "linearA" = {
   revision = 15878;
@@ -20026,10 +20596,10 @@ tl: { # no indentation
   version = "4.3";
 };
 "linguisticspro" = {
-  revision = 53157;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "14666fba12a28f8ca8c1b939582778a7f3f0532df489865b92babd80f89453c69b97d987cc8c8449dc0ae8f349c47014439f476ea9cc5f48f114898d8a8e2321";
-  sha512.doc = "af514187b84cb6c6c5d623c76dfeaa0acb0b4186ecee83674266a5795d1b5ba909da1691891cb1c4a6d7ec9ead00341124922081798b19f2aa5521654277c146";
+  sha512.run = "62085ea970d1cebc752cc5dab4b84487bd99e0e99fd48a2effa44fe9ae0bb86aa91966fd81639aea7d4364d3c3d97046affcf2693d8b4be8fa016e91014604c5";
+  sha512.doc = "4ece804238885fb37505222218c92c923804d032e5e150de3cfadc62f0eec73e8acc47600ddc4d5af0f7bacf9f54254b6ead43a3f4a084aeb40dfe95b53d2965";
   hasRunfiles = true;
 };
 "linop" = {
@@ -20041,12 +20611,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "lion-msc" = {
-  revision = 51143;
+  revision = 55415;
   stripPrefix = 0;
-  sha512.run = "93a6800c371a2444c34de2888d09076cd41b9cb773b39af1c6772928087f4c0438e85a58267e9a0afd309722b5eb16907a553c23d2cba008a65b6e2f3b3edda0";
-  sha512.doc = "d3df6b66fe429e565b9f336b2d864458de759a907fe1c0ea88e002738fa7d7122a3dae0951f596c56192ec5b44023eb604eed7cce357521e8295431675bf2e67";
+  sha512.run = "8eed5de445edcd936654a9d7ef8e227d43b479f39279025115fd8586cb7fa107dbacd8c7272e868eb11de0e320740fb8dc5c1fd26327fc6e8394c8924ff37cf0";
+  sha512.doc = "87d5b7e8fec95c857f6c45aeeab3cd6eb70e9b7a237eea3b5a4deb8e92ec8ddd5a381c88ae4919bc1841df15a4b93a569a996ed032cf2b0b7a5bb088c779e873";
   hasRunfiles = true;
-  version = "0.28";
+  version = "0.30";
 };
 "lipsum" = {
   revision = 49610;
@@ -20082,13 +20652,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "listings" = {
-  revision = 52079;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "ca15ff0ea1958ccb4d7e464245f7a214a509341517b7bc71823823f5673bca3d7ce27b6b7236f195078c7f9e7e3812a5bfbcc1c0b59196d06bf28cbd4ca63acd";
-  sha512.doc = "38e7e013f56787a025425342858e2f1933f0f6295876fd9c2d01df568d76b51aa17e479fab968a9cb950fd77cb0810faf4b31b267ad23c32ad26f6e85ec32d0e";
-  sha512.source = "50d5bc041b885ae0e35934adfb3a76b048d8c7a200081eedcff4984b433e498444f4230baa63e86669d526fbccb15a232b8b2faf2f9787fb63eabc3da14ca28a";
+  sha512.run = "b9e3dc1a3394305803007927e2b9d446801d59bb7b8a62d4fa757b7d42b56c27dcf9ebaf6ee1fb1e7d8e437182df9fbbbcbd7ceb8f42db7d1999cbcd6b9d6f6e";
+  sha512.doc = "0a19a7148ec9f902e7eccb3d65724db899e030d326dd0291ed9fd15a540dcf4e3e61a15576fbb16ebb6736751b484356aa78785108aae44f866de97f56d34b09";
+  sha512.source = "be76355265cfb208ca069d79ae598fd317b6fe3cc1d81f0ce02e4154e3c03c2b298ec91e8e95cede3a8bf301ae1b6156cb42740e38e138c66b451f561ea49073";
   hasRunfiles = true;
-  version = "1.8c";
+  version = "1.8d";
 };
 "listings-ext" = {
   revision = 29349;
@@ -20166,12 +20736,12 @@ tl: { # no indentation
   version = "3.1";
 };
 "llncsconf" = {
-  revision = 46707;
+  revision = 55117;
   stripPrefix = 0;
-  sha512.run = "9df2b2ab5fa1434263f4df8a4f5c5329d38bff47a3f9178b2b220b50d34e410ce2904df5177076131ecff1a5a20cdb9cfd6cf84d986210df1ede7ee61f73b255";
-  sha512.doc = "a0a9ee4372d9afc48fcaa16959a9c54a3d10216d6196be963f9b35c66f13c970a4cb4a01996cb2397a10a6ea36c445a75541f7bdb9608c759e611faffce56574";
+  sha512.run = "76531fdf2031c7442ce0ea5f63e6f625a976b6949e6758ad77b19a0c50b9dda01244949b32297815137cf40f4697faf3264f1f972952d89559b0c37c21493b7e";
+  sha512.doc = "bbe6f93431219ff18bc2aafa423337fd5017aeaacb91c14897c950b7eafcfe3e124b8403cdb66bc89a34537f1b1e79dfee73cf971767024772b8a47d647b8588";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.0";
 };
 "lm" = {
   revision = 48145;
@@ -20209,10 +20779,10 @@ tl: { # no indentation
   version = "1.6";
 };
 "lobster2" = {
-  revision = 32617;
+  revision = 56019;
   stripPrefix = 0;
-  sha512.run = "97692ee9293dd7fce8a3ca01f29a11daca837baef5d55b2c85339e1b2656430d009b5beccf7f04c5eaaf9b1643624fa259e353bf7f8afd6ad78df00999c252ba";
-  sha512.doc = "4efa18df18dc64cdc88d52b3b4bd9936f021a039e62eeeb2b028461328f2c3fc5b0bb0b661bcb3d2db155c48c270dcf1c2dcc2fa4951666597277e8ab1195494";
+  sha512.run = "d104589256496cab2cd55625f9ea252d21971eb2bb97ec91a9515ea8fd8d749ad02d1234c16bc3bd378f2a509df510951fc2764a73d839d982b630505ef44041";
+  sha512.doc = "330f73cbc97686cb1ed53dc2c66424cbdc62b5728790b7fc1256ee8b858d991fcd897fa47c9bd6c0fa9979ef13a2b47e004c61d06a52e88b487e394fc0de0b84";
   hasRunfiles = true;
 };
 "locality" = {
@@ -20225,11 +20795,11 @@ tl: { # no indentation
   version = "0.2";
 };
 "localloc" = {
-  revision = 21934;
+  revision = 56496;
   stripPrefix = 0;
-  sha512.run = "ff1e797efe69f372e61272d187e758e303e505128549e02d8fe45c621a28e55337d13b0fdbf6065ef97d4f8c51018ead4e97c1c4b2d9a76f9a6d299136f510eb";
-  sha512.doc = "13e03c65221c892acf80a51bedd6a18232e9e9adc7ba92f34399e678a2d88d7050b94f8047087c891075c2098bc759c79f1276ab2ee8cfe08dd7723f2ede6f74";
-  sha512.source = "04da29e24ad627fff42fc88a5fcc480ba42eec235ab2e283a89efcdc87082bed4b4b988dffb5ea2456212cdfebe9f66937c54ca799a3253c76884e86b13f2d0f";
+  sha512.run = "abd3aaa28d6c90182990890ebc8aa0ab1d71833549e9a1ed9a09d7fc2db01cad45efb231cb8d3b09a849c948a6f7ba309954d38152af88fa8cd3e38cc857fe68";
+  sha512.doc = "40fa07b0d5a5fe0603a087ce9440dd6d95ab188b83b4adf847d7145f9e1f1cc8e2d8ef49c7ee206e341db26afd885308ef349ea5a8c2b826ba6664c347c7d8c5";
+  sha512.source = "9a19531358e4809a90c1e571a8f7c507ec1b0807a009627ad2dfa3ebdf97fb749a4f57441b0855e44cae93ccbdc64e79b640de078fb9ccdca1de891a2d156eae";
   hasRunfiles = true;
 };
 "logbox" = {
@@ -20265,12 +20835,12 @@ tl: { # no indentation
   version = "2.5";
 };
 "logix" = {
-  revision = 53317;
+  revision = 56414;
   stripPrefix = 0;
-  sha512.run = "5d392c564c4d4a5827a2fc58b95f95dcfb51e32c116bbf94834831ef2eda9880a07d0c21032a6a36f1a694cf184b5d4f306c0935f1c80ccb6bcbff97e9d6d37a";
-  sha512.doc = "2a12509e023fc089166aefff11174470856225b610b87f1707d775cea2e9d60da1ed047ae98a62ad7d923ceba2f71d30576f262e0db0a6dbf68f89ba612a64e0";
+  sha512.run = "09a49f9df0ccc48f97a2c4a80bbbd97586902788c09549e45651594abcb774034f0ab4ba80c72585594a78af581f3db1ecabc60e14e36cfa60b323549ad6ce75";
+  sha512.doc = "21ba6bfb54c668719a887f31a95a8cca2f943488e0c837d4cfcd624ed5bc09c0530f13466455c2d477e2a06d9dbf654c43ccbd87c1e6763b668660b97a9d1a2b";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.07";
 };
 "logpap" = {
   revision = 15878;
@@ -20300,12 +20870,12 @@ tl: { # no indentation
   version = "1.07";
 };
 "longdivision" = {
-  revision = 50586;
+  revision = 55117;
   stripPrefix = 0;
-  sha512.run = "64669ae90bcf3c98d4e58e9ff016bd03e151f57a83c6a98e71eff714017c4e9bab95694d33fef3edde79001f0f90a54e4f64514488b00d1e373122914064d8b1";
-  sha512.doc = "679f3766529588f5319f511178ab84e636d9e888a3f2cffdb6d94384042bcc7deca14821fb5010e7bec65614bab9adf336346bdcc38bc8908a29a6e9266cdaf6";
+  sha512.run = "13595c314837df4581f424d753b4afdba62f7d9c4ab4d43d1b756d18ace7cd5a53cb7783366c0e07d237333d5b5eb9e85a91d1041055707cdd7de225d748080d";
+  sha512.doc = "71f18b1f4f87def00c504b2dd67e8f7c2d9510f3f2459e8dbf1380948e501eb9b2ba4badaa6cfd2cb6440a0c6d0c9bb048c21664e6b37f85cd49c6a8a0a39d86";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.2.0";
 };
 "longfbox" = {
   revision = 39028;
@@ -20397,17 +20967,17 @@ tl: { # no indentation
   sha512.doc = "7cd22cad45d7ef2972679cf2a3653c3bbcb1d9bcfe94a65fb9dac23760de05b659470ca45cf8be13513924fa1cbb98599a304a51bc18f8f4d6631f082e662bc4";
 };
 "lshort-chinese" = {
-  revision = 50986;
+  revision = 56036;
   stripPrefix = 0;
-  sha512.run = "29c47ba7c96ea569e85df3b94962bb60e9d81259c9a30e04ff2d51bf667bab0fdbebb658f432907f4cc813bdf0f14acc0cb28b24e35f98a9e4278e1c591e6b4f";
-  sha512.doc = "5365dc7936d87d7af00909d9f3f3cbf4f0423777862407cb264a6a2d73ab9ab90586f7396ef606baf94ac95257742fba43aa1a4b48f59f01cf33bc15ae62b572";
-  version = "6.01";
+  sha512.run = "f78920a3adac063cddd42284e325308cd124d5e0f2f1ca6f92111edec872ad1325b99331615c8643dbc11ec1165ed0b0320c9a8b1e3eda0dabfcf496ae0d47c2";
+  sha512.doc = "0f8950630220afd353d05b2f4d146ded4eb24fc163f19510a3d57ea680fd06a1dff064c35a0afb8625b32741d1ab6543cde20d5269a0914e0dcff7c42bfca327";
+  version = "6.02";
 };
 "lshort-czech" = {
-  revision = 29803;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "feeb9c7244f686767c5f72ab3da8aa2bca69af7e6446e1bd8eb4dd858ef92e4a4eb6f42cf8d429127a20e84cac894732f0e05a360b47af02f67340b09311e495";
-  sha512.doc = "03295ea4bed83fb67a370ae547945335f51f6441ef913aba0ac3364f258153c6f5013d57e6579f3be6a9746a22cc4f34762871569d9d68c0b0d2acf40127fd80";
+  sha512.run = "dc967aae970e535c5dea48264c30f01d5ff3521851abd718905b78497c3d95d403c4f1ec8633cd2a7a55fe0a6bc1e1523391b214fbb8a0e2ed03737b09080e40";
+  sha512.doc = "10de238b8152907ec04834d6b4737cebb13bd6567c9867e19e2003d123299c733012569cd64a66d31a79894f9b37c1fc409cd5b76ed10832762988fc318875e5";
   version = "4.27";
 };
 "lshort-dutch" = {
@@ -20445,10 +21015,10 @@ tl: { # no indentation
   version = "5.01fr-0";
 };
 "lshort-german" = {
-  revision = 47401;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "92795389c811be26f98af6df5bde8c521ceecef1861facab67622811a9d6859ac83daa78f0f37257588318a87214f1ece3f0ada40790661d09938914b0cea437";
-  sha512.doc = "11a2745ff16418ad28dbe1cf4b88225a86899c30d102ea8fa6f3775aabab102772173335cd4985b8fa9b53e324e060ee11d8d31ededf0f6b7f5020443c835331";
+  sha512.run = "c937bb8da86a3ef6d428d134903bf8af74a286d644bedfe4766841b2b5234b34e2caed70460ecaf7a1b1dc57f1faf1396435cca7f714f84d75f15acea12e79f8";
+  sha512.doc = "69cebdd6a1444670a154d5cdd199022f6f1d6612b24b05fc8dc1e9f54a89fb65cda1f545341cd37616dbf6dd94077ccb924bf4b49f1473e45eb0bcd33f5f33a6";
   version = "3.0c";
 };
 "lshort-italian" = {
@@ -20484,23 +21054,23 @@ tl: { # no indentation
   version = "5.01";
 };
 "lshort-polish" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "13c52981d80ae9f9da34dbd14abedc166bb0abfe3dd31ba11f684b5912869be62e61a28d57d93dd81fe46f4d694429b3406bef774fa8b18b9918989fb839bf31";
-  sha512.doc = "a284230f6599cef5fadacad2a3cac07f829cc8ba35a64b798fc76839b57a8867f745ecebf75d41a0c3bce05b3b868451ee141c65fe0dd8365d1807a38b8dc237";
+  sha512.run = "77927173ea8b2608567a330fb0b76663b7389026de4066b21bf4c460c4721d57badf65179df473f19fc94ba60b56c8ba9f3e99073f500f31c37dce6ba754b3f4";
+  sha512.doc = "5fab9a867d78fabec9edff0148c1134d36ddc8b19140e5fa20752fb5315b30dc3f144eed08fd2f6849581d5ea1a515f350428268fdf3d78fbc92644fc1681271";
 };
 "lshort-portuguese" = {
-  revision = 22569;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "2c2d56eb0313dff9c2c102ef9d80d8e6029e35ab1ed8df5442c68b80fe4d746b3fb36b91b40cd831127e3004e1015ef61bb4b1c655d4e521f699ffc301f6d98c";
-  sha512.doc = "d9519e2dc7632c1d933c62696aec95402ba0cce9fe6ab74758073f23ff474cede7af24d97c9a480e734f801547c062956cd4541dd61064d004f00410de88bc15";
+  sha512.run = "70031c79e7124b9c839571fa95d8b141035a0d8f79665f1e79df8a3154b81f0a7f8b7d371cd00cfec11c141165ca5e1fb0e1cbbc4d0de8c52cc5e0b77c885f5d";
+  sha512.doc = "19c55e5547d83fbce705121dbb09fe329c23cd42c1cedb812cc282bb447f9cc51ce0861e61a984e2863103a2bccaa6a4c7ffe8bd2913637930e42747c6947b02";
   version = "5.01.0";
 };
 "lshort-russian" = {
-  revision = 18906;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "71e40e2502db0706d5ea1776c49888a05229771eefea3d17b8260d489099249c59ff3b94f53eed14fb7b53806e1c29f99386cb4118bc28e2bacc3dc3875eaec4";
-  sha512.doc = "65183cee479c3f3afc909616f39c6e8a51c4032ed67563709713d8c1d9a6d2f681914c2ace4bacc88cbf37a4bab4fb400b2ec108b257b4e3e67c0f0611de6eb3";
+  sha512.run = "d6641dc4f19c740898dccc357aa1004860952d0a2add37c6c37fe69ac222dd8396e506ff6a00ef98f77d8cdcea2287c96258214159f08d8b63184eb014ececc3";
+  sha512.doc = "b991cb5fc833446ab36c82beefa82afa026eda6b1084d99e6c4525687b82bf7c2f64f9cea38d244065cecf1b12a00331d4e70716880c5bf2509add05257accac";
 };
 "lshort-slovak" = {
   revision = 15878;
@@ -20509,10 +21079,10 @@ tl: { # no indentation
   sha512.doc = "8ee79c17e5ccc9dbb9f833b4f8927b22e7ce368f49f4d016fb936d2a5ec964791d9473b679a037d704efb269dc6caa1344168927a90a8e859527c64b0410996b";
 };
 "lshort-slovenian" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "933781a7b3b3481ad955aa346fd1011f9e6f8b27cdb4461f081a31331e8dd5fdcde72851b44aebfd9707a422c133099790d1f304c9f24f35d9fe2e12927061e8";
-  sha512.doc = "21a7611b67d9baa0065df15e86b38872f057bd4b3ed2a337e19f52a5ec49b409f4b1297d7d0ec951f40d0b1b4cd18cba1f1ae33228142ac27178520579659065";
+  sha512.run = "689ca4286149002f840e2ae82d7d9c8eaadb3471db16d935ef82c37e25560200ecd2fb95bb6fba61a1deb1fe481549073893df59cdd37ff9aab3c55679028492";
+  sha512.doc = "13cafc10d15f89945f020743c10d2bc44b226cfc9c7217be32b8c2affed12602cf024295c75a929478beb3fe763eacdcd47bf80615826472b85cb4db7454ee8f";
   version = "4.20";
 };
 "lshort-spanish" = {
@@ -20523,10 +21093,10 @@ tl: { # no indentation
   version = "0.5";
 };
 "lshort-thai" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "924081bb5ec18ffa92e92f71a5eb6da893ffe0b7460f757360e3bfdf15c08d4cbcad79b4d45cff702915b98ecea16212c4d5ab237c11410376677de527af71aa";
-  sha512.doc = "a9522c99f62a8f51eb751d220495526f40cc7581b8d0fb120d6e9510b1af68e2c97158ec54fb220dbab4fc8d0070c93027741b549d01cfc3892bf373e3320f4f";
+  sha512.run = "e81deefb7fa47e336a6b9fc363fa75c35576fa40de1771fff207dff22106b33d185c267d76a3897f2188d2dbdf9d2b93a1caddcdae38eb770cd7c5d6f1ccdbb2";
+  sha512.doc = "fc805e2749305cff0164ccd8d0b043d26731fd6f39e19c0023c87e4812f8509b923d4c1a97594563394dd7bbbe4a99d3b25aa37366f6e5bfb3cc1c2aa21c0606";
   version = "1.32";
 };
 "lshort-turkish" = {
@@ -20537,25 +21107,25 @@ tl: { # no indentation
   version = "4.20";
 };
 "lshort-ukr" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "18754d10f48df3ff86d644b772daf7f6530c4e03f0bd3373ccb12df2181aac26b4b5cef6bb673674b576a07fad2f3a13a5fde954a389090622f4d6f5ba9a4bac";
-  sha512.doc = "03b8947d0e1d6e9d331c6ce6d60ae485bfab1b73ed936086a21f26b3d87116de99e535cd42f16561d3b839c84cbd343f8fa3167b1c478d6f8d0df3964d800e56";
+  sha512.run = "82600643c91120d732d50dcc6e14a4b4b4c471bf6c0031890487215d952cbb9675210f11fc40b039aff529bef90282d432966ef9547fc7d0272f85c02a288f4c";
+  sha512.doc = "f707d0491bb6a246243035d1cad265787ec4aeb7cbcc73e3500295dc67bf3a3a06b316f9f82d559502b7f108ab636b90fd01c3d1b0ee5f13fa3418910557c8b3";
   version = "4.00";
 };
 "lshort-vietnamese" = {
-  revision = 15878;
+  revision = 55643;
   stripPrefix = 0;
-  sha512.run = "ab9369125fa7283dc2a2b58999f57db3e5767e1e6810000fb71f2f0abdb693a60c2133703cf3427d35732769e393cf389733694aaa6d9e41f9ecf28073d06112";
-  sha512.doc = "ba2fc0eeb69f845ca306c7a03c7f7a46cacd3304c420c048284d248202a12f34b176d91244ca25892a64f6ab734e852ea83ad888684cdafb644da7d665a02b2e";
+  sha512.run = "6192e85537e184137189771d2180f1760db5930ad5a8c3dc8788ab5ca502a92b433224b1cc1afcc4e2a493fd17d4e4c43edbc84e4893ecf0770bd07579444eb7";
+  sha512.doc = "a0bad6d83fbc288ac1f39bee6bf1cfb3267a47852a0860f56b8251b67b2dbcd526d203c20b91f7adbe42034481255e5e3128b525e49f8cb341f18d9fc2407e14";
   version = "4.00";
 };
 "lstaddons" = {
-  revision = 26196;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "8b2b14b28bcc4a3b4f26d2f48bbb59c111d4fd33d5479c20f7e03ac838c6b6631b99b1a5211b383e58dec74d70d9130af2a38e3b85407c4376f81e1b52c212b5";
-  sha512.doc = "82bb6745b9f2342628bc83f356313c0de52148eef25ed3ade22f899693abe190de1a09347ebd2d03b06a5976d8c6f42994e2495eb7c4e513ddfa8244ca258cfd";
-  sha512.source = "048555cb2355366b87d527a39ab64ca91226d366d52e2352c1f4d503daced739508e217893dd0d0b405e99b5927efdda0f68c780215c392494dcde20b30a88d9";
+  sha512.run = "a0fdffdcc648eaa59145c2668412e02f1ca6f5617c5068b80a767e1efa0df30e9c6b458279380bf062ac8aabb0b531585f65f8c9e7bd9d2d6ca057395cb7fe9e";
+  sha512.doc = "823d63d53a4c7abc108d6d72244acf48a6197de00d3fca7b3f75a082c2b051091497c354429aa9aebb64682b65c6e45d5a90413f2a4248c8c47dddb0fecdf5a7";
+  sha512.source = "33c8822bfea19259db8792ece9d2796aed34323873dc18d5a0827844b17e6a43d9337a0f55e0f183e18cbc338f0b54d105860993462c3ccea595c7af4df38443";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -20609,13 +21179,13 @@ tl: { # no indentation
   version = "0.01";
 };
 "ltxcmds" = {
-  revision = 53165;
+  revision = 56421;
   stripPrefix = 0;
-  sha512.run = "9cc445ad177af9b8f942b0c5096f83200224e0cda838441d28d5a188fee50d6c24dd4d415c2afb01792f57813558400826ead9336200f810336c26852ef61ad9";
-  sha512.doc = "bba1f1505bd24d62c82aedb28382cce9f80232b45f9ff0002c94dc6c26de0937cd6c1757396c2ca5a0afbb44d25dafdb4a4da1df46f88757d9b4cb03c912630d";
-  sha512.source = "035c7436b6000f4b17c41b8fdd71e1497cae824e20a8c872f7f4cfdeb43d080f6a7fb1c193f3718cf725ae5c79576c24616c36ce38b8705d05a1f1b9a5eb50fd";
+  sha512.run = "052303cd90b960cc5a9bf89c8938af95d8959ba6bdc603b4d53b68666b443b620417c9ec4ac65867b04eae8cb0a88940f905eac78d2c3718ce7a40ea249c9f94";
+  sha512.doc = "d82f046eee3892b5a241f78b44910c801b14583cf7f9a693f861ab04d9b05e0cd7639d8f85eaf46f95d2d325688fd1ba3c76421c6ceec5969046db497b0d698f";
+  sha512.source = "55f04ec6375c0b38b9e9d78fb658378c0e35c9d72127495e824376b1d54155138c65f6bfa804f7795b3a4514fbf1c5a7505e7500f51decb9b4d7c65b47d2909b";
   hasRunfiles = true;
-  version = "1.24";
+  version = "1.25";
 };
 "ltxdockit" = {
   revision = 21869;
@@ -20641,21 +21211,11 @@ tl: { # no indentation
   version = "0.2.0";
 };
 "ltximg" = {
-  revision = 51951;
-  sha512.run = "28486dc83e37120eb5c8e0218541f17f6d9f631087b56890cb0bb9a10e3599d4afb31e997f736ce99476491ffae01ed9ae3b4194205e366dd0a2ea09dc2dd565";
-  sha512.doc = "c8d688e451537c6b08556f3d021cd552ba491f0b031c253e0f914945604b492c4d2cb2b7423ad2f95cdd4ed180c8b0bee1501e28f7fc0b20a551b735a47a2094";
-  sha512.source = "ffaa0f7f2d7a6bdffa12aa333a50e3729853f61684ad85a06e6583fde646e968e9ae3ba12a98655f3cd230c9cdd7618715bfb6b268928a06b3361e8194bdb1d0";
+  revision = 56166;
+  sha512.run = "d9c9187d27ccdcf2f696c6f7ef555c708cfd9277a9ee3873c0c0996078ff246b3fee84259f09bee81525c4e8d1ade6aee5e53780b896afceb4e08650f6bdb295";
+  sha512.doc = "8f70bf42825bd1c22d1b70073a45f442e50e7dbf4a2476b81f29cbbd7796e311bbaf0d4f019206ba310a3e42d21795b11715bcaea683c4dab506df6229b3a086";
   hasRunfiles = true;
-  version = "1.7";
-};
-"ltxindex" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "ff757a44f29820ab29946f66766b11a928db11b90269781b8039428aab4bf0b243b317176aebc92cfe95bf2e390be125012daa72ac4b8bfaab81477ed8129ba7";
-  sha512.doc = "119f18b8337b365e09b5d6a22ab447bcd0d4d516514c7bc6622d8b1f30aec5746f45d81cfbc07a81aed9de7f47627797b9c7cac3015092f7ca72acd79d5263ec";
-  sha512.source = "efadcca7c0224c4bb3814588947f7dc507140dc3624c5cdb3c7a788afa763c1cae5f607bcd4a67872dad97e725afe7e9f99f3a694c8398aebfaacc31f2b737ae";
-  hasRunfiles = true;
-  version = "0.1c";
+  version = "1.9";
 };
 "ltxkeys" = {
   revision = 28332;
@@ -20689,10 +21249,10 @@ tl: { # no indentation
   version = "0.0.1a";
 };
 "lua-alt-getopt" = {
-  revision = 29349;
+  revision = 56414;
   stripPrefix = 0;
-  sha512.run = "94d186ff2dbaae126995eb2ee71e52145e88b32ed1fa765a6011c0d3935f19dcf41692e47699abd176f680ba8ebed58142cdad7be19526f7b8c249dac43bf3d4";
-  sha512.doc = "b7cbb2dff24692038f38e6185fbd6471a6979dfd8b659fbd972c810cb701aca59aeaa4d30c510333003819ff08921f3d57b9c43a7044827a35472ee54e3990fd";
+  sha512.run = "60ad4731ac61f9b5c4360bb3d0c6475e2abd358418e20bed29cc94761fdfb97fcf02829b9785e559ca6052a1e82ee7f0b104b166592b9fd87237679ac3caa2e6";
+  sha512.doc = "5921a3fd6846b15b0564b9182fdaa5aa62ee6897f3ea55eefbfd07f30f556633668755ee6e356dac23c9b61fd7ecf4013da8f87ebe151a2bd855c36d45f60434";
   hasRunfiles = true;
   version = "0.7.0";
 };
@@ -20704,6 +21264,39 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.7a";
 };
+"lua-physical" = {
+  revision = 56306;
+  stripPrefix = 0;
+  sha512.run = "d7118f61f0a64ccd3e67b7197240a49c841720816f9d438959413c603ecce9b332c9d253f21dbcc009839220540f046b18b4b009d3ad5f35a346d8276be47229";
+  sha512.doc = "e3e50f9994656b3f6049f40f0cb9ecce216869b439682560f9f51496fcb43b94f33d14e1b9f0f4a160c9af848c58bf2fa7e6d2dd1def46ea029ebfcc4410f1e5";
+  hasRunfiles = true;
+  version = "1.0.3";
+};
+"lua-uca" = {
+  revision = 56414;
+  stripPrefix = 0;
+  sha512.run = "51223bc90b7d9c8da149133b5fc019e968da2d82c089a6e5884cd9c32b5306c3f7e575708229b1e6e77ad2840fcb0d4b01fe1d3973478385579ddc4a2d473096";
+  sha512.doc = "462d46a84532e483f7d70a6b16bc9b3f7bbd7623b9fa5ec237b8e5fbf5254de69bece3d7a494e87c73ded77852b72b1b5ef43b7b5b6e02f1e181f82727069352";
+  hasRunfiles = true;
+  version = "0.1";
+};
+"lua-ul" = {
+  revision = 55831;
+  stripPrefix = 0;
+  sha512.run = "d8352a6f2f7b0e78a72c73c765e1e1a39987a9848753e92819cb8c384e8c1e43c9eeddedd44c300a4d43c1a8733e24dc87cf617e9b7ef7d152715cc033f70cae";
+  sha512.doc = "9068e51c26e3c751366d871c60f57854f5376e123e41d912af3d2ba340e17cc74fd7a7460ab17f939aeddff10e6f074385eca5ec6cfd2ef7a765ec6ac6a06853";
+  sha512.source = "ebb840707acbd7e2dbd6959763355a6357282b4e27b3e8d377bba6b2ed6deeda1e23362ca5c19f5591f1e98ab04b52fd2db15602e32efa9afbbbb5f7db1d383b";
+  hasRunfiles = true;
+  version = "0.1.0";
+};
+"lua-uni-algos" = {
+  revision = 55206;
+  stripPrefix = 0;
+  sha512.run = "cdb671d19ba69f6b2c7a5f55127c8f97973c9d9c962016729dcf2ff0ee8abf649acce51bc45c5ec736f243ecb56e98de7c1d5152827023c8e19af3990ebf840a";
+  sha512.doc = "5ec98605457ad145e63186ae1002f6c2fffc9bba2e512a3f982540dfe27539d848cfa05a8db55f26263fbfe60521ad7795bd6b474b6d29880046e1699daca074";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "lua-visual-debug" = {
   revision = 49634;
   stripPrefix = 0;
@@ -20712,27 +21305,20 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.7";
 };
-"lua2dox" = {
-  revision = 29349;
-  sha512.run = "24b6cf17ee55a9699077aac82263e442f1ba3e7843742baf425a4d4c514cb2f4b1ea8a4af9165997559560f2ed060ef818d3a57f71a79d6238ed29ccd263d787";
-  sha512.doc = "96746e4d0401cb0bb9cfdf7a44d2935d4e257dafb0f5099faf647aec0b385745518f160bfad8ae54a1ec018e0afcf4a7dc998cf9b7f310e0ba867bd2e6213960";
-  hasRunfiles = true;
-  version = "0.2";
-};
 "luabibentry" = {
-  revision = 31783;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "00349f5a6f5ecd5478bb718bcfc419953db4f90c9b2a70aab2e2bbce4395d189066b39cca743e5b790f588a3f2a17047a6e233258c4ef389ad6fc5338184af69";
-  sha512.doc = "9ec19b99275e3117f07e445e2c039bd504537fd470f62fb7f7f7fc428842ba86ebdbf0bd6a6be7a3b1b99100d209c6c47a9795c776287206afe331601222acad";
-  sha512.source = "628ff69779b5eba6056bb49b3bdb4017a10c3c4afd710319de9ac3168ffa44782969ed67399f8c1a945cbf77f1bc44ea33b0776a9f1f14aa2e5e29afb8cea544";
+  sha512.run = "ea46242da727c40f24fa232e1cd1db4bdaa7391aa372ae7dcb0210e2755fdfa2155de5c80a61b0c4554ab1c23a14bf286d00f07b34aef5edf416ac6b06f031ac";
+  sha512.doc = "9b4954e294173699cef6ba965948bbc2518d42158c3f80cfa5bec17c5e58166240f8c8d3864f5dda94ae325aef688db7003138ccdf3d6eb249b544baa72ec13e";
+  sha512.source = "d43a9d2024e5293966335df592451e3bd44e3f3522a06163c93da3d242b3e70377dda3612333a64e57d9db8ae8052753cebe9a73e01125b41e495c7a0f3a7592";
   hasRunfiles = true;
   version = "0.1a";
 };
 "luabidi" = {
-  revision = 52549;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "0cb391ad3f17ad8a85e7960ef11e4f0eb007fd255ed9eded40ef3fe5c81187b1d2d49c68b0411b813aae66fb252d9d1a9b3bda984cef2d034e96e06fe44ced26";
-  sha512.doc = "cabd1899682b7f1608106d6d36cfbfae1684fe84462420fbd9ca9b342c95f73750ed40d086553404f0a1eb34b56ee4026c497e42dae42d3348fa01cdc7a5c454";
+  sha512.run = "917d0d96748f2b70d368a2719bf6fdfaada3d24e2e60c97b6d412ba2cdd991a920d86a94d19136e075605095c19331e1dd37c3a059a9e8f772479ff5ab53550d";
+  sha512.doc = "92345c9f8e50eefccba39f294841a7eaff7d0328ef445106dd436ff10a994a8a9ec027c9400f8b4b1f873ba1fbd92565e21b1cf2c73d40d3468ce27ca7ae128d";
   hasRunfiles = true;
   version = "0.5";
 };
@@ -20755,25 +21341,26 @@ tl: { # no indentation
   version = "1.15";
 };
 "luahbtex" = {
-  revision = 53216;
-  deps."luatex" = tl."luatex";
+  revision = 54498;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
+  deps."luatex" = tl."luatex";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "3eac2b2d77d5d348cec5bd36fc11fde18371ad34345900384b76d06b2edbb05513a2697b36da7ad1b1a8b55bab87294bdd0fbf59b10cec604c4171a3d4520f09";
-  sha512.doc = "5faa6744ff98cb424fe4bb6f170f22be344ea9d58bd967a997c0f3ba3f8adb64d942cb2c637f77e4afbb9d5a648598832f5b129bc8c506141c0e05ce6bbb18e4";
+  sha512.run = "bffea9c260475928b1e40bda867d2dd2198f96aa08923cc63c5ba512d2490fcf1e8db686729cc04b0e62cae1dfededd13d4eeeae5ad321b42a9bf1219c0248aa";
+  sha512.doc = "044c7db9ca4ff5d212552f49bdfa36da682b498453fa5b2df40dd85cb33df9aca55ee95b997d6bc747578f0918cf7b992ef4e1394d66733865be1f814c320d20";
 };
 "luahyphenrules" = {
-  revision = 42670;
+  revision = 56200;
   stripPrefix = 0;
-  sha512.run = "f1486d23a51111023fca3771ae530ca058c582640ddfc17281a66ec055b05aaf24021c724566f5e9c9a5bd674eb8724964fae78762dab30182d8a95333293efd";
-  sha512.doc = "152f690268e3b1c6073b36a66965c84b6bc6f45050b2887b7a2ed67be9497ea7b1708cfa1335fcf296d6a2feb11924120336cd89ff3017cb7e77808e9927e9c6";
+  sha512.run = "01025f1aa9abf7fb0c06045e8bebba3572b1aad06bb6edafd916e721c8ecb295fc680bc4da968e4fb059173ed9ba8e8de72ed42923b458a8dc42de4424b6ef9c";
+  sha512.doc = "1487269c78bdef7aa626bee1c339358aea03af7df17cf92d48e56a1530b5e4bb7a5dd56fd7e094512fc3c149343e35e9e1683ffcdb8634042f26e86083f3ca69";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "luaimageembed" = {
   revision = 50788;
@@ -20809,17 +21396,18 @@ tl: { # no indentation
   version = "0.03";
 };
 "luajittex" = {
-  revision = 53322;
-  deps."luatex" = tl."luatex";
+  revision = 54498;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
+  deps."luatex" = tl."luatex";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "781346b437fd5fccd22a56d37fbe42d40197173db24960aa435d75fcf7fbafc2bea362156250cee34e1c03c8aa9ee340d97327cbafa32a202eed1af032370ef5";
-  sha512.doc = "045e424a75a951d6c6af885f952831d26cc44db785c5c802b7e88e37540c110074c4d2adaa872c1ff230bc0d37b247b0a44b9621f12e7e37f170b81abd9f7191";
+  sha512.run = "848b145ac6868902a3b3501ef0b176f9282035ae31f609d3d484c13574bcc8d55d5764cf39906b0b17ae19346fcf41cec56d3ca4c196ae7dd22f5351750d9795";
+  sha512.doc = "f6653246606be2e13235f810b7d6cfb5e89207c9bafd8bc1a5bd63a1d9d07db0a55b08bccfd577f9f2c32baf93d7d41708dddf362cc2869d92d11b2d1e6341a4";
 };
 "lualatex-doc" = {
   revision = 30473;
@@ -20836,15 +21424,15 @@ tl: { # no indentation
   version = "1.0";
 };
 "lualatex-math" = {
-  revision = 52663;
+  revision = 56541;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."filehook" = tl."filehook";
-  sha512.run = "c976e181a84c74dc7bed8512cd76dba5cae0fb799c5c3e189ad89a131e782b380efccf9d625e6c1a68b813aa57adb018e25ab763e97bf31a40e48f03503e8e3f";
-  sha512.doc = "639bcf68bbdfa7e1992e2e5e8e5ae791f58250d098e17224a94a69b994d51f5f22dc95cd7bc27d968c5bb9ee49bb17d6825c18c65012c72bfb1bdb1e8bede9a5";
-  sha512.source = "af227f41bf4da5ae22cc17fa114fbe80f3de12072d9321cdee72409443e31fffa017e5762ed1514224edd19fea8d6098ce894f4bc00d1f4c9f507c2728532396";
+  sha512.run = "a5568fa178fef7d7348a8e1b72f5671a5dc00c9c8ec59dded7da3fb62105697cb09c2cdb4f0c58fd5cc16b8966a66554cd7ba0650d757cc16377406de35d1005";
+  sha512.doc = "41f38f8e1bafbb63b7a83f3087bf8aa0bfd7d946206d07bba2dc93d99049ca101869c575d3f2c8b732f9beda719bdd08127a047700052ed915bffc88001299f9";
+  sha512.source = "c06e83d733d9d8e380b2f688c8b21db85cd3d18be8b9cf37cc0af6b9dbf279db70d2f4d12fe879c8ce2628a1966708a117be5c72bc4dd535fa8cd431f8ed88f0";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9";
 };
 "lualatex-truncate" = {
   revision = 48469;
@@ -20856,21 +21444,21 @@ tl: { # no indentation
   version = "1.1";
 };
 "lualibs" = {
-  revision = 53682;
+  revision = 56259;
   stripPrefix = 0;
-  sha512.run = "bf41a6bca45473d40f927ec019434612947fe79d70671837b2b1ac53cfc727f68e436cd52bf60d12bca5d5dd0bf89e49fbf610107458ab4078b8dfa3bae25940";
-  sha512.doc = "3703aa61ceb2fb0cc79a33972e15f1e8d19a2f597eff19b871233422b78dde4cfcba2145cda33c0352cb54a014b7773c3fcee6819b547fb6d91f499f4b464f97";
-  sha512.source = "9975b9391ead3221261494bae828b0b2e618cc686da2bf27b6d7ef2d034868a6428fe9cf274a1ae87bcc42ea6c9d898254df93b1a9d0da21b8e6fefaa7b86468";
+  sha512.run = "bd43f1752b80c18abe12fe34134c8df328e45db3cfeb7a717280bddce543c36ecbedd1c005faad72987ed114bebace499b18287767ed1f9c2fae078d328422a5";
+  sha512.doc = "19693085ebf60832de8137807c015087130705b8b90d25fe6b709f73f2cb836fee7e21fd29b3a89b9a2b31292e148b0b6f44b1f75324ab472c22269909890402";
+  sha512.source = "21aa116488a057400212e0bd2f5994561fa2c2c1ca0adc1b80dfa4a107a3b019064f6242379214b96ddfdcc12c8cf9ab0feaba883817c52dc4044f4c287c283c";
   hasRunfiles = true;
-  version = "2.70";
+  version = "2.72";
 };
 "luamesh" = {
-  revision = 43814;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "f9ae2e27725aa78c7a6c7d049d0c25f4a4fef260dd2a813a9cd6a4f49f5ef1a786540c77c88c0778c5ebda5f188ca8b62be8335d5bcf0ee1a5f22df193875cc3";
-  sha512.doc = "f25df210662af9d91229a99228a7f15bfc58510adfa2f5a91c586b4ec30b2482ed044b30db40cff0a5c70dfc70ab560367efa96bc077bf412d536e15f1e32e0f";
+  sha512.run = "22938a5a3bc612727a5075dbf63ed60be78629a72a9f9c495f611b9e33e2da2e3d9a4df2f2bbe787319ce91e1312e4f7614f95fef071fc330694004d4089a085";
+  sha512.doc = "22a8a27a6591cc74c0063c12a895a299a080302981d632048405a3adeadbd12e2f72e8eb58b94d72ab26c966ad68193a6f129dd65860a021d56edde89e5e4932";
   hasRunfiles = true;
-  version = "0.51";
+  version = "0.6";
 };
 "luamplib" = {
   revision = 53904;
@@ -20882,23 +21470,33 @@ tl: { # no indentation
   version = "2.20.5";
 };
 "luaotfload" = {
-  revision = 53652;
+  revision = 56269;
   deps."lm" = tl."lm";
+  deps."lua-alt-getopt" = tl."lua-alt-getopt";
   deps."lualibs" = tl."lualibs";
-  sha512.run = "0c61957b2276d8657ae5ab8e5274245ef6840b2258a2225a04aef269a3f54a98b6ec6206d02008973a4d1577df8a2234194faff033fcb8f1ca4e0341b2766fd0";
-  sha512.doc = "540cb93bee1ebe59eab60100e37177fafc83243c944fc87834f60cd1d50c0f6af466e1376aa5cb460176febe0f937f93808b6d0d20a096b344f5b8d48ff4cbc7";
-  sha512.source = "41e183b98987423fe35105b2b6b7aa0dd3784daff26e7e1101b1725689a7b9ee518b1f2c55e2f4c87b1332ef833cfe287bdedbd4d23c6065f23e84c620302087";
+  sha512.run = "e915714444f7ba08d0e89f7eb32664604b4612e17e8e0111f69b98d363463a2d6a4aebcdb63e3e6368f8c84b4ddbf44c60c20f45ebef1b500e921c821ca1cf79";
+  sha512.doc = "4f228bf21cb6b6470006fbab8b40b5c17b80d45121f5b0a485b999b705806499fe2c466baa2de9a57bd033268103b67fc10fd9fbb4a0a8ee310b63ea76fcd00f";
+  sha512.source = "6d3031b65304d40805895a810b450119af78e174ee8f883a4b3a139ac3e8b569b0108ff4fea3056236a9b43f91549512fc3bf07a0a03f4d122ab7f1fc941d710";
   hasRunfiles = true;
-  version = "3.12";
+  version = "3.15";
 };
 "luapackageloader" = {
-  revision = 53211;
+  revision = 54779;
   stripPrefix = 0;
-  sha512.run = "4e8be545786285cfea52ed31ec3eee7d69848d2d400a12ba723ca1b30daa214b7e2a8bcdf562cde6c7916c9b8ec6a3b04d866f0b8521eed169de8222a27a4e11";
-  sha512.doc = "93e063959a82368f1cf603c7b77b591b236ec95dca3a73f7ff0188cfc05462fbb4de53103b3b3bc0d241eb1efc43295a4870c52702df506a1adb89cee699ed83";
+  deps."iftex" = tl."iftex";
+  sha512.run = "7f2558dc265746f143520c2c6f3bf2ed05ac8c54988e573519321a7fb5a2a991220d0eb8906893f77964dc01f0e3f16b783dcd20f809042a11d29cd137f557fd";
+  sha512.doc = "64719d715fc98bc09ab17db5f2053ea3e34d703adda6677f50ffe178a974230e8a03a9019b995238d073580e1faa745e655a7207468965ccb9f67bfccb5b5a49";
   hasRunfiles = true;
   version = "0.2";
 };
+"luaprogtable" = {
+  revision = 56113;
+  stripPrefix = 0;
+  sha512.run = "68ed668fcc84eddad444edfdd18ede2c94ad81fd61162d62c5a052fabcda6e5bcb519d6eb473721fc2cc090bb7f642dd55ac35b9f1f0a682b2fb8c480a0a1014";
+  sha512.doc = "d91bb2fdf9851b1aeb3dba0b5eeb75bd1f9aa8c806fc3a99e063af7f56e0878152630aa18731c1c40aa00de72a0d192981a272d586fb25f7a19d14b4fc25b5e6";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "luarandom" = {
   revision = 49419;
   stripPrefix = 0;
@@ -20916,16 +21514,17 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "luatex" = {
-  revision = 53977;
+  revision = 56291;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "85552efd1a47071736ecbf93db6b569a7daa2cba87a1ef7f381cc808c893b40e53b3c2b405648253b83b1883b9a8e4aa8aa5d1782bbe7db79a9f223531707501";
-  sha512.doc = "c844d4407c9f31bf43319c64d4f6e5460737423e32edb7ded2824615eba653d82df793fabcef9ebeac7fbbe61efec9582d463cf1210966b699ecfe9171deb29c";
+  sha512.run = "4cdaae6e710d23c45d7c5a084a6710d3f442409359aa321a82cf133fea1ae508a7ea6f7d24629216d147b403deb1fc977e35055825f4414015e8aed8dc261b64";
+  sha512.doc = "8885b20a4fbd10b540fedcc65c07db69e2c3cdb43068d8047c5a1d008eab58b9db0d64d682183ad794a5cfba407044bf449140eab2275ced1e50d8cbb3ba4da8";
   hasRunfiles = true;
 };
 "luatex85" = {
@@ -20948,22 +21547,22 @@ tl: { # no indentation
   version = "1.3";
 };
 "luatexja" = {
-  revision = 53983;
+  revision = 56594;
   stripPrefix = 0;
   deps."luatexbase" = tl."luatexbase";
-  sha512.run = "f58bd79f429be61a69883435ae6445514e5c9a4cc936bca14e5d26da8ffd5437137a8d14b6d591e385a3e8183ec3248c9563b51dd3526554a4cc3500702cb708";
-  sha512.doc = "53aec90f642acf910a14cb5ca2b04cd1187b9094f01106227342ae51304585d01ec771551d67b2c916d05fec2179bd9bf33b182c5f5ff8c328159571db4aa947";
-  sha512.source = "8b8137f7f9db6b8e45b029f99f93b8e1c05d47394438f0de2f859e47c9675a6f9ada56489c2ef9e9cc3f51a20431397a4e4ca45e96a6377e3b1fb43c54496e11";
+  sha512.run = "fe1dfb500f521ed9d4483a1d68d04809ccf522f22653a96bb986ae5cf12db4e83066c023e9eb428f773140230e3e465daa0ec43d330c4626e59cec03719c737c";
+  sha512.doc = "ff4ac33a13a07ecb5f12fce341a4d722a62acb85b6ac33171bd3b573c44cd24af0e296a24f44a3a6f6c8a6a01071c65aad1865ca2b42c27b47c3c21bf4e6a2be";
+  sha512.source = "7e78d256ca58d27fe0b31905c8345d99d637910ad32dc4beed8f0d113af3bb890a800103916a748cbb143ef06c7bda47da287bca48b473079e753fad8c04ef29";
   hasRunfiles = true;
-  version = "20200301.0";
+  version = "20201005.0";
 };
 "luatexko" = {
-  revision = 53824;
+  revision = 55969;
   stripPrefix = 0;
-  sha512.run = "50408947cdec08f41d081829f4cebd832aa817c233feb1fafa5e88bf38386232c2d04485e7feb8ea3056a0d0cc057975da2ed985bb485533f05c4cf7e56f6fa2";
-  sha512.doc = "645725cb6fae45627c9524ff45bf2851553764d0c1ea5fa2c6024aec1f00963f9c5baa787442bfb1ff9af0b70cd63ab4aada40dc32b11274e19296e9eee208a2";
+  sha512.run = "910ffbd2c7da4c3279cf2aea22b817f17b5b6ebcc0c7ac91e6601b7de6ec92872a2ed012bdb13791324c5a068c33f0cacf0429b968542761b63e60539afd14c9";
+  sha512.doc = "200ab2e4b8365866e694187d5c6e3a111ea5a91cbedbd5add6b5cff902bc230a6bc55ccfcb70bc1f0e53791f0b565cebd44f7874acb422bf9908ca410977e4cd";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.9";
 };
 "luatextra" = {
   revision = 20747;
@@ -20984,28 +21583,28 @@ tl: { # no indentation
   version = "0.5";
 };
 "luavlna" = {
-  revision = 52682;
+  revision = 55391;
   stripPrefix = 0;
-  sha512.run = "048347c596056e587cf0785359ef3dd1ac1b86929be10ba1f8471fe53054e75cb815fb67d61fb15953285c240e81fe8e48e72518daedc6943287f1d518b5c0ee";
-  sha512.doc = "cc352d3acccc440d682fafe4978f65e6395134af29f9588289200992ecdba1c6bced1000aa1f20065feb2c6f0dc0db4de868898a22cc2fe64deb07980f5f2194";
+  sha512.run = "de10f911bc608614c6dd35872b093158faa63e65ecfed9470c6c2add5d33486855fa7098abf33a083529526dab905405ab0b517ef6de941d7ad97c9d93693a32";
+  sha512.doc = "9423a2a4b73d2485cf4af1eac8c8ac56eee4542bc9ac90cd598ec32330701be5d56e94459ea7da5330b2f88c3931b65c5a92bdcd53693c10383b01c72f446b82";
   hasRunfiles = true;
-  version = "0.1f";
+  version = "0.1g";
 };
 "luaxml" = {
-  revision = 52137;
+  revision = 55891;
   stripPrefix = 0;
-  sha512.run = "95279ba444644ff60cd0aa812690a5f60aacb4c921b9e3fe1b714f8574b0b01692cf8042fdf34a044e162b7e231bb31989e256c4a4696f1e3358df8088114707";
-  sha512.doc = "b5a7fd96f95350b8b7c781d1154ca2a46cb22b0413165f599e5d5614b411a1f1e5ba236862270855bc613e3d9d4503d9f9460fadd7694f719f8bac6d354fc8b3";
+  sha512.run = "5b380b50ae7d2e8a96e23def259f28696805c280629234e1c88172ee2550f78b3919f1895be60df7abfcf46ca7a33dbb413b4eab0418070a5072982a7c4324ca";
+  sha512.doc = "adc6cc1b6b81219ab7d1dd4a45c8df4a6103f33e0ed5c93312e439fd0a953122f6e3df5ff3a2202970416c9db625078a6488954cbaec22189a757f4a45346f69";
   hasRunfiles = true;
-  version = "0.1l";
+  version = "0.1m";
 };
 "lwarp" = {
-  revision = 53847;
-  sha512.run = "a22c27a141c768d1e6e50fe847ddcf4b9fb7c6010eb3569590bf6da200beb2112d133c71d6cc38ca6a3e79558162fa5e3cd610679a3879c01096b0a09f1e2bf9";
-  sha512.doc = "4ba898d997ffad75225ae9dc37f24e9458f6e1129509131bac328587b3243286a7444d782c3905bb61eb0d9db73b8aab282fe5d59f10475e08f994bedf6ce801";
-  sha512.source = "a6148d128777973e3712e0e05cce24005c82d2ffd9d5efc1217f73fb13d0773aae91adbd7e1a14db90ef9d19114d415cde92232b3373683a1736f5db823dc8e1";
+  revision = 56584;
+  sha512.run = "e5986b58e1a8629310a9b9bc451ad65c37f94c2f63ccddcec35f8857489b364cf90c1bbd410011ee24eb8f4004658e099b940d54fba6ac5673d55de67fbf40a8";
+  sha512.doc = "ee5e8ef3feaaa70941219833997634d00ef01d704211ebd81e2e78a472800423728ad8a2b111aa49a489fae86ddbae17c445685fdd4c34f1f49782e5d791c4e2";
+  sha512.source = "1235cb6c13122595e5c94e2a9b1bab193478aaf782a08cac9d97cead1fc02528686625cdbe7cf239038a978adbf3c569bd51d1db6f6c1866cc92133278593436";
   hasRunfiles = true;
-  version = "0.80";
+  version = "0.892";
 };
 "lxfonts" = {
   revision = 32354;
@@ -21039,10 +21638,10 @@ tl: { # no indentation
   version = "0.63c";
 };
 "macros2e" = {
-  revision = 46026;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "5bb8ea01d851272306a4d9aa1897d879eef53a1f7262c83a8cec81a7e00334a495eb89926683d42af29f38aadfd1461893ad7bd72cae3993f1ea63a7475dcded";
-  sha512.doc = "0a089e411cce517581166b359ff092b7c98d09502afc83a4935269ed2520ffbb044921e5432238e999cfe85c72371bf8a45bedc07c6ecccc14cba2f4e7b6b6c7";
+  sha512.run = "4e187cb2c5d6a2c165e7f74d8234dd5a609ea1462dad0a268bf17c6e21acf22d9c6f54a53930dd6678b1375cb8878fecea22f4f132a8892aed7387d29fc239c6";
+  sha512.doc = "ff2e1118b718e17a4716a84bea265acfe47f2178ab6c0a44d39e0320ffd6f0dcce7dffa37eddf14a7ea41dd4b3431ff7c102f6c3c6092e9562fc60de19b6d89e";
   hasRunfiles = true;
   version = "0.4a";
 };
@@ -21098,11 +21697,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "make4ht" = {
-  revision = 53514;
-  sha512.run = "86578903b820e3011042dfbb6d18a436cea35a780691d3aa82f468518f7666fad343d6c91c91dea0bac47a06b6a812ca5dc95e474f5913f305c22adc2636d422";
-  sha512.doc = "ca138ad89fd6b350dbb3fa6b22649c3b0ff2bb802e5273f772765b6b7fdea4211eb41ef3a679af2d9d853578a9256f84d492be7699f4b5d33660ad0d59219bba";
+  revision = 56291;
+  sha512.run = "3a66f4aabc6320f8b58246356c224383f9cfacf0921b8d951376d94be9f0293d9f72cff73e1ba41326d0390f0201ab73453cfe7b45828a6533a8fe7e49dea988";
+  sha512.doc = "0adb783943d447f5b8003353b104fb0c336da33b28dc3809d75f3ffdd0fc30536443e99a1749a1af28e46149891db7d2e46e0ebe4b7ea2d4093a77700ef4bbd1";
   hasRunfiles = true;
-  version = "0.3d";
+  version = "0.3f";
 };
 "makebarcode" = {
   revision = 15878;
@@ -21226,10 +21825,11 @@ tl: { # no indentation
   version = "2.7.5";
 };
 "manfnt" = {
-  revision = 42428;
+  revision = 54684;
   stripPrefix = 0;
-  sha512.run = "6d4282db5f5baf92e6dfcde9b8a1e78027a5d6bef4e27b8ff35741fd8bcb35ca0a0d4e3db996ffc9a2e50868b1f849f961a4d0179aee0f580b33d79972656d4c";
-  sha512.source = "1f8b2acaf18fd350ee0359acb4771245eb3d5d750f92a637745ca01f4100be9526ea323ced82c6a6ff71eb6b9dfdefa2c44b21f5ff9c15f3f2fc68536f5f8ad3";
+  sha512.run = "492dff2a46b9c0e89b8e29149546dfc736195f7f264b156fd91f4e8d1396f43b149948df656c7b148a2d54064fba89e033179b31eeaf03d0037875e36e9b4244";
+  sha512.doc = "469280a4576d3b8396f310ba627f5a69f8fe47604f39562321d9b3b7d2f3e81f8d2c0ff7cd18ae4a93d9125df0fba79744edf0b30d036916a8259dc39adbdddc";
+  sha512.source = "c90ac97080e2c0c767673f7128e1850427218bb4b05024401fe37aae71ae65f1feae2e11301055dbe6b74fe56e7b16bee4ba1fe0f1a1defbc07763fc5f5cdeb0";
   hasRunfiles = true;
 };
 "manfnt-font" = {
@@ -21254,11 +21854,20 @@ tl: { # no indentation
   sha512.doc = "e8d9c687c1b3525c5e4d218a380781f1b2e7d512b053a583b00c97f0b7eefa1202dea310454065194039841bf8763acc2b0c4712ca8d5e9d31b57cf03c50b928";
   hasRunfiles = true;
 };
+"marathi" = {
+  revision = 56099;
+  stripPrefix = 0;
+  sha512.run = "4ceb6ad6392742da2bf2b6a2ea5d909c5d12793586da4626b901132c7e2cf2174e159990318ef96ef82c687a7ee101a17293484503ed51353ce6afb1b1124d66";
+  sha512.doc = "43d3a5d4b9abe7b35ed2dd0a3ce9352bbd492e7e52b4fa5dbbac53f111f20c310f5c6703d78980faf0c997a00a4cc9337a0e5a0ef3b69533a1aeecb4575d751f";
+  sha512.source = "5a1e86466d03541305827c1dd31bc178099adc47ec23082b82a5708493a16c3a2c02291db22b8bcebf94c1db6d107dc4073ad6b8d8854201c6def2faefaea03c";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "marcellus" = {
-  revision = 52367;
+  revision = 56016;
   stripPrefix = 0;
-  sha512.run = "dbb5f27d0bdcc0ac304a45b06afb800c002b299cb70f86fefcc25f9aee288c2cf4eb8bbbc37eb97d380bf1d1e2371fa77c196e87fbb92c22d2cb248243dc35d0";
-  sha512.doc = "a9c4fd90385e9ab3b39e4744084d2730dabb4091b09270855ca0d1bbd21b3f0518300a4f2ae0243121f5174f3a491a460ed6c5d617298bf4392a23368cd57f8f";
+  sha512.run = "2958f2c7aaf431dd220ead4c6026ee501d46da5a98274a14b15215e00bd0d43e49bffdde0a66149c8c1d0a6535b3661d728537fd24ada2ef3e286d485856f755";
+  sha512.doc = "2e28359a2e08837e2bc6c1076caf5e45b59e69bfe0d6ebf8763780642e1454a481b1cdd635f8dc804b8e75ed3251567bd895ec3eaf9d523454b65a5179393d6c";
   hasRunfiles = true;
 };
 "margbib" = {
@@ -21280,13 +21889,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "marginfix" = {
-  revision = 31598;
+  revision = 55064;
   stripPrefix = 0;
-  sha512.run = "9b9649077a93599c653d0e2d46e6814eb378ee8d2b531e2b810fcf0a6b698899bd13041d3b7f4aca5039bced2eff4789ad21587ccc596f70a6105c2efc89ba59";
-  sha512.doc = "fe547fa6bef7d2417447e4261fed0b43d2f88c944c499a55c5959a2e7d9e169e80a06c9e191edd76f1ce7ab4da9834b8b216f0881d93095e9c41ba5b7741d845";
-  sha512.source = "fe914d9e7094f64f3d94969691e02950fc10a69c7237d5ea42158a1ffbc983cce768873ea734d1def8562ab70294af0f13bb1b9cd80a2b1526394f2e151c3b31";
+  sha512.run = "70dc40b9823cd82a52a7e55e5af47e5b2373fd7cf16567f6eca2bb886d3612473141435444b538f81ab9467d1b3e5ba04424b1ca47d95cc0869dea02faf82b03";
+  sha512.doc = "16ab654dd8957bcf37351b7c766b787f27baddd4e73a6a4c3a07f5b1486f5ea73c9028675b5830b8dc1224eae29f50d61bb579aeecd9af4aaafaf78259bca900";
+  sha512.source = "5e94ffc102902ff040162f5d9fa39f1d812801d0413befa5db7cc2c23d91ce24d47317f411e64f2fb2e22fb782c9cf1f87780c2cf2eccc50214b502402032eb3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "marginnote" = {
   revision = 48383;
@@ -21298,13 +21907,13 @@ tl: { # no indentation
   version = "1.4b";
 };
 "markdown" = {
-  revision = 50906;
+  revision = 56414;
   stripPrefix = 0;
-  sha512.run = "c17f37998b3623bdd94f074d4f47fc871e8cbf3ffe961d1933ed2113eb90219cd74105d5e35675597376b64a854e89eef07c629335079a9b131f827c6839713b";
-  sha512.doc = "34562bf94ae2a4c9dc415b8c4213b6f81d1fab8e92d1b6da057997c6e32fee652fbe7245bc2c7b9bc188bcd9d0b64c7a01eb1795874df473833730a551980cd6";
-  sha512.source = "b90130e216957b4612283e3316192d3e0118740a9d43cb205bc429e008832054a23818eff2bcd3b23f12a3f27fe3a72f08e361b15c84cd6efd13173909c61ad6";
+  sha512.run = "892bdc84562db375dcd5824f43e93466ca1b833de08ffa247e5e2fc477f6f92832e51feeef8056aac2d5d895e080eb1bff674fffaa0a3d2da8aca3fcb51f0ae1";
+  sha512.doc = "b00203a7abce01e87a9e54b170bc68bd19bfa5ec346d37ca8805150013d1327b038be185753a0471574b88c1a4d572bfdb7e2ff6bd7cbfea74aef02b489314af";
+  sha512.source = "b8936aae408dec7c7a5d286e0c0f52f8d3d36fbe6ac70da50a3921ea4338689d8f9633f9b22bef36a428ca8cbbd4fc0ecadb98ac9070f3afed02d8ee9ff67163";
   hasRunfiles = true;
-  version = "2.8.1";
+  version = "2.9.0";
 };
 "marvosym" = {
   revision = 29349;
@@ -21340,12 +21949,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.43";
 };
-"math-e" = {
-  revision = 20062;
-  stripPrefix = 0;
-  sha512.run = "c51c61baf8a8189fc2facc065d2f80c75026f5dcca8ee79c6d72ae9d71f0dd7fcafd7a230041db55c07e065838e865a56129c79b502c5f65e41ecc7b03e1e5f8";
-  sha512.doc = "8f2356c61cf47332ad4b62f2065ba7f16173aae618e0d387c6b5f9f97a47c6b3fa14deba24e93ab7b359571ce732023e9b062342da0effc16aa6ad13fca71c5f";
-};
 "math-into-latex-4" = {
   revision = 44131;
   stripPrefix = 0;
@@ -21454,6 +22057,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.6";
 };
+"mathlig" = {
+  revision = 54244;
+  stripPrefix = 0;
+  sha512.run = "1ec5761aded23b8ebd4b9afece00ab1f3f9a18886edd12ffd2a2e0b5b9fe9adc9a4ee6fb629933f36f6a161c76e85b54e3d9855871c3387cb0f70f90194b2615";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "mathpartir" = {
   revision = 39864;
   stripPrefix = 0;
@@ -21505,13 +22115,13 @@ tl: { # no indentation
   version = "1.13";
 };
 "mathtools" = {
-  revision = 53442;
+  revision = 54516;
   stripPrefix = 0;
-  sha512.run = "c7da4d6606302ca3d569755f2cb532f93db37982113b8b632d486055ab08c9bbd1ffd0d285fc868907be3faf685f7dd3bb9b00570e75aced623a48c78c9f7937";
-  sha512.doc = "1b8bc4dcfb70575aade3bfb2f110f6561de4e4ee4ec0f39fd6c2726ded19a455280e131ffdc35840c3230a466996a5623683e94796541de3ecae7c58bd7b7f27";
-  sha512.source = "b174478ebaa04ae0fa28c78af928c3cc9bbc74939da3f54eb7a90b2b2dfbfd7f96ddf3d422419b25c2894f44b66e720b0495ef46a5d04d7f102a1f4f19f16028";
+  sha512.run = "276ecf3400236fe4020898aea2353edce98cc22335c266063c090a9f6a0de5be46c024f7792553eea4d841c8f204f53f762f3accae0c94dc0d0b1d5f40c3abf6";
+  sha512.doc = "05e06b542d600685a875065a982f542dc75c21a12d6820a9efe13bd68d36bbef092b99a30823bb32805b6b7be1a5f62ad7703aa84c6859aa23e21ea377e8931b";
+  sha512.source = "832af9f1a2b22bb8d4a6a7c1bde78fd481ae6b7b43a599d081f8b50d85451e451cc8712e415b737f62aab1f9db58fb554df72ca874b0e95230203cc4cc317ea4";
   hasRunfiles = true;
-  version = "1.23";
+  version = "1.24";
 };
 "matlab-prettifier" = {
   revision = 34323;
@@ -21523,10 +22133,10 @@ tl: { # no indentation
   version = "0.3";
 };
 "matrix-skeleton" = {
-  revision = 51823;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "2adfc8591ebb043b9b962167c4cc393d5c5e8ab2587c88407530fa8695210800b2a2ad0944d43b12c9cbf2e1018645d3c32fbffa4dc480d287a034b2387bbb68";
-  sha512.doc = "768d78c3b5752f04f1ba4c45b0151659ffe5de91d976abb7b6a374b18d148890a7edf743215f263c6cee08506ee10725b8a1bee786977f998a546dadda1494e5";
+  sha512.run = "19c2f1b0fedee30735177dd509d312f128f44943ff6ad15574faa9ff2a9bd0c26ba7d5cfbbd11f3caf69d8c12a4ac3adac6ff83232d2ecde6858a860e8140d47";
+  sha512.doc = "645a4e02d88f9f4e6dde2bf4d8cc4d5d0cb4ad321f54089874e1dac44cbef13602356f5bcff68b982bcada21ac985abbe4a78e2d93e3053c511eba6e95569e2d";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -21571,12 +22181,12 @@ tl: { # no indentation
   version = "0.4";
 };
 "mcf2graph" = {
-  revision = 53550;
+  revision = 56217;
   stripPrefix = 0;
-  sha512.run = "39324ce41fd8bf3f6c478533bb96f8c743d183754e28ab68f431fc74b1e873221a81fb782ef5f8b897dc9f929e19b41e617d042adac54d8b3c1c3b1094dbc3f0";
-  sha512.doc = "e005ebab9b4ccbd6766ae91a59fea1be987ce290c56569fe754ab0ac4fd7c68046345704d7fa17e75d4b3b5ff361ca907c34965cb6eff26549909ef55804a145";
+  sha512.run = "4905ad4033c29884811f0ef2da7da18be259904f41fda3f6d3145c7dca3f490ee317faffcac30a643ee04465ce3180025e8687dc878c713fc1623e341e95934b";
+  sha512.doc = "65759a94b05106edb4cf8453b47694c8baf4bfd68b7165bbbd57979881384e7a0862d4d14b8d3650e7a2dafaf46744059ee9a393f53f67565b75396a7b532209";
   hasRunfiles = true;
-  version = "4.48";
+  version = "4.52";
 };
 "mcite" = {
   revision = 18173;
@@ -21639,14 +22249,22 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.05.4";
 };
+"media4svg" = {
+  revision = 54773;
+  stripPrefix = 0;
+  sha512.run = "84a389afeec8e7557e6a75924ed0ea1adb383f9428488fb91e1a02f9b2e69086c5231b0038c5cbb6b22e5386313a62f5a8e57cfaed0bc35643884b0458a6322a";
+  sha512.doc = "b4ddc110715602c53e259c0c534a9ec6b32486354200cfafc9904d8c48e18a68e7a26b7d70305397780805f207bfc37ffd6442155446f09aa620acdfa1774e72";
+  hasRunfiles = true;
+  version = "0.4";
+};
 "media9" = {
-  revision = 53573;
+  revision = 56312;
   stripPrefix = 0;
-  sha512.run = "087c7f30c59645c06c7c09d9e48294f04a078baa1fd4c955ac4a7fcdfeab6e4ffe71a02c3ad77729bdf7bde16b15c940f38faab6a4a29ff594fd0a3185330e65";
-  sha512.doc = "ff27d8f8c4468cf3d6a34b8f9e677ec0b4a9b1765dd3c6d216e2fd2cb0b0fee09ae77c2237d6a236758ea6bb9c6250ffce49c282276301789a8026ca820f56bd";
-  sha512.source = "e281484f1dabfa99517810989492b1681327dc9c30d993ad0e9db89e1b4e64921a6a0b5a46a86e48048a7fa96e38eb16eb392e5f7008aa5728669e00c47e5e9c";
+  sha512.run = "b6d34fc48fe31231851cfb232944b897b2bd7e98869e404f1372a830ab3aa3879da7257a5536206cba9c7525690ca81c5ff34406fb239859ecccce7910f12d44";
+  sha512.doc = "62437d99b93c0141fe98b6e7285da3d578c788adbb797b9f6d112336c7455a090e20b91885adb7a634edd5222eb977adc4af00402399a7f22463b4076e2389d4";
+  sha512.source = "6b5435e80566ce166f8414e88253e18786886ce39a01d4d42668922b0e3a841ff5c1343cf66ff307ced039435efda91bbd5bbd9337c2c566e68d710010fba392";
   hasRunfiles = true;
-  version = "1.05";
+  version = "1.13";
 };
 "medstarbeamer" = {
   revision = 38828;
@@ -21664,6 +22282,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.6";
 };
+"membranecomputing" = {
+  revision = 55918;
+  stripPrefix = 0;
+  sha512.run = "78cca23fdfcbce0fb0105559966c88fe9337148035721c803174c828b94a11ca74978125f94e06904e293d680e071a97c48405d490d785a155aba98be71a5dc2";
+  sha512.doc = "b41ea7869fa0c1bcd2bcb4ccc305b6af1ba3c8dc539cf5d21bc48fc7123d70e1c6945ef06f18eb8b64d01748bffb64fda0f6596e7683104692698fab496fcff1";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "memdesign" = {
   revision = 48664;
   stripPrefix = 0;
@@ -21679,13 +22305,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "memoir" = {
-  revision = 52879;
+  revision = 56572;
   stripPrefix = 0;
-  sha512.run = "675bdbf5fd7843e44f747f720fe5fd85cead9b7179c5e3ca2a0daf14986eae7b57503a7ba6c2046169c3738ef2670aa0b013d8b1e9219834f4a85148107dfdbd";
-  sha512.doc = "a1ed8ca63f64e27fedb42c02bbfb920f8a31be0e4eed4f2fcc06c02db74b36b619612e6d721a73b453f82873e6da27065a91ead1444f4892105bf5d9aab87a06";
-  sha512.source = "a99104d5a94d53a038fe1dd771de900d4103dfcc46c4e8abf58beb49fc2e775ea190ac0be775eebdedf72d877d9e69d5de49e9446e08ee08dad85e3bbf6e025c";
+  sha512.run = "968bb181532e93db167996763b29ac5fd35da9a09b102ccce1ca24a91bc6394f95720069380a641359b2524543d119caa02c5e58a531e319985b6f90c65bf758";
+  sha512.doc = "bf606654a024cc9b16aab0727f88eb4feea97c26dbed99578fc94dc2d3d188ccf3b5fa656f5e6e2d060de42df6a2eda1c24172f4b3c3a2520794f18b80bee962";
+  sha512.source = "a3988ac14f32c3ffb480f76508c7cf7b43f48d744a86c82f25111b962f81ed19603e573ac722b6e15e95ff8c00dfe29ee7dc0bd5842957b914f9d197f107df26";
   hasRunfiles = true;
-  version = "3.7j";
+  version = "3.7n";
 };
 "memory" = {
   revision = 30452;
@@ -21736,6 +22362,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.994";
 };
+"menucard" = {
+  revision = 55643;
+  stripPrefix = 0;
+  sha512.run = "2cdbe2b8acdc12e4fc0b7d8a93afacd30ea2a8bef6a3f1766d219227e77cf06d26f1fe24206f15dbfd6d0a7507780955060df1056f14cc546e9a3c781c36f307";
+  sha512.doc = "0133f249cdaed1bd565047974868953dce96c4b9ce143cb8c1170194d0ef1b1e6d2e4088004edd831ae0ee1f5e736a1a297bfce75c1bd4b600b3b14a270e746c";
+  sha512.source = "d493d78656919b30822bf5e95024b3a85c8912936d2c7835af1ecf50eeb04c81e6262da230241c9bd78f0ca5073a1a4cfca4bcb43ef528b8623f0fc21671d38f";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "menukeys" = {
   revision = 41823;
   stripPrefix = 0;
@@ -21745,19 +22380,27 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.5";
 };
+"mercatormap" = {
+  revision = 56060;
+  stripPrefix = 0;
+  sha512.run = "552c0fcb0eb72d55c51a2e9e4d055cefa27859d8e1a4410934fbbe6c139b4ddbad7e2444974acf4035fb29cc4bc8c3f76d33ef6c6e73e91e57e4225c102afd9f";
+  sha512.doc = "446be6f13150ba3490890b528fe04c8a8080213aa6a5b66fe61e3e58ea4fc0bd03581aa96b0ec355c5ec725187b7b681507f961a9b29350cf07bc19bd2c0fdf1";
+  hasRunfiles = true;
+  version = "1.02";
+};
 "merriweather" = {
-  revision = 52380;
+  revision = 56365;
   stripPrefix = 0;
-  sha512.run = "58f56dded4abe3724411d3c46e338fd5f7fc2c8ef9788939077981503383783b005a7e691478621437b158738129a7dcedaae45b397e1605805beff04437ebbb";
-  sha512.doc = "54d8337ab007790d300ec6c9d8c0f24964693863bad3057d1f473225187b7c6b7315c3425fcffff3134cf8fd96d65d6d4311a9f4c6019011fc8c2e11f8ceec76";
+  sha512.run = "72f7dd8c8a8055a4ef953e459188bf2385e6e63943d425bbb69b128e3c0a5277362bb3ebddf38225c20e480ab2a6d8d7b413a0db1d4ad7003f855ee6430266e4";
+  sha512.doc = "d67a277eaa4e4783d9014ce5d8fe67f7c7cc17e04474150b1c5a9df13d894ef7ddecd599464a68aad95ac17393b1a3ed0bec6fcab5aee0b7c53c89c8674032fd";
   hasRunfiles = true;
 };
 "metafont" = {
-  revision = 53585;
+  revision = 56291;
   deps."kpathsea" = tl."kpathsea";
   deps."modes" = tl."modes";
-  sha512.run = "35013e0bed6fa909f25ef74210986c3010b0c8de51975895e71c532a64f1d262324cde90f6fb2c956dc8efa454b14c5872bb9b3b91061c31a007dbadbbf59eba";
-  sha512.doc = "5feac4038689d6447150f7dbe1a6309b5b80e0b960317771560b1d5a70d9a56e52cf56363a4107b5adcc9d95cbdee4044fe771b33d2adce53831e1ba26508020";
+  sha512.run = "409e78cb0a682953f88c54083d6def5c4fb14bb09aeb343997f92bf9629df9e20252f35986e56515034948fb2f4087e9b02f6a7375dbf631076d5481d815fadf";
+  sha512.doc = "b9db3fe02e05e5b899f21476084eb54a4285ca19bd1d48464eb599163756fe1bed215efd04173fca0e235d806c83c0b29ab6e1f47de8e4c29250ec8c38fef818";
   hasRunfiles = true;
   version = "2.7182818";
 };
@@ -21793,6 +22436,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.00";
 };
+"metanorma" = {
+  revision = 55010;
+  stripPrefix = 0;
+  sha512.run = "e9ca6b583cfc64ee78abdfca2520083dc231afd7bcc0b1b8373273c23da3f3bb961bad04d752cca38113d3a4d8e1ce54b401b96ea29e00e78be97d73bc528b4f";
+  sha512.doc = "3750e580e3d7d0d69515e0de7a88a161cd8e7092af41be10fb4092cb519ecfebfef900e691d0c92ceb95df236cf040b2a314d54bfd8a6f7a09cb3c9585f15a32";
+  hasRunfiles = true;
+  version = "0.5.0";
+};
 "metaobj" = {
   revision = 15878;
   stripPrefix = 0;
@@ -21810,10 +22461,10 @@ tl: { # no indentation
   version = "0.91";
 };
 "metapost" = {
-  revision = 51290;
+  revision = 56291;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "a22902373feb03ba91fedd50274fc110bfbc5d53a016d18a5ffea87946db7f534f0d68c50aa28292ce0a8ecec4808541fcbb4ba94ca3a1db52232c59883bac65";
-  sha512.doc = "ad46b27fdafccf2b6699dd64aca10a7f94916719d13a10bea0c3359577cbaf66324084777400c7c8ea531d911f0529bf7be1f95cb80d187d9b1a2b97a5077853";
+  sha512.run = "a1d4f231a7f6e2e0329e5cbac27dc7ad65992704018848288cf3b8943ff8dec154cf76f6ffde081d18283f73438e7c7c4fc41569651d0c9b6218b2f5490a14ee";
+  sha512.doc = "f3a3c5f6afe186602b7648cad5dc0874df88a6b5c847c454da4088efe3a240dbf93aebd9780b9aec37ac9d5c53e6af30b5d69aa00ab96adfc6553573692f1b21";
   hasRunfiles = true;
 };
 "metapost-colorbrewer" = {
@@ -21830,13 +22481,13 @@ tl: { # no indentation
   sha512.doc = "2a3aec80b511864878e07ff973e17ed4fe1aec692c7e6983b57dde586aa19500cdd373687b0e081dc80c8584f116f0fa3de7ed4f09ba232eee8adce5e998c954";
 };
 "metastr" = {
-  revision = 53700;
+  revision = 56246;
   stripPrefix = 0;
-  sha512.run = "c7a99993dbc27d883a8d1dc6e1c95b64db6b173b534773c28906966aef4f1036f27142fc04e927a370acccd02f16d139ee10f0cbdc649bbe49474c475293dbdb";
-  sha512.doc = "fccdb834bd22eb214eab42fe18afa3b7106099e3e589f3c685a0fb36c2226bcdd73ef5ca46ae48bc692e9d7b5868b8b8c263c3b02c796688466b7a54905b451c";
-  sha512.source = "12c5cd5c449f211aa6b047a19d88239d91ccdf73ecd7dd7d9493341fd245a5e3b5d3fd089a3b5c0d3d5f904cfaba5f4b3e821021e667da4d8046535da57a0619";
+  sha512.run = "fb3a0484636e17b763c1229eee4736a13820a852d977b11d9e8672e08a8ab2f9438bba0ed53286dfc5b1422adef1cfc1c393d1eeda5d3172848c051d6aacd211";
+  sha512.doc = "367ccc05eb31c50519e7324093759d6452081075d7e9435cb9e37e9787fd35666c1c18c822bfbff2b6dba0b312cee727ce8b7fa94ed627eb439c3c00e5b3d4e6";
+  sha512.source = "904c3cdfcade4637a16366bf511094f4a33cd2614ee3f47bcf4cae7c2ffc0d0758633a8ff556ef9494eddf76969b235ae599e1df28bf9cc7537ddddfe33db157";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1.2";
 };
 "metatex" = {
   revision = 15878;
@@ -21889,20 +22540,21 @@ tl: { # no indentation
   version = "1.5";
 };
 "mex" = {
-  revision = 45678;
-  deps."pl" = tl."pl";
-  deps."hyphen-polish" = tl."hyphen-polish";
-  deps."pdftex" = tl."pdftex";
-  deps."tex" = tl."tex";
+  revision = 54227;
+  deps."enctex" = tl."enctex";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
+  deps."hyphen-polish" = tl."hyphen-polish";
   deps."knuth-lib" = tl."knuth-lib";
+  deps."pdftex" = tl."pdftex";
+  deps."pl" = tl."pl";
   deps."plain" = tl."plain";
+  deps."tex" = tl."tex";
   deps."tex-ini-files" = tl."tex-ini-files";
-  deps."enctex" = tl."enctex";
   deps."utf8mex" = tl."utf8mex";
-  sha512.run = "192ff9559722639d535d91d58d161594506374548a4414ff1508750e35b0b3e755e0c6c87559899e216901d62bc88cb28dfbe0725ca5a51325135f4251e1f110";
-  sha512.doc = "0409918335f2b6fbaba3bab7027d91b2959c13927445bf64aab60a14b033c1e50d27c19878a65a56e8245ac025a881300e0f5e47ab0662e70e5872109097077b";
-  sha512.source = "3d8246a6e7f3723904711f765f42282cdca89c88d62aea2d37a259900a645c094d6b1cf8185533341c82d14ed7c44e4b1b573e6524d5b4fccc74cc9d2cbdf1bf";
+  sha512.run = "7a6ef28bf8648bcfac9e966264dde4c63366a8d3811eaf3e44e64d74cf9d30f07a21a14bb2ccef3129e01de25f2306bd34142886442f2b415cd28d6752dfc217";
+  sha512.doc = "6767fc37ace747daff44f784eb5b1a972a22dc075b0f34014ffc190805cc8f096b68a523bf1a2e9e85f5772edbfd8bf3f4017896ce28b80099884634c4ee6baa";
+  sha512.source = "10d669dc5128d970461f065090b21808fb9f7c4caab978e7ddb6d1b68cb418285fd9878e37b7c56926f4d37647f21c273e087e55fabcd595c8e6bf51c1bef446";
   hasRunfiles = true;
   version = "1.05";
 };
@@ -21932,18 +22584,18 @@ tl: { # no indentation
   version = "2.0";
 };
 "mflogo-font" = {
-  revision = 36898;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "8be2b2456a14bc9a8a741a11b033a844bf529b511eb1173887eefab646922a37b82b5847cf94331ad34ad19bf6c75629687a7e490dc57e7ab7be473f751945b3";
-  sha512.doc = "aec625435ec638a6c36b7303d9fa81681f355460392f42d78cd820d98f7b6489b978980ada6962db5c1143057133d32fc7f314dbd60f606db4b69209de5626d2";
+  sha512.run = "4b2552a2f38c68c755f3966aedee8e054af48e0b0a61267d7a4b1a29a4bd6be15c8754d657a2f08d88dcd42a03ed768d336747d2c35107b4dd2d5bb0e1f649aa";
+  sha512.doc = "8ce49b7bf7bdbc46589da02c461f98746e13e13f19eb79af1c2ede084174204c128b27f88e164d5192415b6f464238e7f04fe95fe8e0873ce8aac84bc1e56713";
   hasRunfiles = true;
   version = "1.002";
 };
 "mflua" = {
-  revision = 53322;
-  deps."metafont" = tl."metafont";
+  revision = 54074;
   deps."luatex" = tl."luatex";
-  sha512.run = "d7e7707c9c44f0e744326afcb58e3cb5f71451530503c0b09940db3d5d29d6d0d6e0b3b258dfc6a85d8698afd85a61c196c0f9d47ed804b7b2b12c94a1e229b4";
+  deps."metafont" = tl."metafont";
+  sha512.run = "ec89212e9a1518f5502f93114377f07e88af787f15c64fc61f40f22a679384f8825384c694dd365d5a74bc5d9417dcf3932c634279550603374bb43df1a7a0e6";
   hasRunfiles = true;
 };
 "mfnfss" = {
@@ -21982,9 +22634,9 @@ tl: { # no indentation
   version = "1.0a";
 };
 "mfware" = {
-  revision = 50602;
-  sha512.run = "9379a31291d572743dd3d8f82e32e7057d686ef12d321e1f4c179df1d9d64116a61c7741b2be5b08a0f396e69b6c567e40cfb66141dae7a95ae3910366214a37";
-  sha512.doc = "f22a628dfe7d1566efa13502f38ac399e17bd90fd274a0fe4fba98de25bd24b6a3526bc0124e24277979ca42af8c01898f71e9bd9e1027a899b12c74c6ac205e";
+  revision = 56291;
+  sha512.run = "74ffd80b008e44e94a6e6617b14a2a47a90ae2658c35f9a5abec1ba09a487ea59abee9090fadc4c70a0c4cb860ef75d448f5c6bb7e27196f722341ffde7b61ba";
+  sha512.doc = "6adb301edfd974246f902d1e9743923b306aa7daacf67efd8613db2e69691efc11d598672ac590c6766166e98927ec11db12ab8de7f9a014215f619ffbde6c87";
   hasRunfiles = true;
 };
 "mgltex" = {
@@ -22027,11 +22679,11 @@ tl: { # no indentation
   version = "0.6";
 };
 "miama" = {
-  revision = 51395;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "f7a23b5d536b8fcdbab50eb86727a3e2b88c079f3e0a137220459522e4c939910f9a06ca55e944c1e9cc65301836aacd45aaaf8048d35397b3919220afe8ec95";
-  sha512.doc = "415233ee772f2c1758f1a980c5a7d320735125819c5c7ccdf2d4a21a2c02ca20dd741d64fd3b3fa5dfd8e0f0b69e8b669a319745f30b179ec345ec4ef014bca4";
-  sha512.source = "29d11b1a7e711a5c5d1deb35a7009a4532adcb640af64d23f9adf60eca35bbc3a4bafaf66c536a2c18b30d8944de810cfb1021039b0c73449d0ba799b55e3623";
+  sha512.run = "b9a5416b1de4cb487575894f3dacac8b07eda2b37b90fa0c5ca0ebc5d9d412c896fb7cd028c6af5627368c44d442670990949c9ceb9fe3a60179d3f70874135a";
+  sha512.doc = "a76db9f49bcdc225d9206ebaa3b7ca42bc7148a44d1d66b72d2033b68fe9a1137eec265316d3a24077e3e3712687e80ea948d4f1c9cd819e6a4afb8c9bbf91df";
+  sha512.source = "2b9e1a649f944ce6b36b1dc09d28112f7d5ea3c0a26a1f292576448171aa2f51449988ce85703ba7c2098f6dce62093ccf5af256bff1993268f31dc884bd3b63";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -22045,10 +22697,10 @@ tl: { # no indentation
   version = "2.7d";
 };
 "microtype-de" = {
-  revision = 24549;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "bd9b7ad26bf0d4125d1631a377328d934e6fb8b619e7040f6644a6df70bd43cfb8a93e8ce6b49afb90d824b73302d063bb23e67fa172d635e952b035510dd6f5";
-  sha512.doc = "1024c46f6b7dfdf4aae45090533087d1cb495d737856fdbd9691e7cbf489c19ce229d35ad55237e30998f154c9ef524c78068d338c236634df8922d50ae4fc17";
+  sha512.run = "cde294b4dd73d5948ef16b314e70745eb98bed30b4343c04885686533e2457a4aee07616e84eba6b0a552fb342331114de835d777d882308bdc1dba75927b17f";
+  sha512.doc = "fa524a0225a57fc60bbad95cdd7855f4ba73691a6787c906ef5091183425a650f583340d65ce8b11792046c767b0b31e5131c62dcc281898457234134aec291b";
   version = "2.4";
 };
 "midnight" = {
@@ -22084,12 +22736,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "milsymb" = {
-  revision = 51566;
+  revision = 54361;
   stripPrefix = 0;
-  sha512.run = "45e601def6cd11cd58f0d30e39f243a48be800861b0c1c787c393f39d5620e53ff43759e31e87e20aee80dabfb96da5bd5f2349b83fe2c4f0b82455e461986ee";
-  sha512.doc = "12550ee788252597671d8f19f5fdf412999ec80d3319dfc92f48be5800dc9882b57a98ef898c79d5e22f333528a0db248edb7798ec28a9e41c9d2542dbe1cc62";
+  sha512.run = "51dbdca0783519a3f7cd5ce78cd3c8e0b36c79d24781015a71e1c26a3d9a98e549f50d6d8c6044be0fd32642a3cf91e4a80009dc237b6eb5dcb1c4ac055d0732";
+  sha512.doc = "cad4940b3bd462401ddd31b7125924e4b25b02d46dc360e7e4f3f027ec9bd905ea7c1a1cbb26f7a40a247aaa45e0b685d8fb4aa4caf01fed6d0a0c9c1c032471";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
 };
 "minibox" = {
   revision = 30914;
@@ -22185,10 +22837,10 @@ tl: { # no indentation
   version = "1.7";
 };
 "missaali" = {
-  revision = 42810;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "d16285296232f45ba3eef2e427ecac59b248f9788abd5b2e9b9007f2013bcc52ceb482063290e3ebe6ea625adefdd05b5948546e0a4c17377a6e4de30ecca041";
-  sha512.doc = "c786638ba6c5d03395e8efdcc1295ec7b7470daa058b7bdaff4452e4524cc2467606bd7eea5591826c8aa50ed22baecd18319dfdb28bcaed6d2afce176e984a1";
+  sha512.run = "d23a0e4a7730e4a6861a4c68c44fc77249133724292f65c8f0114081b9d2821acee2bc1520c9644a9f38938c6b1cac76483b0362c26deac5484b3216110919b6";
+  sha512.doc = "7068de94fe243812c6be1dade5a10a45dcae28ee87a2a305f65aa936c58a4ada1bfbe44a4a1849d802e5a178fee3a5dfdd148731a5fa32f2ed37745905a15925";
   hasRunfiles = true;
   version = "1.004";
 };
@@ -22223,20 +22875,20 @@ tl: { # no indentation
   version = "1.02";
 };
 "mla-paper" = {
-  revision = 20885;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "01e6bcd07d5dc7ead0ddb4f5d8ad537738bf0b863d2b43f04f0136a33627941b377e53d29808cd284dee3601bc7839c3f0697178ca586578207f9efb60a6f70c";
-  sha512.doc = "1367bb1bc5dd62faa89294141b74c7d2c9f5fd0acbfc37285421f9ff514ab67201de9c6a9070c5aeec396f0923afc8e10c5ec307fe89ad016ac167f33247154e";
+  sha512.run = "e82a0f04441b08a8f5b2dc0bac9480ae9ae8c169c7e5a1d1795315d3e103cbf3a07f726eb41d7dd7b1ffd1443fe00bc686b37c62edb59481a110bfd34944daeb";
+  sha512.doc = "6bf3856fced879c5dce5cf1442ed0302453f7a02ec30b4d1a2cd63228baeef58d11999d56f505c1aab6a78eff1e4671665da381b7e319a467e42f70c56cfc89e";
   hasRunfiles = true;
 };
 "mlacls" = {
-  revision = 51865;
+  revision = 56166;
   stripPrefix = 0;
-  sha512.run = "14397d8a4afa0cb4aad0749dd4d4e32c6384d8cc40d302504783ddf86756c65abef878fc7bfcffc150fd5b73c701c6d79a8f5a5a085a7bac00645bfa1b997c30";
-  sha512.doc = "fb0c75e2f3a8f9f543af670309ec035e3f539cd642a8d829b88a733c5fc7656b86947c6b56d36dd8b17942f72b4023fd20b21a0415aeacde878b95e6675132dd";
-  sha512.source = "4f087636bef5761a97ed2a4c48f207b92e290683d92975a014670194c0e81d598aa2282e266dae2a329d7a47ec777b06754864ba32bda2eddad77635445d922b";
+  sha512.run = "42846f4ffe7176efac7f6f4755954452f99d7337b4e967ada72b0eb087714d5cc4a4ed1de3e90d3132a7626d9e3d457fad7f09452c95cde655b0d5fa516d05cc";
+  sha512.doc = "12e6c4253c3318a21a0af476f4e8b22950ffe6b84f1316b08d0e30fe2bee0a3f42b363cde58b7267b6a3270b9ac6594b8ebeff14f988fa187965a83b9668b88a";
+  sha512.source = "f06b5402113cf66070b48e607fa277e2da20007fa751fe9a86304eb93075985a9d80151689c2e16ba4a1b22568ea779756185baa5c519a94c9e05cfc20fa747e";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.8";
 };
 "mleftright" = {
   revision = 53021;
@@ -22257,20 +22909,23 @@ tl: { # no indentation
   version = "0.6a";
 };
 "mltex" = {
-  revision = 53786;
-  deps."latex" = tl."latex";
-  deps."cm" = tl."cm";
-  deps."hyphen-base" = tl."hyphen-base";
+  revision = 56548;
   deps."babel" = tl."babel";
+  deps."cm" = tl."cm";
   deps."dehyph" = tl."dehyph";
+  deps."firstaid" = tl."firstaid";
+  deps."hyph-utf8" = tl."hyph-utf8";
+  deps."hyphen-base" = tl."hyphen-base";
+  deps."knuth-lib" = tl."knuth-lib";
   deps."l3kernel" = tl."l3kernel";
-  deps."latexconfig" = tl."latexconfig";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
-  deps."unicode-data" = tl."unicode-data";
-  deps."knuth-lib" = tl."knuth-lib";
+  deps."latexconfig" = tl."latexconfig";
   deps."plain" = tl."plain";
-  sha512.run = "b03ff5cd8548afa5d6caf9d8d3b03e662c515752f957c6876653169de58bf0af01dc40f57aa9b6a43541d485b8b9e633276b791466a60de9429db875fa81f8d7";
-  sha512.doc = "32a8a3a1e4f482db22586466a89a964a5394452b375b3b0babc02c720f7ffd02786297a2246858ba23c9d8b8d276a3396ac15aef721658961b04faaa3a8911f7";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "14caee4bf5ef1ff939e00b93d244290f83c732cc857981d7e64b93a9be16b996ef034c4c88126075c73dede1508dc3ee6988bae3b084a79f484f2493080f6d0c";
+  sha512.doc = "9c73b1c0fd3e9bb88d0ffa7dac2c308c3a9811a6111cbdcde56206cb40dd3b78dd1301831bf57afaa30fd55611a9c94e892d4279c0c4141bf2dbde73e9f0cb29";
   hasRunfiles = true;
   version = "2.2";
 };
@@ -22292,12 +22947,12 @@ tl: { # no indentation
   version = "0.8";
 };
 "mnras" = {
-  revision = 37579;
+  revision = 55729;
   stripPrefix = 0;
-  sha512.run = "8c8c49846a2bac72383b0481b0da0cbfeb67bcb0787815d3509e4b55bf5afda5f3aa74f44d03267891b42b609b1a10b1e1577a02e9a3e4c8d9cd5ec57585e9bf";
-  sha512.doc = "e90ce259881ebc34dce52eeef5b6eeefe1659a3e8b4ff5a749604d5f3061d38e1cb749d8dadce757a173c1174fdbc9bb3b272ff1bc344a55ec2dbe946e90cdb2";
+  sha512.run = "dc964c48272c36f81e1370ac3df6fb3b4e873294f69a565ba240a7c61a5f78fa6b493beae8e78c1ed469c4f34c325af3e53739f1aab5a68e9af356fe6945fdbc";
+  sha512.doc = "5a6f55ad7e0cdf270856a5efdb6891e2da00d813b2a4279e323dca188d3b3ee43f89ed3fc44452583d45ad83b7c63cf2470371c7975aa068d2595740d31163cb";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "mnsymbol" = {
   revision = 18651;
@@ -22343,21 +22998,21 @@ tl: { # no indentation
   version = "1.03.1";
 };
 "moderntimeline" = {
-  revision = 50228;
+  revision = 55518;
   stripPrefix = 0;
-  sha512.run = "a38ab33c0ad2384699954688bed05d9ece3ba54107c962dd5e76fcb586699887ad5553dd12f801553ffab5e7a459cda9a9178c0d37d6eae3796766fed428058f";
-  sha512.doc = "dd5f43c4287f5a5a23366c3cb982afdbf3385da2c19967e3a77ab42476536d2ba44887fe5fa657f18285448b0d7d3ef99b6f7003328924967529478e174625d7";
-  sha512.source = "4a794bd422b800ad7cfc41c47838798b6e1f3eeb9f7de10c4c6f99d4f2127b8f22e0d31875bd82595e6a99d5995648a70bb006c41dbc70c50379e8d37570222f";
+  sha512.run = "3e32e360bd8249cded439fc563c8fd38e53314fb468251368aa5311463665771748b605c247c63e8e5aea2654dd05c4b12aafa073190b883d21469bb14333de5";
+  sha512.doc = "018ad6b095dca602021c45e04a526597ca61f5bb6ec7adb52d86c221649c4b3be94761e826d09ed9772c0628bd9d719f6a4db6ea1411e6d34f94f8c049130855";
+  sha512.source = "e86a6e1175c1d86e5c0b035ff925107ad0dc80e00f1815161348608e90a7ed5bc9828f896c0d072c386cf695a5f9d1b894eef2c864d403b74a75bc89a9910510";
   hasRunfiles = true;
-  version = "0.10";
+  version = "0.11";
 };
 "modes" = {
-  revision = 53604;
+  revision = 56303;
   stripPrefix = 0;
-  sha512.run = "85e7cfb20a26d64f007def1edf1353b225dbb1bfcd4398d74727a02b345c35aadb486e45c526202c28d6617ad079de57811fcc6dca1210eacb76df7a7abe7add";
-  sha512.doc = "4e6e9cf770c72177b729812469cd25f11967cfc90eaf7557d182409f8f1ca1f438bdaaa20a8935fcbdaf69ad2b7c60e55c00c76a3f506fbfaffb5b74336e0230";
+  sha512.run = "09318fcdb58e5175882fd7a2750ae71322d0be227a2131e05c8b9d20879260c9ac906a735582c1fc8229f3ad4e7df7b71d6a2a6ba9b82c653463947d59f9116f";
+  sha512.doc = "dd7d78b8b355d7d056d288c0026d83115878abf91ceb183b48a3505620f0be4c8ef04ed0259a8f5a079c6191f33fc1331e9a3b1660b9312d165914b9176524e8";
   hasRunfiles = true;
-  version = "4.1";
+  version = "4.2";
 };
 "modiagram" = {
   revision = 52589;
@@ -22429,10 +23084,10 @@ tl: { # no indentation
   version = "IVu.04.092";
 };
 "montserrat" = {
-  revision = 52694;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "c6794b165dbd522fdd5aa2a57518cd8e1377c5a54bf4031c85804104934b4dcf0bf5f806bcc57b0683fed9b3d51ae45ffea6c6f27552f0c4072d9588e077df6c";
-  sha512.doc = "9ffbd4159c42506df109d62f380f3324929ee0aac5a3af5f42e7ef57c9dc51b0f543e52a2f6651cee7300117a8cced44d529f6e93f8865b0562e8bef01615cf7";
+  sha512.run = "58c8b4a1f6eceb10c7fef8e6dd951985ae6108cb3f93eedf20949923237cb8af6a834674dcea48b1c68b51284ef37fe2d4120d52fee82753fd873f60b585e685";
+  sha512.doc = "694ee7f51b0fe1622981bfa636263bbe18f89ec481071af587a683648f4ee900d9100864e51669d65b9952e6acf64794b5610989d2bd86f6e4701e1e41193242";
   hasRunfiles = true;
   version = "1.03";
 };
@@ -22554,10 +23209,10 @@ tl: { # no indentation
   version = "0.20";
 };
 "mpfonts" = {
-  revision = 53619;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "20406681edb69ad3a366483ef17d2ca735ba61479458475b3a0f010db0212d1c453a8d152aad97a172f66ff68cbdb7b5b070a9eb630a60eb141ee21b60ef40ab";
-  sha512.doc = "98d9a49b711d6889da96765cd24b1ba308d2030133fb8de13e5c69724d1c540a1d9f479a1c11b391f023bcc00a617b32e66b2b05e00701e9d9cbbd5e0ca87b4e";
+  sha512.run = "7d602bca0f33f83033cbe15cb2376d0ae023a4d02218f10b64965580842f269a7065e6c2154bf78c7a72a46abd0e41214dea4d2f012f1945a17fb5b8cf0fa832";
+  sha512.doc = "4aa1296012f4ed3483f444320d7d28d942823da0cd58c1350dc4a90da1fa5e51cd5bac86f257290c720f9808b74c2cc87c49f18882073ac44ef7f577248f57be";
   hasRunfiles = true;
 };
 "mpgraphics" = {
@@ -22586,10 +23241,10 @@ tl: { # no indentation
   version = "1.5";
 };
 "mptopdf" = {
-  revision = 53687;
+  revision = 54276;
   deps."plain" = tl."plain";
-  sha512.run = "1c005dda3caf90966782bce15e6f82063c8b87cff0b5458519f78a7e064fc0ec4eadc4aa3644d61770cba92a1157ade059f8baa347868c12741090ab370f70f3";
-  sha512.doc = "2ecc946c3a7027e502a468c8fe8366c794b4c1c8c3bb5c1f58a2ef127317f89ba69804de10070844c7fd43ab49b8ee66b0326d882a5aba615a4fca6f7f4fd1f1";
+  sha512.run = "54c2ff5a18827c1c41783bfdf034ef7ee265ef23dab283f03724781d98d6cd1aa8eaddf24b3d409947f6be58aa736ffb714c4a3f4d024691c7e2f16b3bc032a0";
+  sha512.doc = "de67e891cc8825f9de1de134d71d39bc8da37f0d4818228b32adfe698370314f3e457b75204d7719053c1de7691bbab5b323d63c4fb08ab9a03a6b97e3db6609";
   hasRunfiles = true;
 };
 "mptrees" = {
@@ -22626,10 +23281,10 @@ tl: { # no indentation
   version = "0.51";
 };
 "mslapa" = {
-  revision = 17514;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "76910e823a3d1114a2f7497c49d7a9edeabdfc3642309604654f244b060c4ef456aa170f677dfaa719d36416eaa41b68ab28c5cbf869f611a33155250bb44423";
-  sha512.doc = "af01997554d68c0c779950e3be4c92fe7ab0616eb2c5ab55c5131f17ef22eb6e7066c4190607b77c9cc44aa50c15a472ea27733add54fe82b7801c7724f1663c";
+  sha512.run = "28a13eda4b10f25e4887feb44f64e23cfa683d28e57b66a64d2a15c627e5f7aaef36e9fbbbf3c2320891a0bb9a5270fb59ca9044f1822402d82bc494f41dc3a9";
+  sha512.doc = "b53311156cb6872ec996130474f18d8735f9fbba8d53258638f78d498b3cb294eb490b6eb1460546dcec39258e0785401dad5ecb66c82e2cfd7814bfa852908b";
   hasRunfiles = true;
 };
 "msu-thesis" = {
@@ -22717,13 +23372,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "multicolrule" = {
-  revision = 52283;
+  revision = 56366;
   stripPrefix = 0;
-  sha512.run = "591a7aeb5a918fcfb847cbd7f91cf389b6131472e62dea411b04e9ecd0c4eb1e203a31bacc69721f444c6eabdd44462e84cd263629ed4d6566840da2921c843d";
-  sha512.doc = "ade3f0e13f39a4173d6402ee2521232ff42ebfd8ca55d491f27c1dd35caeb06d92d7f53c1f897d71752a9013f1383eb9cd6b6f250c9ca535a31c21f751db4abc";
-  sha512.source = "e1b2fc58fbb95f6d12b20f02a503a62cf49f4fe1c888dd7185cb7bbf1f5a7644af1f14a380a44e25ef33d87387e152eceba602897b60f8b0d79112cfea4b2492";
+  sha512.run = "46c8745965a2863f3ded3aff6a910e1971d9aa3127a33c36431d68d1150075f52444495c0fd16fa1b737d2f1dfe7058879f7a50003f763cd0d28781f62bfea0e";
+  sha512.doc = "42d7798d38abce4454a726dd2998b94e4171bf963108a8ed18b05b5acae739e19e8e1189e74cfaad02f4ca92b32e7fd0afe9496fbd35983574da8607441a2295";
+  sha512.source = "53c008ef7b7b6505a592ac3684ae51224e9a1d7def82822a376b7b4b6e6f1ccfe3cb2e2dc677efce6ac3807b5ac7424c34003df2006b8682c89ea78a060178b0";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.3a";
 };
 "multidef" = {
   revision = 40637;
@@ -22744,11 +23399,11 @@ tl: { # no indentation
   version = "1.42";
 };
 "multienv" = {
-  revision = 26544;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "b387532d90db9f46cb18518b27eb8853dd52366434c69693fd08d36942564c43a45605694a55783fe244690f4cb64b94f3082235e465336cb7536543b00b6f20";
-  sha512.doc = "1ad0cbfb0c6029b77f2dfd71100ac43cf3c7512df88837c6da5c26fa9a520f4dacd970e331083a56ddf3d9cd19fd9934e863e4bea9e62c7a0b1cdd1ac6eb2a15";
-  sha512.source = "5d22dae7cf44eef6e63cbda2e9421903f56a939c0393d3b91e9d009b29cf0b748215b455dd9143cd7e13b2ad81c08d7dbe447268d7d01ba495bbb307cfc8999d";
+  sha512.run = "61ebdecdbe9d1fc963a9625ab1d2811c967094f3aa983a08ff20d5ae1a7e6d87290981c4063ded7edb87ff248fe9f5499880ad5e602949f18ab3419c074e775d";
+  sha512.doc = "ee1cda148f6f1f7998b86b6f36256c69ac399d32f6bf5443aba242ce93de8c0a64d43eeda32287dca7d7e83498fc26253be724b1231dd399b903908f4acf7430";
+  sha512.source = "bbd36e000e4533f3fb423d6d758fc7fb4e210868a695bf13e7ef8cc266c2875719c85c57aec0fa27bb4e174291321452a88bfda18004136e5bf4a99154bf26f8";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -22795,6 +23450,14 @@ tl: { # no indentation
   sha512.doc = "ed2dc99df090a012f1b1b922659eebe4c2d8523127e17341b9c4b66413acfc89f8b64ed639c8fd40ace0f4fddc8662f42630411c67026311a26fed436a363b78";
   hasRunfiles = true;
 };
+"musical" = {
+  revision = 54758;
+  stripPrefix = 0;
+  sha512.run = "4bb8bd0781cd49950f2a80ed9527de1b0e49ef6eefea5787d1d13efa3893d57b48a9b69ddf0f62bd2695a61d9b785cfa1dfad2217f8cd97929e1dfefac9333c6";
+  sha512.doc = "c06f45815ff65fa7c492575731bf1aec0e774cf5a81907d1e381ac8ab366c167ada688b8c8fc82293c96980c5361a688eda666b130c1ac3f39976d49bf78f60c";
+  hasRunfiles = true;
+  version = "3.1";
+};
 "musicography" = {
   revision = 53596;
   stripPrefix = 0;
@@ -22819,12 +23482,12 @@ tl: { # no indentation
   version = "1.2.2";
 };
 "musixtex" = {
-  revision = 48353;
-  sha512.run = "2793fe7e110e97df26dc0a681b24cd738eadbc6bf322b438141b66718b561af3d1c7cb029e465827151be5242d620a3182aa304467f3e8e7c58f457310881c0f";
-  sha512.doc = "29e7bbfda630825726d716ec45e4112b7d35e180a5d9294a5d1f7a1c8a8c544a8f9020021d17a1db74068ec23ed0c744593f74426fe465182d139d3e9e70e829";
-  sha512.source = "62a04ce4d437ada5b2a267b648844cc6702194979530f985bd7fb96b2242d9e92d9fd6367917352aa7f9a699f520569acd2fbfc4d6d56f2f33e9f6173f311909";
+  revision = 54431;
+  sha512.run = "e6b86fccd628293534edf4687ea87b7b45d2ead29d6bcb3d0d5bfaea9c14fd0cd0559af4bda2400791d789f72ef59234f56479343509d65174ffbbe6339158d3";
+  sha512.doc = "53c05e91b19e9a53f5f8b57c9295261e22d34dcdc97d2d007d534dc3f05a20ab54619ecf0a8584ad52f8b61b65558a2e0eab4c590875b7c4785f97931baaf40a";
+  sha512.source = "c59e464486c3f81d4cb97a30c096b8cab312d60ffac0f0d2f2cfc82527b1f92990ae16ca03989a4cec59bf01f4225a179cd8298fb3529eb08fb916892352a366";
   hasRunfiles = true;
-  version = "1.29";
+  version = "1.30";
 };
 "musixtex-fonts" = {
   revision = 37762;
@@ -22875,11 +23538,11 @@ tl: { # no indentation
   version = "0.75";
 };
 "mwe" = {
-  revision = 47194;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "fab45c12e55ddd3b748ac6a07041c64efd1b344cd8375d870ab3ddda155d9c43adb1fbed21c82237732c8d15ad68201ade3eeb54714e4737a79ee3fe22db48bd";
-  sha512.doc = "361130c8fd556a564975ed94286645e1b2ebb399a4895b59244bbe941cbac20d0e4271cd74cd122595faad4f2ff1db24ad522c04bbded59df2ccfdbbfdb19c7e";
-  sha512.source = "3511bbe2629f5a69023836495e768ba9fb218d23f05f2587c39298c007017b272bece226dcfdd9f9b6625891d6d4be5622c4dff35ed413c797adbe1db1c60c00";
+  sha512.run = "cca88398d3410ae13cd555f77f050c8091cab1aa4f5baf3f1dd277aecc3634ec63077e836b0bd9a3ef987fc508220202c16ee805667d0b97f33d3e2a8676941b";
+  sha512.doc = "1db294e9e28e08d9a91462b2f5b8e368b340f5fe54193de97c7fc4b76287ffad3b72ee41fbd644f27a495d35f87b430181ad776891043838952d13c4511ee56a";
+  sha512.source = "0ad6b31acabefc9ab8ae66b5c8962de6a4de7692021c2ae35ad488a73d44e57bfb97a54ffce1a4c1d8dd6cea054029a4d82d5fd788b7a9d52f509d72952e36fd";
   hasRunfiles = true;
   version = "0.5";
 };
@@ -22898,14 +23561,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.3c";
 };
-"mychemistry" = {
-  revision = 28611;
-  stripPrefix = 0;
-  sha512.run = "bf8fbe30dd3d1637db289bb92f6339545f4d52b3876e5a81e5153b4ac72be0b54af48f46fa7d1dbd5a129bc83223c53163a760e6cec0bc61101496b25b677f68";
-  sha512.doc = "7f9a9d6c6e0f66805dc37120a4c76787e60452067d9f379cadaf4993a76d7363553699eba7af1b9e507bab4e68e66791a5c93d940e6079521de5d1b7a83e5a58";
-  hasRunfiles = true;
-  version = "1.99b";
-};
 "mycv" = {
   revision = 26807;
   stripPrefix = 0;
@@ -22942,12 +23597,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "na-position" = {
-  revision = 48071;
+  revision = 55559;
   stripPrefix = 0;
-  sha512.run = "1f5d742e5fcfce8495f2c772ae166775151b555b1e4922615e5f62ce161a167969c8d6043d542018debc69ef75f472995f498ef9f3b1f094b97d5b986285b1be";
-  sha512.doc = "569a4c0a03c224195752a072581e4c8a2ec428fc4644ba66c43c94e322ac495137f52b3b1cd5cf40741c83937ce056e610a2fb4f4b02f3f8a73d43fcb3fdb4d9";
+  sha512.run = "fb88693c5d626331b9deab494bdb0fececfcb3d6f76e91f76f467ab8f152fe857e4ef41f87b38092118646961c0f64f82501f0f75f5610d793b8158d77bbbf9e";
+  sha512.doc = "abe7a0a765cfdd1d4ff454180b32d4153cd715d9af333221ed3213082dfbcf5ae0562617a2b30835a8aaf2a65c166e6fb3941d3bd6c781d83d65e971bd53f356";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "nag" = {
   revision = 24741;
@@ -22967,6 +23622,16 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.4";
 };
+"namedef" = {
+  revision = 55881;
+  stripPrefix = 0;
+  deps."l3kernel" = tl."l3kernel";
+  sha512.run = "c413d600911ab1107554ec2aacadc80fad12a95e7486817c002274f282e047915d06f4878e68e423af649569752cd27d7c1b3a802a9abff68e91038719b2fd28";
+  sha512.doc = "72031cf2858a3b68092c852c216f96aaea212c721e47d90e870c8153f83db921590246fb11b59009d431754720791e3c625fb3abd7bdd9010cd1a49894023ebb";
+  sha512.source = "adff08a774126c8faff52ba14044a8e2140f9586358dab6ce95e7a941706bf57c32acf0ad75282bd3b01dec8a73fea105c0c65a1453f5903d5eaeb3fe0349b15";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "namespc" = {
   revision = 15878;
   stripPrefix = 0;
@@ -22976,12 +23641,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nanicolle" = {
-  revision = 52237;
+  revision = 56224;
   stripPrefix = 0;
-  sha512.run = "3e495d68e20596ada67e55fa7d7273aa0bb19ac8ea41abcede5ee66da6870d3a1703c464c6a7e911b0a202c6062bf1afd7700755fcca0abbc80d0e0c8afd5fee";
-  sha512.doc = "007352388b415e597da827b25c2b8773e64fddd1b2910639139add09e07076a0f94b0a70422f1ccce0c00b7b7ed5f6534a8467e5257dc4670819dfb5d9f61fda";
+  sha512.run = "e9f90cb21730e34fe03961281527cfdea0f7c15e349b9d441747be7ba591c40ac876ebed92f884bd502c3cf7a99f2f6f6328bce515680100c2f9a3d7e04a4aa4";
+  sha512.doc = "3d159eb9fd84aa8bc6c183ae6a42aefc331b9bd606abbc1b2c3c53776d5b8f1554a4ad304d0555b8d2c95be2e8000eab0a3ec6a167e089292099bac6751782d2";
   hasRunfiles = true;
-  version = "2.01";
+  version = "2.03y";
 };
 "nanumtype1" = {
   revision = 29558;
@@ -23126,12 +23791,12 @@ tl: { # no indentation
   version = "2.0";
 };
 "newcomputermodern" = {
-  revision = 52877;
+  revision = 56419;
   stripPrefix = 0;
-  sha512.run = "24720e53923a2669e8bae12153c86e463215dca9c11a1cf19bd4afe71181324b598f217bd49b43b503c50bcaad33e42236549f57122e1d1906882ffafb0ab51c";
-  sha512.doc = "8c61e46f813cf230fff94e2875acfa58cc38663c66ef8ce1e6af3a18e9d9058276c670178ef4033f90599e117a0b880bf6e7753e25856113e407e57177470bf6";
+  sha512.run = "1e2071c050c5d83c30be99ca00d2aac216a67d31acfe19528307947542bff56104a376e0405478b42ea1e0438dd94e068cd29b5b146d6606ca8639b600dc0c1e";
+  sha512.doc = "d7d00258a36842d7f518505aa803a7efd557f754cf85bee5ee9bf7a9a721522be1b858fc9da0c70881831a5eae0f78481bfdaec9e0654eb84eb32e5ac38b90a6";
   hasRunfiles = true;
-  version = "1.001";
+  version = "2.31";
 };
 "newenviron" = {
   revision = 29331;
@@ -23169,12 +23834,12 @@ tl: { # no indentation
   version = "9.4";
 };
 "newpx" = {
-  revision = 53792;
+  revision = 55619;
   stripPrefix = 0;
-  sha512.run = "014a13ecb4a30f957d99ce91c81aa40e246e8f270801755c374becc056d7e91eabfef9cfaa26ad1ec1a1b15dfc2bf18749682ea2370299844c0c16acd220061c";
-  sha512.doc = "b7c008b06ffb4671f3a33e26296db91186a8db2748830524c4878c6714717fc9effb9d26a07a270c75e514a9c2914df3482a19ef0b5e5d4e9e131d6f92c796e7";
+  sha512.run = "4f2b5dad4cbf34e4f836b9a1c5a4c639e8ef7815894ba6299fe9da1718000ecd3f6802d434efe86f2d5e0b00523b0f32305adb965af79813e0aa2cae95b89348";
+  sha512.doc = "1a438ebc99bf20ac2d4776e1b60ef0545dd6c1c74e568bbf2d89ae3d8e115060fed467db92305f7086764efd38a7c97b71a52b8e855b174b14c2e85a37f09254";
   hasRunfiles = true;
-  version = "1.410";
+  version = "1.413";
 };
 "newsletr" = {
   revision = 15878;
@@ -23193,27 +23858,27 @@ tl: { # no indentation
   version = "1.0";
 };
 "newtx" = {
-  revision = 53549;
+  revision = 56384;
   stripPrefix = 0;
   deps."kastrup" = tl."kastrup";
-  sha512.run = "aa18b291239e3cf2e2e974e276b4ec01efc4a214628520af8d09ffe0910e1d2eead4b9f40b081d69be1f6ebd7c06c356eb26ee0d7e653cd82737f85f097764bb";
-  sha512.doc = "20fd1a381fe48338992151ddf1696e33fb01191be1b8a2e05121d84d531bc8402a0acb9284a2cb13ff090f052a190be1b0f2baccb581f5e832045eeff2e86de2";
+  sha512.run = "e7e6044ad539556834004525fc6ea51e2b5de9e20c3c862c0eef2006fc2852141914c99841509f30fd63e6710d3b1e1790756b2cf3bd35090d9cac108a33bc10";
+  sha512.doc = "4928447c1382918e6facf5cfcc0b3fd50e3a1d07b61125a2a6ad0f799526e6bd720b9383ab8588945061b98036879a8251454c4d34a11ee46fc4c43b1e4d1b8a";
   hasRunfiles = true;
-  version = "1.624";
+  version = "1.630";
 };
 "newtxsf" = {
-  revision = 47958;
+  revision = 56527;
   stripPrefix = 0;
-  sha512.run = "ce1497bcc316b555b47dcab2bf68888fb580e0f1252fa1e1f73f2b3cfad2b9754ea4963ef0c39b967ac374323b6f75cdf28d0d25f93212b09a1e66bf90976c51";
-  sha512.doc = "426c11211d3f66c8d87b1b2522ed8bd9b2ed0e4e006dac4c0751d0b479100e2cc1aa60ab2c32b8e6362b767300f568ed295bcabf4a86c51f2ada7ea868483066";
+  sha512.run = "14fdd049243799447b0ba9380cfae1dbe58496e67d30cb7bb3a82c685f449c6f3070e1bce674ac173a9397ebb1a1d40d1dc8db05f04174908dd157e919e7c7aa";
+  sha512.doc = "bf4ac517cb79ef6b1e541b2a3eb8b5ebdbfb5e3638234438453f79ce0bb1d87f815d20c761dccf2822e581222cca0439c189e02b307d8c0044fd194aa1d2016d";
   hasRunfiles = true;
-  version = "1.051";
+  version = "1.053";
 };
 "newtxtt" = {
-  revision = 53809;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "cba0af119d5c1dab0e62046c2d1deba626885be3df5a79b9ae129a143221f1062b33eb91af146e351ee1969157c915e39b96a5ff85116b87e16d5498101fd2f3";
-  sha512.doc = "2e96ac40334c855a12da28024aa05df5139c40b99a86e5dd5a94998453c187139eb73c927fccd653e4e99199b894620620dab4705064f99def6565f7501dca3a";
+  sha512.run = "8d453dd25a50384aa0ffc620448a7c1ecff58b51b2cefd0ee2a3ea98ef274ffe1a11e6e26ccabc1d218d4a3f69da4cb254b3e9c6ee9fa99ac32d8714c15a9164";
+  sha512.doc = "0a29f11edadeec4284ac9c9c04230a925517b198eb3653a456ab68bf495a9dd0b846cea4c3e1a425539f0b834d37f8f9a7f20e5945e8c8efea7ab4bb9342f6fd";
   hasRunfiles = true;
   version = "1.056";
 };
@@ -23236,13 +23901,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "newverbs" = {
-  revision = 52074;
+  revision = 56247;
   stripPrefix = 0;
-  sha512.run = "1a076aadfcc8b82d3b003c0f7bdcf17e3c66aff17c7d1c3946fda3d67d44e6885f35f84033cbc1cd8dc3b0c3d90aaf63ace3152fb7619fcafa9d1899c45140d5";
-  sha512.doc = "0c29b76949918fa03f4e4b506f35ad9d0cff6036702330d4e7771325869b7f5effd4f562dd2416d7c15d704fac60efa525f187ebee67a29d728a0d2490d2d266";
-  sha512.source = "d5869de6c0ba7dae4ce3ef4573efb43eea0e769974519085b26a519174c3c64481775385b0c51365464526d304424f9ba86949c22e42af1a914e9ce62c1bcf2b";
+  sha512.run = "a28b12fc2741b5e467f95194d447df1da76cee1c63b66fc7d057406624e4c06f693e82f721cb355e469838d4ec96a14c4b26f64de094dbd1f0873c1e2e2b5751";
+  sha512.doc = "7f868f5c76c3339005b0033d4777b6c166a9f7482327155e59e15d338ad387dea30df13a070d80d4bc935ea112db9c826f9597dfbbbd6a13b4f3ff4ee196496c";
+  sha512.source = "6674e96c603d7f9b5dc4dc61bf1173498d4fb4e568b0c1fa08a34f7b8be214c11e932f16dd1f6adb3867e0d4daaf3970850e8adcc1af7e4f3061ce961d35ff28";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "nextpage" = {
   revision = 15878;
@@ -23284,13 +23949,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nicematrix" = {
-  revision = 53721;
+  revision = 56574;
   stripPrefix = 0;
-  sha512.run = "8b84e5ea01033d93c7b8fd5764dd003c80c54fa5d1464972948308d611851ec1dc580b434f0bc0b7d4821b2617ba61231b017dabcff71f3682961edb9578c103";
-  sha512.doc = "15827f045d16f7ea6412b651e1d105fe55e6a1ba926d80eebf3350e3b8dc49554947499079e81a05748ee07db607b6a5275c0d1dcaf198dfb97e6dbb2fd29d6f";
-  sha512.source = "663a363591f44aa3c29dbfe1650370fdfc256a76996825d37dd60507c87fc39f6c1693bcd88fd8dbcf5509923e1ff3b5709fc9a7657bc8a65efdf205b96f88ae";
+  sha512.run = "5e98840803c3736bfdd413be148696604faf1248afe0cb6abc80cdca9c8f88d334f54f26a43e2fc674e4ee97b1fbacb66366aba3f79b5cc9005563212e550ee5";
+  sha512.doc = "26ca8493ec64c5a4a1211d42d6a4db40e6f22eaeb8febca5bbbeefc0ed42e7c72e0761dc7993ef2d0312d295cb911813a96b2cec77081854939cec4c5964046f";
+  sha512.source = "ed00d9558fcc15266c6907731f96c3bef924c30bf8409d14cf88092dd76f1c0df3f3a750984eb3d6ed0537659a6cf5e84aff867a8ffe0724596bbe453ea201a1";
   hasRunfiles = true;
-  version = "3.11";
+  version = "5.4";
 };
 "nicetext" = {
   revision = 38914;
@@ -23317,21 +23982,30 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nihbiosketch" = {
-  revision = 39460;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "fed3f5fc0886ad44c9f442cb0e4d3289d9027375e3b0563be9fdccf2a963cea09a0b16db2ef51a57e652f27a5dc5c20a36e9d284162433b958cd4fcc905989c6";
-  sha512.doc = "707adc7971861a35b352aba04521caa61ea3d84e15cf698f847be43e9a22e6157ba133f9d787c8c65610706481880571e82a1037082d00efaf08a5812f612e94";
+  sha512.run = "ce64ef60a007e8a955dd48f9f9f748a738aa57829116f060b3fe353308244db0a2c1d56d139e2b1cc1a6ee4f243eb7ea2339a2c927966d7418e6b553600b9e53";
+  sha512.doc = "4315c32e1ba43339b609c272fab7aa0b18c44b2c323f43cc303210f37c44c5a08d0dfcbf62e450bdd9ce899d69afd5eceafad91074fec73ac9bcc1e5c8c8540e";
   hasRunfiles = true;
 };
 "nimbus15" = {
-  revision = 53742;
+  revision = 54512;
   stripPrefix = 0;
   deps."fontools" = tl."fontools";
-  sha512.run = "f045c6f3cd8ff71b05a1c323ecef4cca9b6af2d1921bdd7ef916d40064d2eda0c27c630de9eb85bbb9432121d5e0a2994778c7ea506202d093d95942e41eddaa";
-  sha512.doc = "5ed10efef5b70100d304d4a55656e3e2d101adc846019d4a4ef69d491c66a877c074a987298843e2fdc0d6e2a440452f3ae746a6d2419bca9312c76b6f2b9101";
+  sha512.run = "6a1e1a91c5b42e568299a850052578897631573380579342a611adaf3d730fa452909650218cc75aba5c92204c01d830aaa2c305939e6b85f9202eba0d5e3fe0";
+  sha512.doc = "23de0b8f674692f1eebcce8c1c308e26b0311c12e4fb61fb6f1a925382bbf072d81047097b0a8d5abbf86f641f7b1fc59c64c16dbd8534db7f875d5b64a2d77e";
   hasRunfiles = true;
   version = "1.013";
 };
+"nimsticks" = {
+  revision = 55877;
+  stripPrefix = 0;
+  sha512.run = "d2f984ee36ca3084cf3a03e05254c2992af1df4c42ceed8bf83bdf3a0bbc6657b22fb9734976b2ed79433150d479446cfb8d0c04a7758887b63ab49958079588";
+  sha512.doc = "b4595bf2038cc5a6a59d910a32c56ada717fa4b8880db7c8dee33fc7de4fb7061fe0ab61f433b8a341869cb15dacd648036d6fd0d47cc664d3ed11c12115aa45";
+  sha512.source = "4bf6734b74d1147a0a64a2a5be3a1bf0f5e50c57275e826104641b5c67038ac7e9aefd2a797a8e26b70dae9165f9aa06f5aa657c30bd4bc60d71b9b31a19b159";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "njurepo" = {
   revision = 50492;
   stripPrefix = 0;
@@ -23367,6 +24041,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.04";
 };
+"nnext" = {
+  revision = 56575;
+  stripPrefix = 0;
+  sha512.run = "406e846ebe7ed721218368cd00a021edc41af41f1ccb5989925abad92d4cbf4d604abac8144945599530c85917d9404141052ba9891b778d1006b7d339499041";
+  sha512.doc = "6efbea453691fe2af7f436e79e1a486abf5dda14e2457ca3c1c2bda9c8461016d4436eee82a18b079a2491e1c4eb2f7dcbaeaf8fe8b8c7846e744f02da8e3b6f";
+  sha512.source = "a0cc70a3bed51b403ee26c2fc583642ab25565c1ebc69945a831827bfd2c192946142ad92bbfa130f891bf9a36c18bf50e5b424ecc119081d72c7efa1654310b";
+  hasRunfiles = true;
+  version = "0.0";
+};
 "noconflict" = {
   revision = 30140;
   stripPrefix = 0;
@@ -23376,13 +24059,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "nodetree" = {
-  revision = 43011;
+  revision = 56532;
   stripPrefix = 0;
-  sha512.run = "bc333202800520cf68e2aae42e849fdbbe8b2a1936245f35805adb3ba6795d724b8c6c5bf3973d760d5bb1327324c43721bef909d3440a3e7b8c559dc57aa61e";
-  sha512.doc = "d81032f9f78e49d49a6e88c4017a6f95ca8e3ced2a24210716d456ff4ea1461933540d0b553eb66e6b74c8c94e3f93328b9ab0cef2ea91c2ac37a1ab4a28ed39";
-  sha512.source = "a702d084e98c3a79df85baf0155d33b7187b31ab4d0c32af4cf3e1147ea5abcb6a989a5f09983d1e2446c11f9f99fb6a66f9c714553157e4acfc39003e770f2b";
+  sha512.run = "024245c0d86766f354032d27159f7add43b3ed7b7b3e0be698fa57c6cd76259a632d57a3da8f598bdbf5e2cae850ae932cc517645897708a2cafa80b447872c9";
+  sha512.doc = "f93e97278395b379e6fcd8ed3791b0eff1d02fd0b11f5ef51a98a2eaac569a193322ab20639a5de4a5ae5bd5a239500dfcc6627069375eba97367948eb6194be";
+  sha512.source = "73f7491750f8100a1758ddf2625aa80973374eb42bf44cca06d6aa851603c879996e7cc202e027a96e1af787f1c5a9f112376a05d51d67a7c40779e66a1595d1";
   hasRunfiles = true;
-  version = "1.2";
+  version = "2.1";
 };
 "noindentafter" = {
   revision = 35709;
@@ -23410,13 +24093,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "nomencl" = {
-  revision = 52911;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "420d6664ef3fb6cf6f1491325d7fee3435d9adf2f2a5920fb09da27303ae29a41403ff0f68e36dbc897a5811472e880324aa9f145d4018e24c595e331a0c447b";
-  sha512.doc = "69c83da8e9260447741dbab2006449acdd24d290f472d1522881143506baebc11f87ee0664331d1c4206b799b996d9b3fa9783cfd13a197ac5cf5a0af40328e3";
-  sha512.source = "8adaf08bb427d8bb848236bf8c80f060099bd3d8062aa2c9c0a007ccace86d036e0fbca6d0e5c98cad18a71dcf5ef833f11ce858f4732deb8967add2965cf2ad";
+  sha512.run = "afc93122b5bf8dbcac2eaf61c4e90792107249cdbcea44e0067d704b35756d44c249df4e6924f1a74b68dc7ed753467a73db687b9ab38ec965a5722348b7b3c8";
+  sha512.doc = "17ff56c02b4bc66cbbad73cdd05e254fafc4b44dbd45bb7e749c0e9f25a8dc3c6f4a4e82690a5dc13558b52f1dd679235cf78b15aac22825db1c7a2cf9308c48";
+  sha512.source = "6561f296ccef879ed95011bddc7472b1f6049e262e2ba16a996ca703aa665fb2c3f186271a1256c509fdc10db407a20acc87ad13b30edd1249a14e49bb02512a";
   hasRunfiles = true;
-  version = "5.3";
+  version = "5.4";
 };
 "nomentbl" = {
   revision = 16549;
@@ -23520,10 +24203,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "noto" = {
-  revision = 53953;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "ad8c28a9d05c2dae3bcb097989debb110e3a8600567aa007c93f1782cc151d74abf62bacfa0bc52b758ce1c4a40180ede55406c68593983b1344d397d9efb7fa";
-  sha512.doc = "3229be953b5d4a4e642db5a0f8067ecd2b9788d96890640367105902609ad52ed56995671c7de9470cd295e0b77d1fb72fa600d1a52ec3e244be37a2da8c5e3c";
+  sha512.run = "731e33665913e4e5deab621d44f0fbaa1a9853109f6f76b2d2c65efcd2a227369e17bee3cd18b00a0e3314db61026c2d2138943b3420bb5da29b7eeed10c6cd8";
+  sha512.doc = "6ab7fcfa88f6c4739038db08afe172387ebe3cd391180efb9b745096ad0d24f7a80b4866698ae882f34d4e6482ea477b419c9421d2a62e71c79e2b66bfd21d94";
   hasRunfiles = true;
 };
 "noto-emoji" = {
@@ -23541,11 +24224,19 @@ tl: { # no indentation
   sha512.doc = "83b3d2c7b97bb88af13d888d04f08ebb7e79661b4924ed6e328f26b9d19e4c6eea6719b49e6f227dc37c96201a901fe57da3745dfa7151bec27c7e8bfb81b236";
   hasRunfiles = true;
 };
+"notomath" = {
+  revision = 56050;
+  stripPrefix = 0;
+  sha512.run = "e3c3d3774f43a15661a6141f9d7c86f67bc4e5b696c19352c01e6a10e42645632651f8b74e4a8e5019d410392b75e8030d4ffdbe771015326db8b385cbe98572";
+  sha512.doc = "4f0a09d5e458090c586bfcfd3d34054ffbe96f248cf8f6303bfc50cf2f9b4426280e9f913c224f8f6190317d2307a2d7e3385eebc7c075ed858d8be928f333ce";
+  hasRunfiles = true;
+  version = "1.00";
+};
 "novel" = {
-  revision = 47492;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "ab6fd183a8f1fefa9d7e56fd234cf577bfbfbf6635d8e8fb6665e05b5d2f98dacf285731b32df64abc3d314865409003d89a935e2af2cce8990e0cc3c4510998";
-  sha512.doc = "3e1bf9313cf7e52f1d08f94b24be24153f4f2b68c19517e5be81c2bd224033fbfff5a17857866ad274cc54a96c0bb9f9da6536af5213bd561ea48b7ebb4e7cdb";
+  sha512.run = "967ca49cb355529bd6c3435aff389ec5b72b5d715c50a86f73b2cfe8209436046f25e1471967259adf8592fec317632193af00c7fe18dda967bdc510096580bc";
+  sha512.doc = "22b489764736c8fe428a5860c7d19cfe4a7e222d4e69005235da6bb6acb9aaa3ba4a66648a29f6a8c07fc39e72b73aa7044f60d2cfceaa0b78ef520e0291a10e";
   hasRunfiles = true;
   version = "1.52";
 };
@@ -23591,6 +24282,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.1d";
 };
+"nth" = {
+  revision = 54252;
+  stripPrefix = 0;
+  sha512.run = "e94365bee89f78b13ec22d8d34ac78aaf50f060f9282c0529d98518ce1e5b7f7995bd2da1d17654ed795f7555e7dcfd9d51399f4a83affc059eb3a760a76bf97";
+  hasRunfiles = true;
+};
 "ntheorem" = {
   revision = 27609;
   stripPrefix = 0;
@@ -23681,27 +24378,27 @@ tl: { # no indentation
   version = "1.2";
 };
 "nwejm" = {
-  revision = 53597;
+  revision = 54392;
   stripPrefix = 0;
-  sha512.run = "7bb333e3041a8cc20acf7b154adc8cf6008a759af22031dc2ac7f0c04fad341cc911a8a3ec4ddfb2048685a628c3042cabfdeb21d7f5d0128eb0844cea381b70";
-  sha512.doc = "5636fbded79f0ee81148f3367a88548b408928bb441e17c65aec16d75ced7218ecc627f7dd306baa4968d4229e81b9cd23361cf1adf833d8deefc3104632f7c3";
-  sha512.source = "d45391e905fe71a0c49e82e9c1e6cb019e05135d54e3af7401f692221ac76620d214095961360be6d903a132f6c9323db0680330c9b98115122282604c0851e0";
+  sha512.run = "5a7e400c00bc8d5d607a61d1ebc30ed2d36bbd1b270868c89f654f84fe9f6d4259863b047bed1c1dba9b79a8a1f1b1ac612b95530903f81dae52114e420a32e3";
+  sha512.doc = "06da866b9f491a5969460f52f9496f723f8fb3347c7b0c78e48f07987e953994fe658743c6eed5c346277469e89b07a13a3a727d6df7838a8f5e66dead1142dc";
+  sha512.source = "d0afd2dadbfe524790f5a96ff37d3304305cada1291311bf724d30f216208f6f9d0ca6b6461792b17d1e91c8a1a13f235543071a2d8589615898a7b9a5407f26";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.0.1";
 };
 "oberdiek" = {
-  revision = 53283;
+  revision = 56291;
   stripPrefix = 0;
   deps."auxhook" = tl."auxhook";
   deps."grfext" = tl."grfext";
   deps."grffile" = tl."grffile";
   deps."iftex" = tl."iftex";
-  deps."kvoptions" = tl."kvoptions";
   deps."infwarerr" = tl."infwarerr";
+  deps."kvoptions" = tl."kvoptions";
   deps."pdftexcmds" = tl."pdftexcmds";
-  sha512.run = "6e3aeb760239bd3f8ee92655703b6155f9f096f4baf0cd8efa3b6cdfb67f96ca16149ea3e11dd851960d98304eb88c78373241d0b00948b3d717ed92e32d858c";
-  sha512.doc = "76baac4bb06b595e05bf235a6436e8d59b06ea6917ffa66d6e82ccba994975b6992caf422b40d864ecf7ba7152446859299cb158eadef3c37a6d96354649f6e0";
-  sha512.source = "79b9c0a1e6c01cd20f8d9d7fbba82b0f4779d1724cc8b777e537e289833cb6a712de8ad4b2fa44083e3b3fdfee375ffa68c518779ceb7944091cb3e3a1e1d207";
+  sha512.run = "a110b9f65989da3cb73bf37e09d92a89352177c45ac2b60a98341829e833e9ae3055e979f9bce5fea57f44e751efd70cac0eb5eadbb7efe512d0277f3696dd00";
+  sha512.doc = "631f11d270e5bd908b3d1c51d96205046793e529ba18a5e442280e6cbc1cb67850dab25984747f3871cf200dbae340e19cf327a21d5b66fa55140e1d76ae1503";
+  sha512.source = "a58f3c55a38ec5e2f373428702a62fe55b2af7db5de59ba53a16643f1b4ca3e52ed8317594e8403f0a95b7705e9213b8400c040329408ad0cdbc77bc8ea54bb8";
   hasRunfiles = true;
 };
 "objectz" = {
@@ -23729,21 +24426,21 @@ tl: { # no indentation
   version = "0.4";
 };
 "ocgx" = {
-  revision = 28492;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "5e8e27f2ad058f30431a78d006869d4448fcb722c6b86a306505afc54a4e39e9136980affad1267da479bb175b8608d093ea531f85302e1c4f450ee93451ac33";
-  sha512.doc = "62dd19282c5ff9b030b1caa8a779590f46aae1bafeb4ecb90195e2e0469669c21e130408fdcf855a0a0859100d04cd7b3494ce60bc21e32ea5c3c6fc162ea69e";
-  sha512.source = "3abfd38cb39915bb6a1a5610c5d760174cf0caa7de99b8f975f8084f01579a2211c45ceb0912b84f9ab09d26ad091801869c11f393d1b59eacbb133dbd6b1603";
+  sha512.run = "33b8ab1b03b7a887127dbe589212747c8cfd794c1b1c9525222cdede3f941812007441ff2835386e59a19b253e5cdef27a83dd958506dbf7dce6988007befa3c";
+  sha512.doc = "c3c28d54a06a5010d8b1c266b1b9689cbf41050e8427689015ce0016131cebaec87ca0c416b865b5bf9a386a2cc33326da5720d326d797e94c41b8f02e160889";
+  sha512.source = "633326b032b98f52375e75cdbc55165e35ee4d531d4436df6575ef54c7897187030d99aeeb0de26622ce4f5e56a10df3c381ab72c0731fd8150d677f1fa3c09c";
   hasRunfiles = true;
   version = "0.5";
 };
 "ocgx2" = {
-  revision = 52730;
+  revision = 55519;
   stripPrefix = 0;
-  sha512.run = "fc31e8980d802d4ead440341d898990a083a537e9dbd15b0d2a0a7b0059b2513558c3ab6565536dcd9a189feadb4a5381a40c7ce7b81afe1ff53b9deeebde87b";
-  sha512.doc = "07078404f77cfec61516cf285246724abab8569967fa1ae3ccdb741e357031742a9e61782c48e7faf402cf38507a5c9b4063a543dd6e608b095d353344b13b04";
+  sha512.run = "5b8bafd80b1c8748478a6c75c23f135166b8cd896865915d3a5c2d007ff50811112c035b9747f54d8f93e03429b373a73767861638c0b86c6817fce9965f6ca0";
+  sha512.doc = "bf40144dc6d3e21cdbf7589ac27e39e588b4da9886ead53cb8d3cf25486011783e3edcfa6e7fad7faf38efa4b49c365b7f2b5004ef9e7c5ac06912f5acc12a55";
   hasRunfiles = true;
-  version = "0.48";
+  version = "0.49";
 };
 "ocherokee" = {
   revision = 25689;
@@ -23837,10 +24534,10 @@ tl: { # no indentation
   version = "1.00";
 };
 "oldstandard" = {
-  revision = 53928;
+  revision = 55359;
   stripPrefix = 0;
-  sha512.run = "a009e523f070a0cd626df349e9f7ff4c3b83e24bb996e8711af52dbad178c6bb051eeab59e8c1e55a5a8eaf22974e063ae5a8cb0613a60431503a6f76ac568f6";
-  sha512.doc = "5fc4bc632bfd76a78b16bcdd25a30309725d408dc6e0d11ea31b2deeac11b3b17f1299465173702c33993085fa99dc3d42c8433f99e3a06467fc77cc18d0601b";
+  sha512.run = "5643f4697ad2e3aa8acc85c9ef7de993681c584340d3b09431cf05210c36457dd4bec07b8ae4e9c5890891412060f725e037b825d344c7e0ec5ba17ad44e6253";
+  sha512.doc = "b70897b4d5bdff4514fe43dd06d016e6ed56b8ad29ec68ef3b76091ed37344ec954abd55041214226560c1fff13a52aa1a0d251612a10310b92587972aa15dd7";
   hasRunfiles = true;
   version = "2.5";
 };
@@ -23854,10 +24551,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "olsak-misc" = {
-  revision = 51063;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "17f360186b44fbeca93ebbe6bb99c51b1815bf376272de824e8a62474e59a1cecc09757639d0542270aa1f1c84ad8042f5859032a141f353b112ffeb8f5ba866";
-  sha512.doc = "da6afafbde8ece27fc082b15ad29fdf53ae08ec8674f138f1a45afd39a1cc0a906287390986406b4c5aaabc009aee1843560f078fcac1aad2d7739ecf3e16a68";
+  sha512.run = "2645f2964d95754cef9b3f500fe909bc379caeb95ffdc7423fc729f6abc134ea9eaeb54b5190884a1822009be3135b752efb1a7ae5b2b00635226798ffafb974";
+  sha512.doc = "d9c3ddc194111eb16dc025f2b3540e7f295e2c52645269bd06cdc448e528841da6367739d8a5a7e15ee5ac2adb04c2e9068d1a7da615bd6bda2f983288c6aa0e";
   hasRunfiles = true;
   version = "May_2019";
 };
@@ -23869,9 +24566,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "omegaware" = {
-  revision = 52851;
-  sha512.run = "3eeaf55d52884639dfc3448e4e9b61434fb47fe144edc7bfb13cf0e45eff0813e6fa79921d81bb1ed14c268904728e54bba6922f79dbb759f06dbe0758a157b8";
-  sha512.doc = "aa72ef38e326aacbba3101946ba2cb001ec6a8a034c10e047b716fa810062073e1bc83c15dbcdcd8d57860f5bf480a2595fdff1c07f85cff45daaa1070273168";
+  revision = 54276;
+  sha512.run = "e7971b40c1f8d03cca532f2a05e598cc9eb7d3c7ebfb31ad6e844e17cc1102a41e38c827b905bfb0b4e5d71ead2e9016cff7d8581aefe46913f9e370f22c774a";
+  sha512.doc = "98cd0da91af85878c5b22999fd372367df988ba879aecde886218fc8440f1ef06c43c23e2a4aa87d52a0d1d01799acbb5830ab7607333dd198b21b828efc6829";
 };
 "onedown" = {
   revision = 52525;
@@ -23909,10 +24606,10 @@ tl: { # no indentation
   version = "1.1";
 };
 "opensans" = {
-  revision = 51458;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "892cf5c5f2ce29049a8a836a94e64981bb51a9a7b18bd3d003cf9f3a233c0da0fa219fb24ce5ac07e7cfc2b94862bf1f201f62a91995ea7f45e3a9a657a875ab";
-  sha512.doc = "e8c005fe3c22ca88ffa9f313bd1735dc879167abb17e9c3ba1ad60d609fd95c61377fffbcac15cb5fe2f3e855765b0981c7a602235c3ba5eaceb759f3c92236c";
+  sha512.run = "d92d10da8d6d8adfa62d440767ed1fa9abf413a575b122dff275eb2e46d501436edd90c215611cd943308f32a197c72b8fcdf56b72268f76237c2227cc9dd5ff";
+  sha512.doc = "00e5243e465d948b6bd63bfd161d4e549cc6e5b008a8cf8aff1ea5a31bc7a1406858c045cf6fb52c254d61869f1bcd5ef8c6a43ea66164e842fe3fcff2b26540";
   hasRunfiles = true;
   version = "2.2";
 };
@@ -23933,18 +24630,18 @@ tl: { # no indentation
   version = "1.0";
 };
 "optex" = {
-  revision = 53927;
-  deps."luatex" = tl."luatex";
+  revision = 55655;
   deps."amsfonts" = tl."amsfonts";
   deps."cm" = tl."cm";
   deps."ec" = tl."ec";
   deps."hyphen-base" = tl."hyphen-base";
   deps."lm" = tl."lm";
+  deps."luatex" = tl."luatex";
   deps."rsfs" = tl."rsfs";
-  sha512.run = "9aeae528f488438fa8fec80aff5def3c402139d28b65541920898f6e16211ab7f68fa91477af2a2a10eb981591e3d378f6a163673341b7e747566ffc6513881e";
-  sha512.doc = "52c4e5c72c71097ad634ff3e7551750de906f6639ef3c40f0af396227e99d4221d08107674b4e760740846900891deac4c069124909347ba1b6a502b3a31c047";
+  sha512.run = "3231c87a4ef894a7ef934eb57d69794f31c0ea371417fe066ab0df4ea4069d151155e72fd3422f1b4091d1a789e8739e429dd78b75c64d77702b8ca85d5c397a";
+  sha512.doc = "1b5c6741b70d4212973635b26121dc432bcca676cb42a6c946c43909c70f8bf201aced0e9cd2266bca4c8e7cddc5f3200f59a48c2f4d69ea8fd6c261b6b11d6f";
   hasRunfiles = true;
-  version = "0.05";
+  version = "0.15";
 };
 "optidef" = {
   revision = 50941;
@@ -23987,12 +24684,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "oscola" = {
-  revision = 49772;
+  revision = 54328;
   stripPrefix = 0;
-  sha512.run = "849e2daf4a7a48c6a2371b01392726c28d55d4da7ab7fdecdba545d9a9f8a7c2b026e856cdb3ff1104c1872584d6f180d5ee3e272c8b2adc3325a846a8c0478f";
-  sha512.doc = "3d38a95beb8d399e33d6c9e1674410f14d7941fcd83524b658373d06c897e8bc5474eaf32063077b4a9ee9e5db4055bdf908ab8574b74e44b04dc1977714c1e7";
+  sha512.run = "831e450ea6fa77f521eca76aaf281a0f7425e28d889c7bc919cd04c52a78c3a0665abf011ec4ef722f47e737c1dfb48f8aac231aa3f370d594cf5300d84c2456";
+  sha512.doc = "6024d48e3b6f68037a68dc04051451be2ea7a952e5d8f55b9bd1160d11900751b5a58cc8662e5c38940bee01a442f3691a8cd8329ee4bd5749cf7698adf72cef";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7";
 };
 "ot-tableau" = {
   revision = 44889;
@@ -24031,6 +24728,21 @@ tl: { # no indentation
   sha512.doc = "c97f91df77f64d824605c56669136585b94d95031ed5a4a67f3404c54b2c96f32bafaecc06d114755d0e65c3fcd0379d63f28f94aa32ccb8d23730f5f3eaf63c";
   hasRunfiles = true;
 };
+"oup-authoring-template" = {
+  revision = 56594;
+  stripPrefix = 0;
+  sha512.run = "52d8c2aab996e2a068032086e1fb057b9feccf9469bbdb7c5b9819975ffe74974ba8a7aef8dd221898ca81c647ebd82e2bcf45ecc9832b26aa64cb413971c68d";
+  sha512.doc = "817ad802170495066f3985b11320abf136572ca03fff8040b31f274907f5665d9906de2194d2959eb5b2a781b2266c740e883085134b65f158a33f8ba1a78e0f";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"outerhbox" = {
+  revision = 54254;
+  stripPrefix = 0;
+  sha512.run = "954af6a75833dc388c430faf538415457d0526b85060602b93584a45e6b0ff9bb83ab1d2117ef58817f08b138146873ff74ab045f174e949a0c9fb9f042b1121";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "outline" = {
   revision = 18360;
   stripPrefix = 0;
@@ -24072,10 +24784,10 @@ tl: { # no indentation
   version = "2.10";
 };
 "overlock" = {
-  revision = 52408;
+  revision = 56079;
   stripPrefix = 0;
-  sha512.run = "449caa738b2af059871e8142b6257a65bcf02001461c64deb4e785cf1cec6406ad3d13f9b39bb0c06fde690369cf44c64f9dbc869a3269eaa1161fd840334eb3";
-  sha512.doc = "5083d926ee34f7df8ac55111fe503d31589ff319725aba1a726500c3ad935974a29c68d677035a9b82beb249295513d4e3f70310cf078d376f084e354de81d94";
+  sha512.run = "0c3754d8fce4d3a9b68cd4d8e23d8f53d03ca3e1a1fa81e1af9fc7148bc5376cb8fe15869696667bb109829817178c1f5a6262a10f42c55c00ece4a3e8beef5f";
+  sha512.doc = "e65417e21722d510ff6b41286ea5018513704f0bd346a77c8984b70339346a555dd1ade9c944868318f25ff07e73401807b1882a0eec90259ed55bfd50ff4382";
   hasRunfiles = true;
 };
 "overpic" = {
@@ -24147,6 +24859,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.5";
 };
+"pagesel" = {
+  revision = 56105;
+  stripPrefix = 0;
+  sha512.run = "c07cd3b48fd5cd59ca685b1ae39da7e7d8774348241c26d29a74b41ee6c29fdae0c01a47a79aa669cf6651b0b83a5b79f8424c139c17db5bca20d30186e5b655";
+  sha512.doc = "eeb70877276b393cccb1c0e301c191480e5aa52715738ac6d01b58be864b065b3b72afdbd90d3a398284671682370300537d4953aa2adf4355fc6d2278d2819e";
+  sha512.source = "457c52df8dca820c8ee39494630a077d0a14f58f7308805dd0b5f5dc374fdaee83581cab3543d7a9ded91ef94f7555f2d2b2420a6ff2c9ddf7c790b5407f468a";
+  hasRunfiles = true;
+  version = "1.10";
+};
 "pageslts" = {
   revision = 39164;
   stripPrefix = 0;
@@ -24238,13 +24959,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "paresse" = {
-  revision = 29803;
+  revision = 56598;
   stripPrefix = 0;
-  sha512.run = "92c265c8f34f24ea37a478926c127b203b9ddd143015875869745ea1633cc1458cfbbf4129f24ff141e91724f9bbeb1384912ee753ab7a26336c8470897430c3";
-  sha512.doc = "ac71db33fbc694555438441de4d03d5277c598f12a7a59f8d0b4df05c39bb29571691c3165dfe121deebaa4bfb90fa5e7b1a2460d8731bbaa71502ee79b37a00";
-  sha512.source = "4c442470bc63c0cf2df221e02c890aeb1375c51e02753618ba51f13f20e054769e700b6d226c8d2690f8b49d86bc0e0306418ed741c44c4bc7127986b6941935";
+  sha512.run = "34d307329e04d1c2ba29363fbcbb76d31280ecc13384d171a216fdd8df3201da8a84f54e3fea97b4fc97f23a690ea70c8a75726b132936c0742a3e83a6b2cd41";
+  sha512.doc = "2e1df81de22eb486134319ff822e4ed2642e6427cb7a6e442e9dc231d0cc44e7ccf6bd72b2fd940d37315e45ba59e87edf6fe849d0890f8f5f6c0db884b21573";
+  sha512.source = "4048d419d91e8e8e4c64b4a0e0683369e6ed5517197b9047413b4e70d8f8ad172296caaa37ed5a4ea24e480d26b415c66faaad31a720a02d467eaf28e2983094";
   hasRunfiles = true;
-  version = "4.1";
+  version = "5.0";
 };
 "parnotes" = {
   revision = 51720;
@@ -24263,12 +24984,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "parsa" = {
-  revision = 53130;
+  revision = 54840;
   stripPrefix = 0;
-  sha512.run = "5056c44131038c65cb945ce5f7e8415381be16c6c5186ee4f747acdfe99b1d31e94f5fe1bd038df0423277300d92889379ba080c30bc5dd9f76c868474d5a553";
-  sha512.doc = "3e99c9ec2faafbd53a95ae6ba1641fe4eb0857f1a0ee46a633b162354e6c91f406cf438fac136d2e6085704bbd3f79a8814b6e4b4fa9769454b1812b9528bcf0";
+  sha512.run = "76edfb996d6354536b009066d4916b5864b0be1a55954a627380d4927eb05bb888d80c0259d52d367a8be58f5b20309cf65cbec0e8d4ebc6bef2b3840bf4d207";
+  sha512.doc = "9cf2df697f90c46bc119f4df1816a734344066fefc54acb37a6fd2c127401a4f8ba12dafe0350d7bde90212924e40f08a500fddceaed44d735bcaf0ae9e48cb7";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "parselines" = {
   revision = 21475;
@@ -24280,21 +25001,21 @@ tl: { # no indentation
   version = "1.4";
 };
 "parskip" = {
-  revision = 53503;
+  revision = 55560;
   stripPrefix = 0;
-  sha512.run = "783e6be1ac9fa993d73c3c68c2fa3a96484e191e97a7f9b5d1027ed7aad11d3209f6d56d25c5f5f982cdb249c7cdc8dabce51bd8fb5d919da95665da04c39893";
-  sha512.doc = "fe5ed5b4a7a89917603859623cd053c7a4b78de2f90c85bcf18e829b4e44e7e72a094408008fce88e2bbc0b2f235b38014aecf471cb8c7554a462065df60280d";
-  sha512.source = "aad22e5509a07019dec39da136b9e3754235d4151c19d44006d5b0ce7f56e85903a7568bb6006943db9f1e6a54eea9e012c4ee29db2ef06530152bd30c0aebd2";
+  sha512.run = "33fd97f4a8ac07604696bf372901013f12d0926696ab6ad7c57b7f578c92da416faf83e441e16711d56969117a5204de2949f9b69d56faf3057bacaf07dfb4cb";
+  sha512.doc = "d15b36913914f54897c50521af97c1c61328c7b895b9fbfc25d5285abd029fc433c544fd3305675b374f685b91b8b1ac2115755210d02489799e4fdd85bec548";
+  sha512.source = "123935e4aa68cfde4dcb05ac4e908fb930ae217fc0fd2314c3fe6fb5a01507db1cefcca742195b033e813dcbb1dfa6bd09e26bbbcf3d53677cb503530875f89a";
   hasRunfiles = true;
-  version = "2.0d";
+  version = "2.0f";
 };
 "pas-cours" = {
-  revision = 42036;
+  revision = 55859;
   stripPrefix = 0;
-  sha512.run = "0110f82a7e0fe6219b44f645bcb01a5ff97a8a6800c06cb9b6bf10cb15a5a4749d82728622e23e11f272bd2250f3e1757edffe3c9d27f808a3e2bed5f4439166";
-  sha512.doc = "ff7dd904160a21ad3d84a71f75f6b25fdfa3aa0687128f2f2eda19b2d590a91d0db1e654dd7d1fd7be9bd643e008db1f0c30b2d46ee6e3b02d0d71bda2b964cf";
+  sha512.run = "a2a96c526de2581461941553b0c47bb4b08b3a9df03ffd121d14f3ea6e8bd62227f12acb4853f04240608a805189f4d90459324801ee25def1b44c48ebc83bb1";
+  sha512.doc = "7bbfff0a879ba2287e528a63815b005a2159800656078db2ea2c0460887dd15772e04b1eb8953446c86281037180d82d84172370e015d2c66dcbf23651c6a182";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.9";
 };
 "pas-crosswords" = {
   revision = 32313;
@@ -24342,11 +25063,11 @@ tl: { # no indentation
   version = "1.05";
 };
 "patgen" = {
-  revision = 50602;
+  revision = 54994;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "524ea5aa09feba7ef5efd47e35d8d94703be4e191bb081d0b13007e853e88729c6029451e58a7237ad5ddf524c4d0798421316c38d1d9374ed7cd05f2744f761";
-  sha512.doc = "136e6c23505593788da8343f4dffccee77ffcf9fa63382871507db47c3ff23d6c25d0cefc985f67e4ee137840aa3af8f1738a5b2dac5272e568e73b18b71a5e2";
-  version = "2.3";
+  sha512.run = "38b99382d97e8c3315d2d5ae713c41445e43c9300a4829dc7a00b8db098a4bad592a18535f1f281aa6fab893247f703f203ae3e3ba8f2f22a56b52163abe80b3";
+  sha512.doc = "41d020627edd29ec233517cd7af725171eb0d679b3b17d3ec2b6425540b9069414b97766a34bf69d92436d6af464fc624f15d903c18a56340e326ebc9de5f91f";
+  version = "2.4";
 };
 "patgen2-tutorial" = {
   revision = 16490;
@@ -24381,10 +25102,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "pax" = {
-  revision = 26112;
-  sha512.run = "3fa85993a3cee32753a6b965a2e7a97cccda36f2c32941e8650026d90a8a69c93ba1f762f802f15999b3c32e327e1a98d970217613a660cc5fac68cf3afabd6a";
-  sha512.doc = "e4a2c6b4220bb498bbc1f74ab8fdfcb65d261ef944a43a86f9007bfd0073c9c6aca08fb136c8b1516d78fd3a37bb00388afc95874778fe453e75f0ea615ef1bb";
-  sha512.source = "ad5e65d29d540d3736bf7045c0c392d79d2ba9c9a194a7d04df3c76729105b95c609167900e9b4533d0ea353312c452de0cb02f303b0d5e777c0eddaac0c18dc";
+  revision = 54512;
+  sha512.run = "ee6d006f6f4dbb16cefde5362c9b1b43e470fe03565724ae4a64f8c889dce3d2415d7d1da10bddd1bd137ee042ca2b6369e7a2400ad888db060b44ec2f057a3f";
+  sha512.doc = "4495f8c1ce62e37565947c520f7cc638c61d984a394fdc833146c1010a8ef5a17a56340eb70a980fdf16ef21483f33ebfa7cc02d6b212ddb074739862f0ceff1";
+  sha512.source = "b47294dd79cfebd9f0ad48d3a17d54e6b4d8e8ae9fa2618f4299c6cf263de9f3342675d971d8585f65f906aae45a5a6ca26fee999f30137897a25ae59177e6ab";
   hasRunfiles = true;
   version = "0.1l";
 };
@@ -24479,11 +25200,11 @@ tl: { # no indentation
   version = "1.7a";
 };
 "pdfcrop" = {
-  revision = 29348;
-  sha512.run = "eba7fd5c529e1b3a29d00ee679c24748050f1a6005391de4bdb6e6fd537cd447b01e6569e0eaa87251d49e14f548dfc80d5e33f037862a4e978905af37e9e186";
-  sha512.doc = "5deb207030892f9e351d511bba20e65e957b5db17df6af60022c3f069cba127be6e9bdc1e94600b6f36af8f35697b041ac5aa529ef7997f57264b1dcbf76ce2e";
+  revision = 55435;
+  sha512.run = "ba611ee2a516fb031a7f3c93f563b2aaa2e50d4ef95433a5d83ee46191c2a6001fdd4ef25f33166c0e3f9791e85c200e452684974d54d34e8d651a7254f6652c";
+  sha512.doc = "786fe00793f62e09f225ca0decdd53ad3b2ce03a133a2ae4ba20db9d40352863dc6a8728e005aecfcaec06072e8a0ef454d1f7fbe90bfc5997cfc65c6ab97170";
   hasRunfiles = true;
-  version = "1.37";
+  version = "1.40";
 };
 "pdfescape" = {
   revision = 53082;
@@ -24556,13 +25277,12 @@ tl: { # no indentation
   version = "0.5q";
 };
 "pdfpc" = {
-  revision = 53902;
+  revision = 55536;
   stripPrefix = 0;
-  sha512.run = "2f7a04d3cf55e996bb6507b7dd85a1816bd0ab2c26025b9a46f7c111912237b91889731f656b2490c06db5756e5241cb77c00c59215fb5c56a6d48d16bf7ed91";
-  sha512.doc = "b49f357c4d08dfa8802218b30b1dc94f8db8fbd612399245333a26d93e543534899d7f0884222481fc5758b90220779330a85094317636860b44c9ab16f8f6eb";
-  sha512.source = "ea5daef06e63cab760cf70c51c3777a44b223737709a65ef6ae232a0c040deb38e58983b22e862e1a8bad08383fddaeebbe0ded9c0b384d0a283a21925052aa8";
+  sha512.run = "13ac7327ea2efbafd7e6babb80ebf092b7435adeed1bf82228daebaa2bfa1aa84f840c517a842127deae42cb9debcbf4837d90d2ecae7e3d9c7c26eeb15e6255";
+  sha512.doc = "830fe7ac4066f9cd8ab68c2cac02420b8034ccc9cb87004ca7178d760d736abbd128490b61488d88777efcfa49490811a62982500db8cdafb70014f2da45d582";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4.0";
 };
 "pdfpc-movie" = {
   revision = 48245;
@@ -24613,17 +25333,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "pdftex" = {
-  revision = 52874;
-  deps."kpathsea" = tl."kpathsea";
+  revision = 56291;
   deps."cm" = tl."cm";
   deps."dehyph" = tl."dehyph";
   deps."etex" = tl."etex";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
+  deps."kpathsea" = tl."kpathsea";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "703fc22a4d9f9251666491693b526a2622f63ae05d1caa402219b72d680a43a9eaa1294dea53144a7f0ca326ab7b88405d0fbca9e9652444bc1f34144917df99";
-  sha512.doc = "cf15ec2fa6cb7230edf4a22a6811aeabb48b0420275bb6be4b2976593e33865837e50b874ab7da7a7b536cf48b74a805b93e154d4cafc42542995acbc49e29a4";
+  sha512.run = "63721cb7c3e68d52f4f902824ecdf795b560d262cdf977adc0b736a5651fdf7722cb4ddfb6cdc006b46415cf28d33bfdab69d64fffb0322af59f7fc1e6ce43fd";
+  sha512.doc = "375dbe5d9c412f14504199751697543a54b42a675c6aa722fc11da588098dab5de45e909b0a669d84f671fb50d8aa544f05af41428034843695f24adf2d016ea";
   hasRunfiles = true;
 };
 "pdftex-quiet" = {
@@ -24634,18 +25355,18 @@ tl: { # no indentation
   version = "1.1.0";
 };
 "pdftexcmds" = {
-  revision = 52913;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "04bccf5df6e3d0e70673cad77a778c47eaa3e733ee3b30062bde6f19126aec573bd8bb3e669b98ad61a5a3e04af4a92fc038340761ec5da955254c2874a669ba";
-  sha512.doc = "932a1d8224152e54b34e5dce7f2a2ebb36d7816e3791b3d95399fe34a2c2dcd2a9487caed2e082c5e5e215e64ebc8a095a2ac6e1ee898546ea1f906634dd1ec7";
-  sha512.source = "628dad73557d9bcf1debd807618e6954ff6a844ca1d89cb3c96119ba6ba42b7cd88cba9035bd1ac43f34499b811aef1f503c4fb9f52de47137afe037df6a8c69";
+  sha512.run = "91054b61b76382813d80e873d908cc07f8571b7651f49a3dc3e87063507af43bf31107c34187b703b0c4462eafe0cd605159803c72cbf2821cf6ab3afb78fc6d";
+  sha512.doc = "a16db56366e80b1694b78919a245336c37690ea9a1305a606a3bfa85a73c854e92d1cd8b9ddb0bdfdea82f1ef684d06d8b4649e4111c39f24f321dbcb01aa036";
+  sha512.source = "f3e62a5f9029f71c652105b137048cef4f5562dd0848bb7a94d251e2af579c394322a70f40aadbed3ac56312005d59124ef3fd5a2436127a72c430d344ecede1";
   hasRunfiles = true;
-  version = "0.31";
+  version = "0.33";
 };
 "pdftosrc" = {
-  revision = 52960;
-  sha512.run = "6b6fe771e5dd9523fd8d35456865068d980dbaaa8a8c3228ac4578b1b218c48e2fa851a7bfc89a77ecd9ee6c2eb743fd9da8351ef379a149e5318cdd3dbb41e4";
-  sha512.doc = "96f268374f722248cba88a62cf81ccab39414d031345496044b4d2fa1b966d7e0722fa265d89f91ad755096920e937775c78dabcc4f60bd06645ddd990b18daa";
+  revision = 54074;
+  sha512.run = "da79e91e793576cfb8ade78669422f9bb2caa2262ca607e1d174f976827d93dcb6d2042d8bf7276e7ae1129cd48198ff2edf2837f029d4d743a9868172af5612";
+  sha512.doc = "8f201c523d76bc6a706ec8af4cb8578e4e490c192715ce7b76395c955ba4e075dcc2366982f3151f34d73fbf93beea3515e5b91ea1a2f1829dab427ae5bb6856";
 };
 "pdftricks" = {
   revision = 15878;
@@ -24664,10 +25385,10 @@ tl: { # no indentation
   version = "1.01";
 };
 "pdfwin" = {
-  revision = 45797;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "7f1fafb7396eadc81ae39727f35b1f49ee0fecf7ca1950d8fd5b80c46d24811cfa779a6d53b10c007a7916e14584de5e88f2bb5b1f3ef8fad739dde63e56bc0d";
-  sha512.doc = "d352311a94d9f673ea8c6460f6771747b0523e2c354e5c7114cc58d7e0e92210f4eedb70a728d423de387a2ed2a3460f1acbcaef38579a26d2225f713e606407";
+  sha512.run = "13981a137ab920fe72e1f79ae3bb14bd9e37cd4eb4dbb66095926e54eddfd28903b403a896a013ac40fcac80736c566e983e34fb9b7a54d0759148ce33af14aa";
+  sha512.doc = "2b8d546b5591773cb9ec3ee407d7390b81e8ec1a6232b626ddbf9bb2cdbbc8c9c00e08ae4772a4b67cb38e96ec2be3db981eb163d412738e5e7bf94e5196637d";
   hasRunfiles = true;
 };
 "pdfx" = {
@@ -24680,11 +25401,11 @@ tl: { # no indentation
   version = "1.6.3";
 };
 "pdfxup" = {
-  revision = 53345;
-  sha512.run = "db2713a1f00dc2bb641094b4f1b84ca233ee3a28ac9bb70f41703937f51aece3d4f7b8803fe158cd4a470a859a81fdb68131a95ca32aca50eb9e83fe76b26f11";
-  sha512.doc = "8d37a4bd8592ab172e59b9722712b4019d47cf6e732e6eead889119bdc396b4620b6aeb33d27def1b3f641e326cdefdf80191259386cb2a18292890ffaee9b14";
+  revision = 55656;
+  sha512.run = "95571c2914ccbc305331dbb0ad6f0deb6a393f22ed56c55da9936f4c39054c076b8136237d8f2479d7522b68e9c47978de950c4133370a3feff6f2f45b2992dd";
+  sha512.doc = "4c532ca5731b8515c73a0bdc5355e9c1286a6e52f9c14b964454bb4331f22446ec0d189976d85b8df024441cf5cd21d74c77aaaccd94758a415cce1bcbc1cc6d";
   hasRunfiles = true;
-  version = "1.51";
+  version = "1.60";
 };
 "pecha" = {
   revision = 15878;
@@ -24718,10 +25439,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "perfectcut" = {
-  revision = 51744;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "3537b9010fe1719e6f27c800d6b81f01007d0c223a11eebf53daea4c67dab02ce94def02591b4663a7dfbec3eb9ebc4e7d9aac3db92707904068bd53d8567367";
-  sha512.doc = "41ac483d2c8662a29f85936445ced063f0325045513a1b703828f8af8b2f544a3054d9a65bf66669025396da698b8e14533f405ed24f37738236b65d17a9439c";
+  sha512.run = "edf0b4dc69d24b4515b0285dd4f4c7a89dae239eea2cad7cd194e9625dcc7e306c295ae67869d1e58d64e0f68d8c39779e0cd90a4c4f5a4e769be73037cef75f";
+  sha512.doc = "84443432cdd05634c4f75ce3b912bbb2f1681237cfcf3c34ae070fb07e0342b7a5a0abf7dc4d26994bb7506ad3d6b5bd008d4a2cc738b418cbb9b397ecb1d2ba";
   hasRunfiles = true;
   version = "2.3";
 };
@@ -24772,21 +25493,26 @@ tl: { # no indentation
   version = "r36";
 };
 "pgf" = {
-  revision = 53349;
+  revision = 56512;
   stripPrefix = 0;
+  deps."atveryend" = tl."atveryend";
+  deps."fp" = tl."fp";
+  deps."graphics" = tl."graphics";
   deps."ms" = tl."ms";
-  sha512.run = "afeab677fa457cb4a12c9e3531749fe0389e8f84f0fd46fb077ea898200f3fa5f23fffd81c430d36f67078a42c8ecf624b6ff1a1809f17d2223dde72249b729e";
-  sha512.doc = "538a31e071a8eb8cd8b96046032e6ff059fc6841c908d89a29e0f3c16773658e6bf51831f40d261598ded5a33f33e03d3363dd701c183bc7cfe56028528671b6";
-  sha512.source = "ac83feec231dfcff261bd0afccec5e1961d65f8e5e31e7f493c61c9e5a02c1e76db724a32eefc5947df72d2714d1c533820033c1aee4fd8d7201832a541e6551";
+  deps."pdftexcmds" = tl."pdftexcmds";
+  deps."xcolor" = tl."xcolor";
+  sha512.run = "7c60057a60eb038aec5df5db9695ded7e5397666ad9f7fab62bc5ebb975dcf989708f0bbc1cb84a64319136f88b4b1178de3fc7d2e1ad23bace4501e4f0de100";
+  sha512.doc = "b9dcdabfe05ec6663871666e4aad38a6d60933cab0d9b0d3d2af1e119335cdfcf4c8179c350340bf83cf2839f96a080edc675adc6d876e6594813d50381f025c";
+  sha512.source = "48b1b38739d9c7e18a5e363ea92f26e0b786f4f1053f5f9dae9dcee27521a945cc7c7f31d626099c1933626c62e786f9d228463501026e9d87bedd38e21847b8";
   hasRunfiles = true;
-  version = "3.1.5b";
+  version = "3.1.6a";
 };
 "pgf-blur" = {
-  revision = 48446;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "a341495270be35f6824a10edff85edccdfe4d9a0f3cb0ba50ede1b8f5970dbe93b0d5567f113b5c2dfe0661f7201fff710cfae0d9f3f1420245520486775e399";
-  sha512.doc = "4cd2faa5160e0286f8b23f518c857b957e9873c0f8f1ec54f8156acfa1e15f7e8c22e6b4691d07ea929b6cc3c76847413fcb9223852bf26efb1c6455909e1816";
-  sha512.source = "b254cf39510bc1604af7f238a00d9ea9ae615a1a99da8714c11079553fcae3e26dc8534e6fc7797dcb1fc02dd68a6b236e05bfb4b58bfeef8f1cc8195e4c5c05";
+  sha512.run = "95093365a79d7f8a2df134decbac172a080711bcf8e8f77267ea4520ccc9aa398f5fbedaaa5500fa189b3873d8897350dc2c99f142b6bed1a6e7705293a3b8b7";
+  sha512.doc = "d313e5ed1a0b5637996d6bd1827b909a771fcb44490312c502acd89412966d7662b1482fb8f3347b8d658b336051773c3d10e70df9c1f22e810802936eee816f";
+  sha512.source = "c8b7baeb30d520d05d53d6c37f70e028d8622d59eadb7b8aef9c26147e5ae4704fbf45798315597f6ecb65a15e4c8e8e18dcc0cac98b0cb69efb191645632710";
   hasRunfiles = true;
   version = "1.02";
 };
@@ -24799,6 +25525,17 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"pgf-pie" = {
+  revision = 55342;
+  stripPrefix = 0;
+  deps."carlisle" = tl."carlisle";
+  deps."latex" = tl."latex";
+  deps."pgf" = tl."pgf";
+  sha512.run = "b187fcb3e38b7538b1f0f52b94590198310e5518862c8ed6e0c5a01f66328e15f3a425eab827bef4a045ea7f7e822bca4f213ed5a5bf25c429f00cf0939bad88";
+  sha512.doc = "9828ccd5976095450852f2b63dc3937ea24a1a80e4617d9ff183ac80ebe69913ce8cea13a90621e352762e904f338455412148c0fc4159747dc13cae3b2d828a";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "pgf-soroban" = {
   revision = 32269;
   stripPrefix = 0;
@@ -24816,18 +25553,22 @@ tl: { # no indentation
   version = "1.0";
 };
 "pgf-umlcd" = {
-  revision = 33307;
+  revision = 55342;
   stripPrefix = 0;
-  sha512.run = "323572892f452d609286e507032c03d7301b5822dbce0ce3bf3a588a75a307dee0981f2c6c49cf17017c967bfff0d23bac24d7bc06b66475b8a9cfab9ae906a1";
-  sha512.doc = "18a494bc6e6c016b3da4d5d51c2cc529ad515b69c6a150623ffa6dec4cc92474766dfc50cbd9c894f491f594ba5f2af4b1796d3a92da21b99272bba9a65bc92d";
+  deps."latex" = tl."latex";
+  deps."pgf" = tl."pgf";
+  sha512.run = "800b6f5772cb6e20d5487263a35ebdb1ef491eb3dda2f37a2de89040758c7ca8f2a3541a4ca7e64155d18595ab2a814684a044569f87810d6431aabb938d87a4";
+  sha512.doc = "2b67b6e216f43efaeb33089a830786dd03137b2d0f43e8a998d8381eab8491e095251d0d534c34112f1b10758454711d0a4607327ae385611f8a4d576cf05b91";
   hasRunfiles = true;
   version = "0.2.1.1";
 };
 "pgf-umlsd" = {
-  revision = 33045;
+  revision = 55342;
   stripPrefix = 0;
-  sha512.run = "e32c27e2c779ba362435fd0901703dade14836347afd99b7f8e55dd91d5724ba69fd517c39bf52d95189351376ad505a56634c0a751bc68df36dea952e30e7a3";
-  sha512.doc = "de4b7c62d79400f107d94fe3101fbbf87ee6bb2cdbb04aa6c1d5eddc9271fc4090b39a79dfc18c45d9f73371f6de09707c342e2cd5ee6dece663ee4494d53ddc";
+  deps."latex" = tl."latex";
+  deps."pgf" = tl."pgf";
+  sha512.run = "6b015603e3daa362e473d795d32fa785ce247b58ec9f88872fe4bdb4fa660000bd87da2369de556f998485a6fcb6dd49aaca549b0470b41adacba5a278453197";
+  sha512.doc = "968d23fcc4f114bab204ec53281975a6fee5f81635ece256351198075cd8463a706954f463beacc162180459fdb3652657f2c060a71c588681f8de6e788a4e6a";
   hasRunfiles = true;
   version = "0.7";
 };
@@ -24859,12 +25600,12 @@ tl: { # no indentation
   version = "0.21";
 };
 "pgfmorepages" = {
-  revision = 51051;
+  revision = 54770;
   stripPrefix = 0;
-  sha512.run = "6e40413358c57b2f16153c12a9f227563f107bbb966c795bd2d1d0dc7444b2acf7ad72631f23903941516bea803e4c539399884fb4e479abb61b4dc9a5bde428";
-  sha512.doc = "b8e0949fc1aeec50514fffa3fdd88ee96017207a39f1d8c15b326604192eb2277ae6749c5faa8f531bbb0e3ad3d0e25d3c0478583538b2a8ffbba5e3f780c9ed";
+  sha512.run = "9a4fd2f42276cb72cd39dfe3cb5b6c43855e1d7f01f47c53b23c8aae7bee98c89e8a8f784a917c0c4ebc35f9dcaec18b8d4f6bbeb05ec5a80647ff7ca23c02ab";
+  sha512.doc = "3bef05b263791c9b1e92868ae22966f5638a900d44ed9ab9de5beeb0dd25c7e8745d09da4cd3c2c7a9e9e5c710126cb7bbcb67579e770c43e6c7e057dcfdd1b5";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.20";
 };
 "pgfopts" = {
   revision = 34573;
@@ -24876,29 +25617,29 @@ tl: { # no indentation
   version = "2.1a";
 };
 "pgfornament" = {
-  revision = 39988;
+  revision = 55326;
   stripPrefix = 0;
-  sha512.run = "bf930b8abf986df03e46e8c228e82c4015dd3f671688deabe3756815d86c2ce21d0738e4172874d233c3c7c28792ea7081a32011a3db64d93dc4a8b4c9f56162";
-  sha512.doc = "6909f93df3cd162f36817ae99c7f7da532b9a44b6621d303ec4f4828c22d99d25d4e4c1ddc17f81ce2b070ac8fa40bedf5790a097d3d5ebc095abb88a92fe037";
+  sha512.run = "3d5742197af0b6bc11a14ce5b2198aa7a580655f29757f825c24b4081dbd318d45d4dfca065fc04f0d5f47d92fca166a185c878c8d7a506e4ae7547def41592b";
+  sha512.doc = "b35295915c86e4ee5c2fb9b1ec2d545c8d4fc1cf5e65f3e6247e4de1e77e2f789f7842cf234546d6e658a73b4837cd50f8216cd9425f588cfe4a12c76bd134d1";
   hasRunfiles = true;
-  version = "0.21";
+  version = "1.2";
 };
 "pgfornament-han" = {
-  revision = 51863;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "a53e1595e0ac579cef90379a85465fc3c247b803dea104ce7111de68c6c7ca114c6364ca50cdeda051e2353b85e91b39118c31c3d8e464943b8ac7f07d3e660b";
-  sha512.doc = "d2f429a40d6e1ad24b098039cd212f7667442eaf47b307eaf81585f9443028d03bf612d5f080acc5fa20a153283d49eb8a9550f01596c8d6a38bb9eea4399b31";
+  sha512.run = "7db1999c8f76addc56ad84aea76617fb61d3407bf28256379526058eca3dbc2f69442c6d0214d31832e31048fb1b8419125dd3441fe039a832d573346b15809a";
+  sha512.doc = "68e6720389bebb23edbd5387a3e0b3c9162b8cd0ebdf96825bece939b983033408d01b4739ed034cb9e0d3fefc21c87049f6ace1abc42826757ee6bc7a86da9f";
   hasRunfiles = true;
 };
 "pgfplots" = {
-  revision = 52663;
+  revision = 54080;
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
-  sha512.run = "0ddb564ecc457328291ba09e9162acfdbc19d50d1b6aac3ebcf0d6de0c39aed6c3b5efc8957c59850fb49269e6d149f73f4aa5b41e176bfd8d3b99ce38a15a61";
-  sha512.doc = "b9ef06b1d001a2dee3474ba75d202b428a50319f3ca90c06cafaa3e514f62abcbcecdfd8880d486ee363d15d6122b2c1b25b4051442e690a7beda0365a1c850c";
-  sha512.source = "908b71f3dc64400be750d7b602e94d864d35c3f7593577610507ab7fcb959afb2b46bf6d1e3cb4b2382078861c21279665dd2f7387c2b0f2f0db57f10b84d220";
+  sha512.run = "65364a44b5950ece4c6b6797b149a147dce134f89e2d9402d9a42e656c4a1170c23cc66c8357599addb8283617061850247d9d679fa2ebdd2ffa90b311492b6c";
+  sha512.doc = "65a01a28b2e9e14f5277f3a6c91fcd1dbcd255bffa7feeb15132aa24013fd59fe5f5feb6b7a2521328ca2060c7eb8d2eb70b1433f32452b2f661c5ee7142f336";
+  sha512.source = "26eec6b3828e218f34a92b1afd8d457c67340289b85678baf7bb6daf5b9e82db44aae87a2020c41f8abe0f4b515b9c177e2a970c8821b0396164e3d11e62366f";
   hasRunfiles = true;
-  version = "1.16";
+  version = "1.17";
 };
 "phaistos" = {
   revision = 18651;
@@ -25007,10 +25748,10 @@ tl: { # no indentation
   version = "2.2";
 };
 "phonetic" = {
-  revision = 21871;
+  revision = 56468;
   stripPrefix = 0;
-  sha512.run = "fbd137931a2571d542b8cb66f8b613a57925277112c2160e21298791a65d91f4d1a6d3d8be5d6faba9abe033ded174d9d301f6ff1784dda3c1a9530f5f7a0a40";
-  sha512.doc = "710233d18f904db9eb8c235070681b9789177b375b538c743424252e6434dfc3a16fb4c6c1e19617d939a31eb75b4823bdf30e633bc240b7b24650cb411f94e6";
+  sha512.run = "655dda5113926fe28ee0695d8d87a18c1ae63599a2d476f7d9b3e3a28bde475cfe33fd06aa70d709fc05a2d43026e91348bc0c5435f4a9132859b7afcdf41a7f";
+  sha512.doc = "626ca0614b723fc3e4b75ca977c7a12e77908ca710ec52994e62e9e89e2064f973ab2bda3182a3b466eb2df2bdf030e0e6432cbf9f984bd7316b483f9c310b47";
   hasRunfiles = true;
 };
 "phonrule" = {
@@ -25030,13 +25771,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "physconst" = {
-  revision = 53674;
+  revision = 54587;
   stripPrefix = 0;
-  sha512.run = "9d96b559e6e9a67983b55fd5393386ddee8f5e3b42b38ead8f860f8141dbda62bba20a83ec2e7b53db455718eafe8383ac645f062d848fbf52eb41e50b8b4556";
-  sha512.doc = "1fb1f3dec4373cb95b9282dc059a2997d05874cba9c08934770571357b2afece06806ca6615a8089cdb4832094dd0fd7f4abdeda812a070b100e1444c0ec2652";
-  sha512.source = "afe9453d9410f191095803a5974711db3930144e5680cd63afd7a2c9ab21ba200ee60daf9648ce21ccf27d65253d080d912c18e0d57d9fdd8c5747c6ca883e49";
+  sha512.run = "c954464412df3790d43acbf0b9fbf6b50600281a28aa7b517f80d08f3255d99fc70d6ee7963144bb531de735227fd03b74d510642a819c91c92170da0c6a8035";
+  sha512.doc = "feb114e83ead721004ef64a3360c9d3c22e5303e52d409e7756e89db606e60baed2ad36f57f7ff6c374429494f34bdd27170109ca2fbf0dcaf501156e154c887";
+  sha512.source = "7e99c9ab14e0c5423be1d3129d292fee1f5b7cd75d6881f26287205ed832f301b8eae0c4c98779aafad927e43a8dd1953517940b562d60a5e38bf333263176f3";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.1.1";
 };
 "physics" = {
   revision = 28590;
@@ -25047,13 +25788,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "physunits" = {
-  revision = 53574;
+  revision = 54588;
   stripPrefix = 0;
-  sha512.run = "904be8c48e61e663936daf8b646f36009e287e8656b08897b5572307a32768a442b16d10a29d5f981bce5d8eb6638320e66d2551a36fc6e4cf9448eb57f96f1f";
-  sha512.doc = "e49086ad63a4dd87227e2433277b384015dbabbb7f1a5de4b46a2599a82978a96bb0553c336452c569a00372a7c1783f5098e0d765b9986e5778154ba3e7a52b";
-  sha512.source = "5deb57ec5afdd0404da24ec5678a04b2818b469e0251e0abdc77e59c0957b8772158e59f9c68e58c0b79e48f2a07d4202030de27cd439c8e353f6a9952681ecf";
+  sha512.run = "07ed1981923b47aaa5db8837a044c354b0a0ebb057497130e3bd5999cf3e92776290df0e01ccd5c1772365d45b176149ca6fcb276ad2c760a0e47f3f3c466d5e";
+  sha512.doc = "d63da845f312ef54c90b3c2ee27d8e3f0f02c2acd426dec0cfdb4325d79d61384827928eb69b4e8ce20ca49e4a7ed5d1e1a95e8a4ee922dcb53753ffa9f3d267";
+  sha512.source = "435ed188e08e38ebdc2a4d49b85d17dcee2d589bec1e8256443fad6c865c8ada874a8fea0a462f5876fbabbd6dc196d58e24be88463f10e9c851daf9d117c660";
   hasRunfiles = true;
-  version = "1.0.3";
+  version = "1.0.4";
 };
 "piano" = {
   revision = 21574;
@@ -25072,13 +25813,13 @@ tl: { # no indentation
   version = "1.2a";
 };
 "pict2e" = {
-  revision = 51918;
+  revision = 56504;
   stripPrefix = 0;
-  sha512.run = "9f8fc3acbfb19b9e45579c2e2b0013dc84b9c670404e71f94b70c1e8a91569731a3b6b44e17e3d80bce5a099c3f16d6d74b7788daedeb48262971ad001d38472";
-  sha512.doc = "43297b99d4032a53b8dc36ae64a42ba12d5b800a352514e9678b0fccbe5798eb8c780b5b950f72f322eb12b9b23266d57df6d74409ad17d413d08028b033c6ce";
-  sha512.source = "847e0796c5dbe144ef13c196a3f472622db7bfe5a83f6457188739b82ecee0113ed704846019bf18e514c0914561dce35419287803552f98775f59a7c293a382";
+  sha512.run = "04c4fc0ea9647c0a434be2ba709f539392685233adc92da262fee4d081b6d31bfe88d8c537c19a102bc7200e2adffac4f7a4cbb3a7a47ca47c26e93e96772e6e";
+  sha512.doc = "90fe6e6d6fce7d2a679bb511e2b0bbca2edc42f332886962aa227536558083897e1e3425b6c7efadaee6aa46d1e404ab5d4c18e21db52e723be8d4f0566eb5c5";
+  sha512.source = "0c637f9979672267e73dd762b43c3339f41ed8965c12fff1141c757572ff7cef7d7f2d8faf50d855cd22a3810b9ead5318b6c20c3e5218f01fc32252f93d29e7";
   hasRunfiles = true;
-  version = "0.3c";
+  version = "0.4b";
 };
 "pictex" = {
   revision = 21943;
@@ -25101,13 +25842,13 @@ tl: { # no indentation
   sha512.doc = "148b7c29cb8189174442b95cd39b0d5fdf9f937a7a44a17314b93cce555cf3db459e21ae2c4eb9098c15551bd7aada2804855d68f9408fdbe974f6c12dd724a2";
 };
 "picture" = {
-  revision = 53081;
+  revision = 54867;
   stripPrefix = 0;
-  sha512.run = "6e6db1ced24b2e3d9da18df7001a5bc371385dbced53d9b265dbdfa7adfb07f91ecbada1eb3a8604b4f83f2dd40ca3250d9122262ccb1e8bdaf7ed7111540511";
-  sha512.doc = "224a67a0e32f9713fbac6df806b0fabe47bf292d26ce4b4723655455c2396d9bba9c28f805c592f8247eb362bb28f9a26e300323d2372ad03c971b8b8af2518b";
-  sha512.source = "7dee50f956e046d868629226ef708672b11b7694633e5d43da4fe7acd62872cf2185c893ca24e158699c943567b2a1eaaf235c010af588dc1a33403e19f4cae1";
+  sha512.run = "9dbb4e17b455a6a18bae6309864412b975d07a1a11e908e1023ab8e990ded0956ccf3826e72d9878f3597eaa4d185c8b147d2c7d2149618bdb0b09fce8e20e90";
+  sha512.doc = "ce60fbc915b3c07db6ebf4bccbd0e2e8ed6f38fe0c07075af2c433b2bd7f82cd191c314ef3ae1fe9b4a02c2c27d75e97a5831c45b833a33373d545a977a162d8";
+  sha512.source = "599ad9e192d2ee50b7037d93c3a8541014ada30c13a9a8b637ee33ee9dec476a46779b06a44f56288e6fc08b29408af30310fbf0ec951aef3a8b0d8dd776aa2b";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "piechartmp" = {
   revision = 19440;
@@ -25141,12 +25882,12 @@ tl: { # no indentation
   version = "1.2";
 };
 "pinoutikz" = {
-  revision = 52999;
+  revision = 55966;
   stripPrefix = 0;
-  sha512.run = "e59a8a5c1d40fe81ffefb91308adb73e270ea1f7fe6d6e3cccc5a950b5acec6ef2a50c20430365e24dee5fa6459dc78325c18cc3ff150fcfaf79538bae085f00";
-  sha512.doc = "ec0f726118a9a05aea49c498e60932492308d3f9fce70b2ef458b52a26465659175149da3a54a2e1ff76d4209f637a11cf8956c22ee9839a2540e1bcece023d9";
+  sha512.run = "88ecb08a15725e4afbd296cc7eba16583cbe260989784e625eecf008441ac54ea53cba81801d77ab8439bc076c32d6c09d62305ef589d739ec1ed59e1f907755";
+  sha512.doc = "9fb1acfa981b7d38b312d089be9b9d5dad22334960133377b06910cb0df39c8e556ca86d5f9b959b27ef4c7fc2211b97507b138f026df58d439fe3ae9fd3f420";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.1.2";
 };
 "pitex" = {
   revision = 24731;
@@ -25181,11 +25922,11 @@ tl: { # no indentation
   version = "1.7";
 };
 "pkfix-helper" = {
-  revision = 29725;
-  sha512.run = "4828927668f21f465ab672b92e6e3934e81e60bd9b3bc1f28a65b2c4dd26d2ce244258ac1b7d8846c0bfbb653a2fe009875ddfcc0383b34249e775f675497478";
-  sha512.doc = "146bc49beeb779c4815737cffe1bad30c28e7e44409a3e7036ab82c58f6f1b7e0ea3498f1a19cfd312390bcbc31c72d9f61a92501d87690a61cdc7c66c2fd2ae";
+  revision = 56061;
+  sha512.run = "e5151d85d2db65f41b69320ad92611adcc8d211719aa06f39488ba75972f6bd4eda3a9ebd9f13e8889eb84451a640bbdbfd8862c95620304917cca3dcff4a194";
+  sha512.doc = "50103799bbfc18a728b6510f9cd3d9aa4cbafaebb1e68f2f3280b3a57efbdbf75ff68f36e72b4442e49bbb04801795250fb3e2d0728968e30c1e70fc5b7d15d0";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "pkgloader" = {
   revision = 47486;
@@ -25196,10 +25937,10 @@ tl: { # no indentation
   version = "0.7.0";
 };
 "pkuthss" = {
-  revision = 52836;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "866cd78cd589dbb4228aff9464943bbe4808df08960000fc7916268dd2df5c85102c95c01072fc03714680e6f250d13c7abd83f25441bc924db9d819a2f18b8c";
-  sha512.doc = "2dcb977727324cf981f262aed38ba4d8856338a37b5499133c46348002335893b78f8efc0959d7c225c32eeca43a743c446f448b9e55ff354cb977ff9a86fcb4";
+  sha512.run = "b311d7519c761f42ab5e45c4d8dbd800ce6e9b36118c738301ee58ba4b776f31731be0f4a9b15195a1827584ba464847ad9f68cb5e5cf1715bb9b354a63f1cba";
+  sha512.doc = "0e761ae1f6ee318021ad5de11ba354181bd6aea7d7df4bfbe4a20723ee6d7078751cbb74f0acfa3039274120a976eb7a2a4b0a4208ef5add17f4bc25867405eb";
   hasRunfiles = true;
   version = "1.8.2";
 };
@@ -25272,12 +26013,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "plantuml" = {
-  revision = 52175;
+  revision = 55214;
   stripPrefix = 0;
-  sha512.run = "a7eaf9dfd05377787a9bf18855506506a8252f0a8c44aef2d452834ea1f7091ecca66dceb6124e44ef117294d526838944884ee815a8dbf48ef4558da1284eb6";
-  sha512.doc = "ad2dc0f8696e15a55dca16c3a45a6376cd423c31722376b30fde2ba2443a4b768d02f745838ee4c83a1a228b6cb492367127799d9483a800f2da03ebd0eea214";
+  sha512.run = "30e49185f2916a0ac1234199e80fc4c776eabb69e7cea9f8132e7c32c074dd2a24cb100b1f6f2f80b314cef9e7099f881605ee3fe19ee180f2c6c856e33c73d9";
+  sha512.doc = "bd04f4ee1ebde123f718b147b407f65d0549171fcb3cd9c07381871a23034520563b02edc1675aa3a6a975da6d811674d653c5527b6ba99309f479ecad136cbc";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.3.1";
 };
 "plari" = {
   revision = 15878;
@@ -25296,29 +26037,34 @@ tl: { # no indentation
   version = "0.1";
 };
 "platex" = {
-  revision = 53975;
-  deps."ptex" = tl."ptex";
+  revision = 56582;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."firstaid" = tl."firstaid";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex-fonts" = tl."latex-fonts";
   deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
-  deps."tex-ini-files" = tl."tex-ini-files";
-  deps."unicode-data" = tl."unicode-data";
-  deps."ptex-fonts" = tl."ptex-fonts";
+  deps."l3packages" = tl."l3packages";
   deps."latex" = tl."latex";
   deps."latex-base-dev" = tl."latex-base-dev";
-  sha512.run = "6e799696653ec8071bdf07f2e8646885b7c1aa85d1e904211df1177ead04e95432e6599a986dfc80acde29db7c9c789d5d16d26212dfd206af955bc7b909de85";
-  sha512.doc = "208523e476031fbed134feaa2dc91217492efe42d4d2d0b1e95745c7b1ab240ccf559eae21d82cb14d83cf37d1fc09bd36017eb77b85ba212fac5d60e58b0f14";
-  sha512.source = "112db9ef61955dc071a9054c15257dff686eb04e086f1293cb16aa805d88e7768735a432f01000e47be41ee077a6020fb81b2e0d1fde2b460aa551a10405c827";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."ms" = tl."ms";
+  deps."ptex" = tl."ptex";
+  deps."ptex-fonts" = tl."ptex-fonts";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "cd3497755c0de21fdc3ac8641209f18493226f9000e9b9aebdef2e287e7343225495b3bfd54e7226b8fb45d69a77bed6a3534011da052bfadac96e4a8e0621b2";
+  sha512.doc = "71e142cf280de0157df824f75c7b0b59bbba3436ae2ac2d74124372d46ae47a1b2a477ec10bed4f7e10f0a62587713fcd7504a87bf7deb3a7e6c216ec5c2c2f8";
+  sha512.source = "0adf7a4a01a56f4e1755e1680d2dfbab4b900c93de5603d256c478333b6601ce08f58aab920b0c5aa1dce026f8493c5c4d1814106898c93a1ba46d3f8b906dc5";
   hasRunfiles = true;
 };
 "platex-tools" = {
-  revision = 52049;
+  revision = 56451;
   stripPrefix = 0;
-  sha512.run = "bd1b61377f9793cce68a18c43c43316aed3f6382d031e7948e5ab6726b9be18d5b819ab3fb4800dd9fd1932af433352c7285eb9498925f54b66e0f87b0d293f1";
-  sha512.doc = "a58c732af05538e8450b9a329754d576cd0c606a676d2451212d928d39e841bcf702cb5e096405c455f98cf012bf4f75d39295d7ac5efc1c6d3647a16345434b";
+  sha512.run = "826f3b18d6624afb6097d15b29b2fa48a8177c0bf81b5608b90cb6b0ee092181facc6814afa3b2659d9f4c30cf64a837fe54ba12f0e8b9b33a343bd5b94aa414";
+  sha512.doc = "be1e37396366b32141bc5751906c707b1c40f83d6e4b8c27e1cae99cf738ab7f0ba57ef0c2e3b31b6367fe466e3d106dde9051e0c523408296edc76f15f53f30";
   hasRunfiles = true;
 };
 "platexcheat" = {
@@ -25329,12 +26075,12 @@ tl: { # no indentation
   version = "3.1";
 };
 "plautopatch" = {
-  revision = 53906;
+  revision = 56452;
   stripPrefix = 0;
-  sha512.run = "a50f5b0233e586d25fda8d2fcdc8817ae4ae56b13a2c3dd505011d17a30e7e5d3ca10547416fd2d5df9a628ace79f575307049510150c4e925fb1fc30871ec6c";
-  sha512.doc = "984daf85b86d3b1c308c52520148fef9cfce188a6d210514e44efc3dd7427e80c5e179cbed077e4b52b2ec6239710e64c18cb1b7f8f6734662ebd4cf1533cf5b";
+  sha512.run = "4720b0f0434438bffa80422973825d1d2677aadf158a9a6ddbbf92377bdad4005e37ad58202bc49f15739a4c8d8e3de5c60dc0318b236ceccd12fb0a8c10b2e9";
+  sha512.doc = "652220d9bf383c58da2a94bfe9a8b202c2e0474a19ae882af4adc29bf2d827a1de228e765218dfa9c32485597e102d8bbe931954107cd1dbe81cd14553a5c2ff";
   hasRunfiles = true;
-  version = "0.9e";
+  version = "0.9j";
 };
 "play" = {
   revision = 15878;
@@ -25345,17 +26091,17 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "playfair" = {
-  revision = 52409;
+  revision = 56005;
   stripPrefix = 0;
-  sha512.run = "cfd2c243878c3d2bad12bd6e284078b76097a43cb01e9c35bbc4af753502bebd49e73ca49dd91575196cd27d2e391511bfd4a268cdde20aa948f835d877a16c5";
-  sha512.doc = "9b60309afe7472f848be4b85dbeb4a5dbc422a0b0ac480a2f97c73a7525c9f20289133dc33e6e49a029d9e277536df5dd1bfefb57d65341a5d2061b3877e898f";
+  sha512.run = "bd9c88074757e0b34fc569e3f383c6b8045216ffe5da4ec897d0c28365063d7a66511ae190017c24dbea92782be05735f62a0684909ca76731a30f6d9855fe5b";
+  sha512.doc = "03dfa23f74a3f1f23b4bd4d28ff6580e248074e07f2fc515db3fd917bd10f998886e3ef987e934b8fee7be5467b9f8d9810e9ccb6844af9bf67b8726ddff9773";
   hasRunfiles = true;
 };
 "plex" = {
-  revision = 53058;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "d25fef41064797f9cbfaa2350b8868ea8291fdad3bcadb48021e7795f0d31ff86beb21dcf5e5a6749870354b3f77815191572423c3956946c60c5232cde02034";
-  sha512.doc = "9d42faaf2fe27f38f96015899960d6b0ac8f423f0baead04a7b740b28e052b00f116bcfdaa8f435d1b61e6e697f55b5c5b8cc766ef11377f48580ce888b203c7";
+  sha512.run = "4d23f567356527629e7eb6cec23287c1e55db3afea71faf8ee86a4288378fe2ee7fee6d34c311f5f5e3b66300892664013752f2f0fb802d22ecc76980c27da87";
+  sha512.doc = "1ea960e85e33c4739da58cc8a2157672daa06dc7257c23c3339673cb26eee549bad49809330a05867c24759fa907721aaaa48e9d43fb6118e7b465caf4532090";
   hasRunfiles = true;
 };
 "plex-otf" = {
@@ -25400,13 +26146,13 @@ tl: { # no indentation
   version = "3.0";
 };
 "pm-isomath" = {
-  revision = 46402;
+  revision = 55711;
   stripPrefix = 0;
-  sha512.run = "2ca05438d8a9e4b2a9d1e4a9232071d34a915d9f93cdd865191e350b128b9ddbc9f0af67d76eb49ec2b6f2a1485a5a792850f0abbe59de0ba4f50c0c10b89a0a";
-  sha512.doc = "76876cffd5c59b2ca74901c5c83e364c0c7982b947efd869f82ba801298f5b57d84f292015c8da28a3e49aada42eeea9c35d11660c3b61abd0ccfe31708e8d9c";
-  sha512.source = "55976f387b8a2ae1caae8d340abb37ad1187efd4017a29243c474e8d9804ed0bf83a7206992dc2428a229a0bba1cda60b2b5e72235a79cbdff6e47361e03f814";
+  sha512.run = "30d5661e06082d77e40123724ea390a76cb25d76a15c234dfb23cc5b79b357d86a4091484ddfb3109026a6677cea41f0f80dfe051bf34a6ef002ceeba4fd5c79";
+  sha512.doc = "e8497850203dd2943990a7d744aff1ef88860836de5fceb6c994d89aa13aea93f586fef61649f6d257d101f2f54d6d442c07ad6d9f377aa695fba82bfaa27385";
+  sha512.source = "16eae51b5991c2b59cfd889c5fd024134cc2e15358fc9892cb6d14cef047e1660820b26c7a957fa8fd63bdfac93a4f5c04dec6af27eb0d6b97626c8c4d8a900f";
   hasRunfiles = true;
-  version = "1.0.04";
+  version = "1.0.06";
 };
 "pmboxdraw" = {
   revision = 53046;
@@ -25426,19 +26172,19 @@ tl: { # no indentation
   version = "1.0";
 };
 "pmhanguljamo" = {
-  revision = 53693;
+  revision = 54378;
   stripPrefix = 0;
-  sha512.run = "123367842e0d4ba5521a502b322bd1509dc6cbfd8cb5de1c7d94bc2f96032aeec70277aa6e742a78a1bc989bfd5efa24a5ea95ae320fa736a2a2972d8eec8086";
-  sha512.doc = "366c1f364922eb5e00caec1f2922061ab9a80707e7a04b4d42dc077bdcb744026a545fecb597bacef7d1e253ec53ca7f15fb5e21d3398b9a18b366015e158eba";
+  sha512.run = "a4b16b981ff495212daac434123e0ab8d91ac862acf78f92ecab20c793bfc60e1b0e159113c9a5dc15fe06653531c1ac4a4de6208512baf089c299dc7dc75642";
+  sha512.doc = "7188c7bd104bb507866c5b793a3da3ed640416847a032b6c2df8eb94a47ec2ff17d11d3494b2f2755c2ce3b01a12c12a2d6abd374c887c2f7418a6fb8c93aa0c";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.3.4";
 };
 "pmx" = {
-  revision = 46823;
-  sha512.run = "d8c20ad86fa90531b0bfb1e7af06492e31a4b3a46331fd36d60bf46275103672b61a419eb671a3c89f098e0c74a580df313d75001e52b27b148bf322c7df1593";
-  sha512.doc = "37405b45aabf5bb6027b7849bc23f263f2ab9ffec515c3d7a2073bd7030580898b1c2171c760a9da40dcf0cd4cde890e235dde572b22e69e6a273b7bec4ebeb3";
+  revision = 54488;
+  sha512.run = "f4c7f088001eeedfdd64941b4bedf9f6376c484c1860b55695b277764cb8a334f0e15822677fe26803c456b6b38d88eb4e9a7a8094a3d711e5580d9cd5e1c7f2";
+  sha512.doc = "d347abc74cdcb5d58604f18267d6a632de816aa6bdb903ad811795ef588e6ce12a85ea1740014828a417524d8ea43abcf62c7a269a4dfc237bc97c84758c9e60";
   hasRunfiles = true;
-  version = "2.84";
+  version = "2.94";
 };
 "pmxchords" = {
   revision = 39249;
@@ -25455,13 +26201,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "poemscol" = {
-  revision = 52574;
+  revision = 56082;
   stripPrefix = 0;
-  sha512.run = "ff2350ed68690432ca368330f50c5a76ff586c2a09e7e487ea114d75b9b488652ce561e40d69ee02a5271b4ef93ac3dcf888cd64b79a33b8f7b5d95ad7972e81";
-  sha512.doc = "89a929f03afae3c1a48aa4289bda29b06664d4583c6474fcc3df041b809c240114f1f5a14d2f1d1493c1c36d31cb9344a4ef6ba9ca6e00008f3c9f1dc5ffa0c8";
-  sha512.source = "5261ade28661f2ee8cffead2bbcbb6254a49477adf206303baa7912852e3a8562e3fd2fbc34dda8e4b6b3b86af6f8a81bce9158acb21342cbc238be650fe4353";
+  sha512.run = "e9bba80cd6fcd7b1e7b0e46fe594b3e25986dac5fe39d329ed4b8e15bc6b542e033a392abcad4e0c67d5401066703a1a89658ebc612d2adcf846de81b34fb78f";
+  sha512.doc = "e8e3ffc366be12ec5273c85a352a6c44ee22af072fdc9e63db390c0d3435e390c28ca83279a1a54f95af991890b7e47ba896612407ed605e229ec184cb1e5096";
+  sha512.source = "cbb9340d8241dc8616f997dd962fb913ac6d8d46241c55e37bd30fbea12cbe8f331d07268653c9100928b92a171245489685761e091b6d3e2b6be6558779b683";
   hasRunfiles = true;
-  version = "3.141";
+  version = "3.1415926";
 };
 "poetry" = {
   revision = 53129;
@@ -25482,10 +26228,10 @@ tl: { # no indentation
   version = "3.0.1";
 };
 "poiretone" = {
-  revision = 51396;
+  revision = 56070;
   stripPrefix = 0;
-  sha512.run = "b270f09c59711712e27b3a0a73ca6109fd0e2580184fc5df02fe55140eb7db7b4e72e190309d12486d49593053ec50048c89c6203512cb451baf5aa2caa77c7e";
-  sha512.doc = "c9bb0616d8ce72c114178b4e0ca26bebcfb797af701555d53b3a1bceefd556eee2bf91fcde891b9b2a7b8650bccc9fd559b8630904e678adb4d2caa912da003d";
+  sha512.run = "5eab5174f3f31374fa5095946555ca7389ccc4675e479324f03f1c33e07981d2731a86b516c5cde41a9e97a2e5751c4a5ebd58db4a1f76829a6638d8393e6d47";
+  sha512.doc = "07dfd772739d214646d6779311f4e3c4c71359303eb8fbf53ca40b9df628c3205fe16889b93476e3eb74d2786559ab75a66916067ec974b3349f89267d1ff435";
   hasRunfiles = true;
 };
 "polexpr" = {
@@ -25499,8 +26245,8 @@ tl: { # no indentation
 "polski" = {
   revision = 44213;
   stripPrefix = 0;
-  deps."pl" = tl."pl";
   deps."hyphen-polish" = tl."hyphen-polish";
+  deps."pl" = tl."pl";
   sha512.run = "8d4c05dae9e5cf8ab36bdba5be8b0748d5d283a6a77c7fa18821ab3a20fe5935f302a8ce9b1a1314ef128a20c1011018ba7bd04d34466d017e16fd9bd087e108";
   sha512.doc = "a619719518e3d9814907d33756c4a3f2494c3a94b0a717e6f848e31177622bad6ba2cf595a23ff2efb65ea04b70b267aa87cd87caa56c91bab7b36bef82cd2dd";
   sha512.source = "fe630f5992e79ad211ac4537cb1fc8b40154c2b43f34fb15594e662909077eb0a58f2be41aa05ad647a45d2d00c8af82ecce2afc5eec46c941d1060f2728a4be";
@@ -25516,7 +26262,7 @@ tl: { # no indentation
   version = "1.101";
 };
 "polyglossia" = {
-  revision = 53592;
+  revision = 56594;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."filehook" = tl."filehook";
@@ -25524,11 +26270,11 @@ tl: { # no indentation
   deps."iftex" = tl."iftex";
   deps."makecmds" = tl."makecmds";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "a0b93306e12b29f327bb2545c7fddb1804c0cea7f91aded57aa1bc673857722a462eae469a8557671f3f1b10dafc81b7021be838ba943262897ac794728dd9aa";
-  sha512.doc = "65cf1e87d65ecdf0e6b43a00f391a8f70c4f5ba628dec15b9594272ed3a1f2c9ff8827520e4ea0f226f8d396afb412d770b9886c8e3fc6ce329ed1a217ade8a3";
-  sha512.source = "c345d4cf7de96638b7da0dfc23eb05eb5a1a35450b310f237bdc029298fdca7e5751c3b2ed0b144fb0c281ae855b6c82090d99f6938dbbabae2e66cbb25bb1db";
+  sha512.run = "e1b5bfa9db72d2109d1efcc5b8252b820df187377e04984fc8f537b018efc16b89f98f982031d431a81681cbba76e02e725452342578c766219af4c70e9eb3e7";
+  sha512.doc = "b0087ddf99e1c8134ed9529f5b5fb511aaae51ffe5f84ec2252dc5e56276591fec9d460864039dd0520a28b37a89f4bad5625e056b10e435754e8b31e1f7de4d";
+  sha512.source = "38f8e00dd65248f90cf63877b75ba664695911fc2209088bd035b18afe3e0f677b3c4bdc530260619c9796d0d6d04f2aa8f6903bb0ba7f6450521de851c82dca";
   hasRunfiles = true;
-  version = "1.47";
+  version = "1.49";
 };
 "polynom" = {
   revision = 44832;
@@ -25549,13 +26295,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "polytable" = {
-  revision = 31235;
+  revision = 55837;
   stripPrefix = 0;
-  sha512.run = "a83f8df3e09fd112a6f83a48f803847cbe112f2d18db803226e04efb6fabca1a8e5cd03d2ad1a3a30eb07d3590701b71b24f03b1e38d49f41493ddfc67576dbf";
-  sha512.doc = "7e53e2956145c29d7b9775ad8fd757b5dec4d2651683f0a48507094b86a5b6d42f1b659ffc72cacfc0cd528a6baad03cc19aabd8c0d1afdf57bcf365a5fca1ce";
-  sha512.source = "673f5f8cb4840074c2d33de2e53134a6e8288af411b6e61c1268dc11f5051c6cb65b8746fc2e2e959dd5ae2d3bc36a58770217c159c611ead0019c84918a03bf";
+  sha512.run = "2ff55bb460357dc11b274ad3233e5ddd67fbfe05e60d25bcc69f1d06f9b0f247831cb5db4123b7ff859dfa88bd56fd5bdfc24aa992e98f5a17d0f883b40fcd2e";
+  sha512.doc = "5bdc4a4c8f95255343fccb6db79da434a6b883e0e2a769eac5c8accbb6343d3f5b8de2fd465c5e229ca0ac3e9964fbd96c50062440970921ebf70f01a3097943";
+  sha512.source = "dc5c2c007012a4a57a20b569adf784afef0db7b22ae88ac91f54bcab5f8a25a3dbde48a118ff5090d806d42954ea28276ed2adbddfd974972012a645805d9fc3";
   hasRunfiles = true;
-  version = "0.8.2";
+  version = "0.8.6";
 };
 "poormanlog" = {
   revision = 52080;
@@ -25566,11 +26312,11 @@ tl: { # no indentation
   version = "0.05";
 };
 "postage" = {
-  revision = 47893;
+  revision = 55920;
   stripPrefix = 0;
-  sha512.run = "97315373848a24fb0c49e184cb5e4980e6c124d60bd9141f7ecb5ecea9e81097e4005ee29fc45d828a206ccf8a23a936bbc27cbc59fcc7b6dc4b75cbe4f9105d";
-  sha512.doc = "102b88d87ba4b371b16e1d1362f1ca42fb9feaab3f1df4d56176d353e90d68bbac535522e7acbd741be78f64624223a55a6f3802e8a190814ff9a71abefdb2bd";
-  sha512.source = "390567f792284e372089e8c8141daf42d44eda52a14118c60ef23911e405dbc7481453cadc1de9c097056f181909004a7a489c0040dd733d8c036bfa2022b3ce";
+  sha512.run = "1b7ebc9b82ae1dc0a642892b6d74ef94ff0810ff3dda1628f741244dd17dc8d5013b42e2369c1dd6c27e65b965a1482814c62eaef582cd3bcb4c945fe0aa76da";
+  sha512.doc = "5f0d2dc0a4986509862b17af55f590f110b3dbdc697ed4cc704d31215945e224a0029087e04cc8602b059455447fa9214bede0aa63509958972c9dbe2cc4a0e9";
+  sha512.source = "68d0ae1488f2288b7b5ae3aba79ca877ce6f97e1134e61859a81c77bbed47c9b79d3eae07a6ce0bb5fb3645078fc67d2c6cd4a5baaad1460e09b4b34d3d597a4";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -25650,10 +26396,10 @@ tl: { # no indentation
   version = "2011";
 };
 "prerex" = {
-  revision = 52801;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "7eb12c59d75d6a3f08dd0bbe8928626b5778acf01bff4caab1f214f2ce42dde798a2823b47b6c79c94c471f8924e79474c00ef9d6e251757c3d221bde06b410a";
-  sha512.doc = "3e10f4810b05377d5e54bd12a5303c781c36467479f30cc0044c24019aca81c155a90ca01d3a422e01b1bbb4d245d34bc51cabd4e97252ea8e1a6da747548d4c";
+  sha512.run = "4238f65f9ef42d218f092bc436fbbe95ddcbcee44a9032b74020a989696db3ce1481460162171f5feeb16f7507a41643443429afb8000d5bea0d7bf16e8dee96";
+  sha512.doc = "af17b95e20638fecfe6d431cc320b6d3207dd739779636206899d7bf39c26018718521dabf76adab33db28f975e99d2b2dcd9b13a164dc24927d2017e947bdba";
   hasRunfiles = true;
 };
 "present" = {
@@ -25664,18 +26410,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.2.1";
 };
-"presentations" = {
-  revision = 43949;
-  stripPrefix = 0;
-  sha512.run = "b93bd6875538fb61fbbc737625da2d89fd7cef0f6b59999f78176f953d6eeecc2d44cc242bc89f85e293265b26a36eda55ab3fe6804a8e8cee2144694eb1a2fc";
-  sha512.doc = "7767c2b3fdb77078729f25ceec85906722d6e2abb6ea45fe9e03e7c0653edffdf1326a055175f309d3afa1f1a30f64c708cf0c6c2c273accf777abec088336fc";
-};
-"presentations-en" = {
-  revision = 29803;
-  stripPrefix = 0;
-  sha512.run = "47c4c3e2b1dea3473daf00f1577a2cdbfff2a3a64d5f39507a9486fd2e77dbcd8ea1e3bdf4069aeee620a62047b1890eecd588b50bad2f1c33b739f7721b205b";
-  sha512.doc = "f9d3b24aabc47cfaa0487d683708fed12489e1aca7e7107ba9bf058864f0dc5967fc7a84eab59888567bd47b06ce96a75dd50a132e6e929d206e30c30585d346";
-};
 "pressrelease" = {
   revision = 35147;
   stripPrefix = 0;
@@ -25704,12 +26438,12 @@ tl: { # no indentation
   version = "12.2";
 };
 "prftree" = {
-  revision = 51404;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "c0e5f5134606c514b13e5fc3bc58a583f13ce844bc1e8fbbac7aa09d8a59652c50edaa986c5004619219fe4c72cb963fd89dff5119b3eb0f02fa74cdc1ad1374";
-  sha512.doc = "d81403af762fc0d3ee9d7b53f9f0400dba5a50f8bd2feab92186db85c18011aa3170b9173530cea5e6e2aa7bd2f475e3b3016e5ab79e990c6abca3d5239fb6b0";
+  sha512.run = "d73717b68ce3d12108a76a3850f3a09b9e1100969e79c745b7b08340175ea9599f10f928809fcdbf8ffbece3a60baa41d84dae182ace8b85ff511082f1db70d4";
+  sha512.doc = "3b4d81db24039d15e76e0b237ecae6454d54b452b542e26ba8e0c45faf4f512124f0c1d1f5fef3ca6e6dcb3c7cc09eead3003a53a59a689e5e917583585c045e";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "printlen" = {
   revision = 19847;
@@ -25876,12 +26610,12 @@ tl: { # no indentation
   sha512.doc = "c5b22a86807378fd7d6d83e8802780567a2473e87875bee4c827a48ff470911855bc4a1db4f439fbda1baf71f714086b96e6e78ee059590fb6ebb45c58abca4f";
 };
 "psbao" = {
-  revision = 15878;
+  revision = 55013;
   stripPrefix = 0;
-  sha512.run = "cec6c6079d7a8757c9c01315f3b035fce1eba2dda487e3a9da21a2bcfe6c7f7fe5f82171ac5b850fb7f673b56258f7b39c2e0b74c421e324475b02ec13671b32";
-  sha512.doc = "1a9d1a0250bfd82d76ff1a3feed17c016f46e5ef199038bb569708989f7a243682a9584c1d293807cce09394a70a25a2f8b31189d81aae89336306f3f146dc9e";
+  sha512.run = "eb391c615ed622d928725b3a227ce0141e75ccb49a0e2e915d41bf12e343a9622d9032c4c3d6935cdf6e36c6afb4d3138d5acf17febe4691fa6e5c34da01c2b8";
+  sha512.doc = "8fedc9f84eb5f640ff9644c933b5eea71c1d4f9e03f861ca7e8820a582cb31f38e3a9e4625fb1b28ff189f02b3546734eb71e1491f63d4508d3d7b5f7ac635f4";
   hasRunfiles = true;
-  version = "0.17";
+  version = "1.0";
 };
 "pseudo" = {
   revision = 52582;
@@ -25892,10 +26626,10 @@ tl: { # no indentation
   version = "1.1.3";
 };
 "pseudocode" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "28acc4dc69e5f4e181230f06dda363618146d30a3f7c6be0d11b258980bfed5636606dd808c1deaa627d04c526496152fdb2ddf56866b63a4c4313de423493a5";
-  sha512.doc = "b11d8ae45d5a4564dbaa2669db7b5cd4f9b87bc9efda3da47ce652245b140cec1b2c569f38fd1ae175215ff422cd2df3919bf27126c9d9d661dc4a147963bcb0";
+  sha512.run = "8335336bb46c0bc362bb10b6bed547d95230a29ba8144549476ec984323bc79475b11afef91409761e4f651dc4c28669639106d14c4dcceef7f90290e5f77b12";
+  sha512.doc = "ad53ed572d7d79caa21baa8c34482ca6032369824967e2966479e85a95d140a6477acf0e69ca7bc2d6dda6f8b161253b1afd43cc53ce4d44641dda64d82abe13";
   hasRunfiles = true;
 };
 "psfrag" = {
@@ -25947,16 +26681,16 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "psnfss" = {
-  revision = 52663;
+  revision = 54694;
   stripPrefix = 0;
+  deps."graphics" = tl."graphics";
   deps."symbol" = tl."symbol";
   deps."zapfding" = tl."zapfding";
-  deps."graphics" = tl."graphics";
-  sha512.run = "d1ac5027602b905a359974f9049b8e52cd4366513923483a3109ea21f042f3cd0cff645280de3438f615babafabae1a7b14a046acee8d6a48794bad89a3061cf";
-  sha512.doc = "18e539fefbcfb68c6f4520ef622fa577cd7f91e32cb26533bfb0769893775787dc0b1ac39080bfb5993f6f3094a3aaba3d177a882d51896823415624d3107998";
-  sha512.source = "6da773da315bcbf2d9a8624309f6f8524cb4e0eaa1ac6bead9490fe77a0997b7996c526c0ab959da5e32e504095fb868191eb57f7b9884716be9608b50f8ec3b";
+  sha512.run = "f7d1acebcd1d32a691221f396220358f3bb15dff2e2cebec4b537b1b790b68d8ce1164711983a52b4f04d6e470df2e3e5fec63bb1d3bf39fe205d5f0351299de";
+  sha512.doc = "d1c14edccdf43ed2c786394bc04e9fd683b683532a9dc18d592f918ee8899234d23feb738128aa1418f441288cdbf0c6de832f8c4d98023926baeace36365a1d";
+  sha512.source = "6862a7e74be6a575996e6f45a2236db810f1c030d3a0c53b2b97c2e803fc7e29010108e4597d637b8abedd63b1f956da268f62ca2c609accaa4d035be7bfd8ed";
   hasRunfiles = true;
-  version = "9.2a";
+  version = "9.3";
 };
 "pspicture" = {
   revision = 15878;
@@ -25984,12 +26718,12 @@ tl: { # no indentation
   version = "1.10";
 };
 "pst-3dplot" = {
-  revision = 43703;
+  revision = 56043;
   stripPrefix = 0;
-  sha512.run = "a509af726d13fbf9dd0f3b1181a1dc53a31fe007187ad345c8e3c6c65d52d09f6de422a723b472e3b8e5f1aba1563dea06b79e82a7940e018cdb9eaa30a40632";
-  sha512.doc = "2f261cb9d32dfbb85b626238e25d8c9198ad50df008b54f800d3d5b404ea5734da8636c05c33ec30311c60f6e41ece1071a04af7affc61badc3aad64a5b9b194";
+  sha512.run = "687b4c42fe942f7c873b840c2ddfc943ced0ad6f3bb5953a16b9eb23d90ec1680f346f98636460bf1fc4fef9bb3ef3b4b348cabdd809ae96e665c38d0486bbd7";
+  sha512.doc = "9590cda23271fd116566f5a4431d94cf9dd6df32a8188dd5eb0829e986c2e1f549dd5b4719f4756de7eb581f8981322d4c9e940143c61d9c908be164315d7985";
   hasRunfiles = true;
-  version = "2.04";
+  version = "2.05";
 };
 "pst-abspos" = {
   revision = 15878;
@@ -26100,12 +26834,12 @@ tl: { # no indentation
   version = "1.06a";
 };
 "pst-circ" = {
-  revision = 49791;
+  revision = 55289;
   stripPrefix = 0;
-  sha512.run = "608ed7ffdea15309a69d89c6a6107b9b71838e789f14ca78f92922cbb3d5e5929f61e0510b40e5531900099f805ae1d4acb2018984aedde05352c8f210573a77";
-  sha512.doc = "575ab4e17abb1433659b60dc87920fe284a12d5cdc98dcd091df372437f165033872c7a7b3f27e17bb27f5a51c2dd4e5a98925e06e54353a8e51b77958b63afa";
+  sha512.run = "ff5ea04128d8d7646484849fb0539af8cbd8638442de65f9cfebfc874a71f85b534488ef516129346984d31a01e44521c29d7c5293c30ea315a986fde6a953bb";
+  sha512.doc = "a3991c3c7fb781f6735de799c325bc19ef82cdc4ef31f2d4b5ec22ab3961e2bc450084285176172bf583869ebc2d7d35800ac75caf0caa99ed3c050c48f49960";
   hasRunfiles = true;
-  version = "2.16";
+  version = "2.17";
 };
 "pst-coil" = {
   revision = 37377;
@@ -26176,12 +26910,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "pst-eucl" = {
-  revision = 53929;
+  revision = 56474;
   stripPrefix = 0;
-  sha512.run = "fc8a821de4589ce130d3d0f6057f657762171564db00f73576b5e954107785be5d6d9cf809ca21e96012243822347ed75ad8c5dd82bf86e0bb9de21ebcfdf8c6";
-  sha512.doc = "fc34471747331cf42e003fff20c975036965180c600e6c2051b68e9b49c9266f272e124675a6accdf96f468da3d117eeb1e52f9919462b8e54860e6814b9723a";
+  sha512.run = "a076efb338fbdff19719156e32cfdbf74500de253ee358dbf64207b762333ff2d3d167cea84ef4ba906d247d96adab9705091c5dc7003400097356b1f54f9305";
+  sha512.doc = "24df2d92c6879f20f4515196d5390fd9b0d97476b662a8e7302664be5afd08a3127dece9a530df5cb972feff6552321749b38a682a58d7924393304ea1c75a9f";
   hasRunfiles = true;
-  version = "1.71";
+  version = "1.75";
 };
 "pst-eucl-translation-bg" = {
   revision = 19296;
@@ -26233,12 +26967,12 @@ tl: { # no indentation
   version = "1.10";
 };
 "pst-fractal" = {
-  revision = 49295;
+  revision = 54376;
   stripPrefix = 0;
-  sha512.run = "96f38a81d57046ebb50e90cd7c06191483eefa8234ea73f706e6086a3f0723b3ecaeb0157b31c1364717c5f0643ead9fe94f9cf8fac8a8b27e0a3b81d3dee048";
-  sha512.doc = "4c3793e65415b2fc394fc46c23d6a912c9288e77fa2f08e5d7a97de6beabfe2efd323f13b0f2bedd1bc52bfade476abc0f8edae38108de6419e6d4b3c854f82b";
+  sha512.run = "7c37dce7409f524dd67ee66a79af3d8caa6be5c184c5e6a3c0711810956f3d1623c0266e902af163e8bedf4d8109aff7266d6c6e351485abcd9e300dcf554799";
+  sha512.doc = "e089a681d0fb6d8505fbeafc1c194d0cc4f81f250e4d53843f71dbe6fe62732bf18098b61ebf70d1ed890c57300b9d64d7b7a2b0fd0d3ba9b831579837308f0b";
   hasRunfiles = true;
-  version = "0.10";
+  version = "0.11a";
 };
 "pst-fun" = {
   revision = 17909;
@@ -26250,12 +26984,12 @@ tl: { # no indentation
   version = "0.04";
 };
 "pst-func" = {
-  revision = 51149;
+  revision = 55439;
   stripPrefix = 0;
-  sha512.run = "77349856b50aedfb4ebe05b2e3747b2bf98715201930ac374783172f0688c723405c069436459598744c681a5d8f42aa7d14bfe41adadcff69b6bf0e45d2df94";
-  sha512.doc = "91acb2009228f42b79a85a4d343f484066ee9b930ab6e7acde69d796bd54185ad8d979b3fcfd72127203e91afddf3720a627895567e769378fdf0069f9cb8f87";
+  sha512.run = "02063e00cbdba72710c2ddde8258fcaadda1e0c43ac3ae2c4822e26b6024161b849246198f5c42d1c5507bc6da5670eb4a4fe50ae94336f84bc7bcfe83299ed2";
+  sha512.doc = "1d28baf30b844dbdc04a24b5fad8ea6f2aec738cc6eb6934440c7a45f5079f406741993b7a8835122e4fa9030817dd44f0c81d7a6e00ed241f3e1f98ad904cfc";
   hasRunfiles = true;
-  version = "0.93";
+  version = "0.95";
 };
 "pst-gantt" = {
   revision = 35832;
@@ -26282,10 +27016,10 @@ tl: { # no indentation
   version = "1.1";
 };
 "pst-ghsb" = {
-  revision = 45797;
+  revision = 54074;
   stripPrefix = 0;
-  sha512.run = "3bb85212ac247b5d6ddabf8d98f7ff5621b78ae2b83b08c00ce7c2831f6f6ec4d621a4e5f2ad00e2b5d8883f95aed579f0d17a5525c9df5ef9939528ec736325";
-  sha512.doc = "cfe4f9f8b24fbdbf22280b098c32c1b9b368fd6f74cd20c1ee7b241bf3a9afba822fda33b9c9365cb9c20c76ca658123039eb27828361d74e4a31fc8e170a6bf";
+  sha512.run = "53f608d40c000f69ec0ac8d4b04799a581296765e8dd0a083a604aaba77eb456fd0f733435455bffc702e19d5083788b12d3bec3476a24f03fdffddd51f1b479";
+  sha512.doc = "818108e58ff02cb7733ab00bc9d5112821dfe22b62836c3114154d6f4d26f4fb8e2c9baadfb3c4600cc32d667a174c1992f44260208cc295310326893f806174";
   hasRunfiles = true;
 };
 "pst-gr3d" = {
@@ -26429,21 +27163,21 @@ tl: { # no indentation
   version = "2.1";
 };
 "pst-node" = {
-  revision = 50215;
+  revision = 54687;
   stripPrefix = 0;
-  sha512.run = "b4feb98035acf2fff9cab8c21c7e408fdf20dd6f12ea5209719eac9d77db51cd907e345daba876ab0b7312bc9dc4a51be17097d3fb02f0a181c006c4385b2096";
-  sha512.doc = "2e47bab65f6077f796bf4d50cd4f5911eed2eea658701c46e47d65543697c68209aa307a5f620fedadee8ff2ba28f6ccf92dd9402bc3264616cdd3291b8673a2";
+  sha512.run = "655a9f7a373415c1721a8192aff5868c6eeb20fbbbac394b19ff15a66f6322c9cb3e2a6edac3210b14f94a62bccf18ecff1fe3af21951f382477ed27e37ab36f";
+  sha512.doc = "da13d6f9584cb2810b0aac8ed65af49a48128049433a845b6a2d73bc2395e043f6ce89ca84978eb52455cdc713931a610cb1047e46badaa2c6b4baf5073c15e6";
   hasRunfiles = true;
-  version = "1.42";
+  version = "1.42a";
 };
 "pst-ob3d" = {
-  revision = 15878;
+  revision = 54514;
   stripPrefix = 0;
-  sha512.run = "1b4eb87fd2c9c63edd4d7388b32c5e6a8f4d6ecc87b9c1129540398c607bdcd258b4f182710ff12d6a7a5e8b8f34c6686203d5c0ff9a60a1a6e462ccb3b382d6";
-  sha512.doc = "f934cc75f6d2e6f80bddeda8d2226e6ba0aa6749adef4f08b83036a67f1b8406d1fff61a01862eecf48ec6e3ce76af2ff7967db67a294956fce50d3c7497bf00";
-  sha512.source = "4dc8b724abb5a48518edb8f0d39152fe99fb2ec78c59fb8729f151865b9fe50105cf4c3027361d4e6a75cceba99a7e399d7e522aba70f27d4e4816037e87e509";
+  sha512.run = "19cdca2466071a1c6236fd4c149d4962dab3aa0b0c097fa408ea60c2bb46011173033bff02d33f596c8a413ad781c14f785b39bc28be4c85aa66480cb8a7e295";
+  sha512.doc = "78ea80a6d63ccbc69640e6e18e8ef43526fd4d4b51a63dccd23429ea44843a0f99f522bc34a7cc88d6ffe48843313da64c550464f28ad48726554bf74b9e9cc5";
+  sha512.source = "a0827ae0fb0ba2072894bfc284234eb301c982972d8333866cc8b66ff754e85b837fa024083ae31d637ba941569ae491a85bbe62ab32adf0fb99bbe3ecd019ed";
   hasRunfiles = true;
-  version = "0.21";
+  version = "0.22";
 };
 "pst-ode" = {
   revision = 50587;
@@ -26479,12 +27213,12 @@ tl: { # no indentation
   version = "2.82";
 };
 "pst-ovl" = {
-  revision = 45506;
+  revision = 54963;
   stripPrefix = 0;
-  sha512.run = "2777d0d3011ba4ba911dbed78bb3ab29eb54bf392a9aaf73707f17e5fd9ccded0198d0b42bbdbc6879b2f07ba84ccf9d121748e3f0d3f931a8fb6b6e2a904b8a";
-  sha512.doc = "9b7057b4316adf9f0fa30561c658f309cfc1be757c0eebfb63bb5cb94dc9b8b6cff502f056f9e1d64b207cdd154c0ec64b13c51639ae46377c4d58d51aa00725";
+  sha512.run = "e3349edf9643e5d9e370b5dbf1c4dc3078ec82520c943a81ae353e1ccd0e2476105813b0cbbbeb707de5419035edcc39748c7e86a69cb90f8bc0d61d70f553c5";
+  sha512.doc = "755c786cec204ad3dd41043d8dd1bebb33ebbd889580a0a85390ca8efc318076ec9300a8e38b99788bf348a49dbda8ba5f3c758ace788bd9de47c251dd4e0407";
   hasRunfiles = true;
-  version = "0.07a";
+  version = "0.07b";
 };
 "pst-pad" = {
   revision = 15878;
@@ -26530,10 +27264,10 @@ tl: { # no indentation
   version = "0.01";
 };
 "pst-plot" = {
-  revision = 51650;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "58b2d0bec5abad6a4f1c2467badd6ca7cccbfdbbdd0a838493aceeb37f478f4500fc95463176fcc97e34111249512d50215a319b01a847d863d54bcfcf5e73a7";
-  sha512.doc = "748945b66f21c63a160b793720ba5bd9243c73602e68e43ff72a5f52ccb4004de186e648ad0e5b5e883c3772197eb2a36ca0cab046f8313a7ed8ecad522fd761";
+  sha512.run = "7e784c8c50671da1b2efbc191a4afc91739718d9c117aa49740e869296a415287031c91c79f750eceb7f90b36f8a6bd5b37c87dad7d84b6776a014cfc6a4f88c";
+  sha512.doc = "9f486e767bddf56647583d598dcac7b64c1ad390d94fea88a285d3aeaaa32d8151883b438c48e0d75b3ba41fef21b38cdc2fe7dd724978827b55dfc6d3bd54c0";
   hasRunfiles = true;
   version = "1.92";
 };
@@ -26586,11 +27320,11 @@ tl: { # no indentation
   version = "1.2";
 };
 "pst-shell" = {
-  revision = 42840;
+  revision = 56070;
   stripPrefix = 0;
-  sha512.run = "d91fc81c2140e0ff4aae4e190b4816887f0c068df42022b6b6545adec400920a69e81bca1373efae4249a95cfb1b7f6b712497d72510aec79954feb7a1ec07d2";
-  sha512.doc = "a788f994d6003ca6a650cbe042b57a712fb91da2146b21fe3023b464487e5a56699a2aeea56be77aa26919f6c1fcaca6d49bd3ea33ccd2fd7a06e5f95a917803";
-  sha512.source = "0a5173dcb9d58eca24cae2c385db9f0225bd5feca124a3f86e3f4991a689c6bf897b48ee2c756746e337a7aa6ec7758b3d54c90f7895b841fd88c3c74eb6bdbb";
+  sha512.run = "e6c12f5a1c8eb6b521e6bd3d76609a750bc12633de1645f6991a177d633043f1c5597091b34639079bd007d81302ecfb6715f826ec42353720863885e1d3a1e7";
+  sha512.doc = "72185b764b1c282e772341b9c616b27252759f8e0ca3a776770e976a31d160cea7ac74f23a982e088dee50a86a9af73d19f3f695a24f13381e88281c8c33577c";
+  sha512.source = "b49620358aa5b8d57c4f227770a59ffe84a751a494ed459c8a61602b3a32621df6a31041311f939c4da6ac2114c5c4381d2ef0cf1ce870ea41081d9d920f5902";
   hasRunfiles = true;
   version = "0.03";
 };
@@ -26645,21 +27379,13 @@ tl: { # no indentation
   version = "0.91";
 };
 "pst-spinner" = {
-  revision = 44507;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "7014c371182a354d11bc76c60bab01321d60af9559098a353c3e7a5a88d2e251f9362a24872b60d2214450ad3d423f3868d219bf109f0524a6431db17ce1c881";
-  sha512.doc = "90ac8da08b1be6dbf3bf126ed49279fd0f593a586a3bb7e58b89f9b9da361637ab4c9aa133ee2f798b7d49c420a4765cf2fd9936410d37ac955d661196f1dffe";
+  sha512.run = "230405003645525f89e4713cd38d2dc015a5c41218202003626a154a620354fcfd4297480415771064ddf72768afd15d19fb331fe7fe3029375b681487e09f58";
+  sha512.doc = "998388d1098eec8f15dbccc5852b4577f392c9e01dd0a258927086940b5e8fd33021101244403c3d81b575bb1214ad0730160828a7fcf83630bdb765d4c34444";
   hasRunfiles = true;
   version = "1.02";
 };
-"pst-spirograph" = {
-  revision = 35026;
-  stripPrefix = 0;
-  sha512.run = "701964d1fad3d757fab421a9458c5983e11628d965ddabc2dfaec0259b829ed96f699a2361043c1f08024538b10d9b0ad36e921b704543288da5c5d5cb6e58fa";
-  sha512.doc = "2b3a0bafb00c64d1ce883995f983b626390ad73492bb96ace3d2cc5df05e91bfb6f74d96269644b99f56ba0a670a94dbedab663c3dc3bff3e099d141185ae331";
-  hasRunfiles = true;
-  version = "0.41";
-};
 "pst-stru" = {
   revision = 38613;
   stripPrefix = 0;
@@ -26692,12 +27418,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "pst-tools" = {
-  revision = 45978;
+  revision = 54518;
   stripPrefix = 0;
-  sha512.run = "9803ddb2afe664c53c1bede5d3444dbb4adaebe07c3a3d5b06cf7e0775593c13e6af5803584fb8b9afb12768fdb382b8603b0024fae40bbecabbfa720d87c4ee";
-  sha512.doc = "48b440cd10fce6da42173d90e2e7ca1454cfb6ddf556836ecfba98729de441f6521e7fed0b95bd20a570c06c3b1baaee285b52ed121d4c16679ca6530b8b5ae7";
+  sha512.run = "b6f1432b44483470d2dc740aaafd254d0f7051e37e9b8675aa85fc50812b9f19fb8b021cb00da405734c25a3dc6b9645d25981c7b603e3a01016421c2d1b4140";
+  sha512.doc = "57fe008fa8ab2f8ab0682d29a6e3b7c285a84c54eb7bef068fa2ba1aa363792f6a497a548cfa6ad171990e344215db7bc5a7d297bbfb17026b80601ecc977edb";
   hasRunfiles = true;
-  version = "0.09b";
+  version = "0.10";
 };
 "pst-tree" = {
   revision = 43272;
@@ -26766,21 +27492,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
-"pst-vue3d" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "d2e5829b3c241f33a69b1c59b5aa360f73948a6dff70d39ed41b82c67abc2b469860e0bd91ff131dba6392cdb3eb9d78638928052175e65ad7aa94fc3a8d05df";
-  sha512.doc = "70d297642f7f36539cb21c12b46e2d5e4a6db244f203aa1b009c500876d2def37224579cd8ad54e5b5004f26c41203a0cb2d0a321d38b15051605c2f9432bcc8";
-  sha512.source = "660753b080958b11891954b27b39dcf06ee44db1a582376824c517d41996e3721c21066e430b633c7ed56b053b9f4c91dd3e1c968c3209b0426e840653c23563";
-  hasRunfiles = true;
-  version = "1.24";
-};
 "pst2pdf" = {
-  revision = 45476;
-  sha512.run = "ece2fc7c670d6c6895d364cf316facc5898c83569640f0c261ee89dbe3b302e5c6190e95c6eb08b132d213cbaddefbb1e589f1e6979a9540454ef442ec94bfad";
-  sha512.doc = "79cd5a76de8c3cd53b96adb498ed30afb5a8f9b8cf35009fd4e1c487b7d381dad81f46d03e85b1896ca712b02cf31732a7b9b84d4e7f75b0a7d7b6e0032ad559";
+  revision = 56172;
+  sha512.run = "a266409d6740653bacb23e83b98e545dc462ed879299b195d65761b10e4700a797005ca231fc24e37a42591c09ba93b5ea6b8b82ad8b14a29a7649cdb3f39b33";
+  sha512.doc = "5805c535c8a043fea721093a4b7d2ab06c86c80d4a45eb3d603986b898b6d2053d041b638874e53c79e2d815a929749e02ca0986a2f8cbb400a2fa87581462dc";
   hasRunfiles = true;
-  version = "0.18";
+  version = "0.20";
 };
 "pstool" = {
   revision = 46393;
@@ -26791,12 +27508,12 @@ tl: { # no indentation
   version = "1.5e";
 };
 "pstricks" = {
-  revision = 51102;
+  revision = 56385;
   stripPrefix = 0;
-  sha512.run = "4c674666903d17749de9a99204e59ceeadee66d3fff38cc0913efac0ca34fb0269c7e5e836543d28e998277537fbca4fe64889cb71fda2dfb258a5aee37f3260";
-  sha512.doc = "8fae1af33f0d89b9da2d3bef0703e884ee0c0adfa187434e58a83fb84a999d783cf2e6483d4c67b247a34c5c3f87eb184f11fd34ac1ea6e266ed29d3552a625f";
+  sha512.run = "38efa0b02d093aa38b83334b6db2913c1c62bedf1ad41de02eeb4f39747938ede724dea9d62304eac5a780af4f27899c87f34d72e41523545ee98e7815ea7aba";
+  sha512.doc = "444b26571da58ad831f5d6ff395ff4e54f4759aab936d184036c30f780156bcd662d99f4ba8d8a96951d08c8dc4fb59fbb5230a2d5da81eeae60b859b44057bd";
   hasRunfiles = true;
-  version = "2.97";
+  version = "3.01";
 };
 "pstricks-add" = {
   revision = 53763;
@@ -26828,33 +27545,32 @@ tl: { # no indentation
   version = "p17";
 };
 "ptex" = {
-  revision = 52851;
-  deps."ptex-base" = tl."ptex-base";
-  deps."ptex-fonts" = tl."ptex-fonts";
+  revision = 55920;
   deps."cm" = tl."cm";
+  deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  deps."etex" = tl."etex";
-  sha512.run = "fe00cc7c0b2f84d3fa86dee33102428ec396d1f6458c0cfeeb11432c1616e1006d46974b9914f8390212e8b8e7b55a5fdbf83fa90ed49f4af031cfa66fe53ace";
-  sha512.doc = "38213de7cb55c5ef1dc8e0c289c4bcb6910980dc81f1b035d223dfb9956353fe3423b34b665666177d2f3e6087f8c763109f9ba61a2e02b62c4dd497604bc352";
+  deps."ptex-base" = tl."ptex-base";
+  deps."ptex-fonts" = tl."ptex-fonts";
+  sha512.run = "60a4f0e7568819dd9efbd4bcfb49ba5a424061c809f4ba2e86657e1a688d3aacbf5cb0423e06059a29306cbaa1975dfb7e5349e72656e50100e97d13e42e2ba6";
+  sha512.doc = "d751ddabcf7077e6499b64fdc00043c7b4921b9e944babd4e43dfcd78f443b428711356fd464e22284ead7057249d37bbf92bc75856fcca943c7b74c6e5314d8";
 };
 "ptex-base" = {
-  revision = 50731;
+  revision = 56487;
   stripPrefix = 0;
-  sha512.run = "616ce41d8fe02c6d38dc638d6557ab29580cc57e52977b27d319ddca63844f91d7b0f0373c57bb039a3f70b6ff462eac179d9e816933b2954f2af1b00c3fa0d1";
-  sha512.doc = "e4aee26d3ac73efb1e0a2b4579e7e8cb1ae46925908ad407d8772eefd310fb5ac969c5c53303eb7e5ba6d0cc115f487fa600b5b6446ebaa52f9015ece56cc19c";
-  sha512.source = "0f5a2eb6e73c1d454efb9e7a0949d0baf49ead997bbba4ca01b3f6ad894b050394430c194fab002bd41bc7017e578818677bf0eb577bf34c7bcc47bd243159d1";
+  sha512.run = "37809d10840c61c7b5c17be0174708b3c66d7fb0b48c58f46aabcaa2e44abf30abc3aa437131ba1148f11bdee3e2fec1b8ab0787310e8924acc7d90cb33c0d84";
+  sha512.doc = "98844a87ac2a83d55c04bca34a53e1cc5c222ac5d359d3c24648a8c849443c5c8829bb0d911d54de76fefcd2d0c4d537feff5effe7591657de629b2ab24e5c2b";
   hasRunfiles = true;
 };
 "ptex-fontmaps" = {
-  revision = 53823;
+  revision = 54473;
   deps."arphic-ttf" = tl."arphic-ttf";
   deps."baekmuk" = tl."baekmuk";
-  deps."ipaex" = tl."ipaex";
-  sha512.run = "948d156244b16385b0b4622662bcb12651be4bd5522b335bc0b24f1e0ddf48241a5fd4e7aca976e471d418a659b777735f14948b863894ea1fed0d2b5e44e4c8";
-  sha512.doc = "2e347f1a2be0c32d90daee6c351b6c71e757a3fbe694f97d50836a6a57187f72004d8cd8051a9bf1a22d77ea618566dadc7027fe24bdd0dd2dff3d8afd290231";
-  sha512.source = "70ea9c04d3a1c4d4e066036e6b1ff328e7c6903e2b57962ccee08c85820d0b2c20a36b684280779301c903c1706f95da5122cbde5c706329e304bc88cf3a0575";
+  deps."haranoaji" = tl."haranoaji";
+  sha512.run = "7e37ae074eaaea59387edb85169cc2cf8ed48b4cd1268d528b7cd2647d91a25b77a67f9ed2f8c91dc177c18ffeb237b92069071887e4b0065abab45cb22208ac";
+  sha512.doc = "795c03ae0d6440f4bce215a1f116af73dcd1c4165fe0312235a5b6b9e63f78f9c8dc70a9672a9c74c4edb394202a760c02578e4b4b78f836b286f74d5bb171df";
+  sha512.source = "42caef22cb254c1be2f0af0cfc7c416b58efa101c959a15ca1eca802869a1102e2d8d8a9800a0957285e3a338a4afbdc7bb95d37204340fb07966829b0fca04d";
   hasRunfiles = true;
   version = "20200217.0";
 };
@@ -26866,17 +27582,17 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ptex-manual" = {
-  revision = 53007;
+  revision = 54450;
   stripPrefix = 0;
-  sha512.run = "bbe8cc1483d48b4b77c3ad00b0159c65b1a0dcdb2a860bc38993150e60f3b2a92ae61d3e598a02afb06c8b3810b85e64a179a8c2088b2b342c6c8148af3be2d1";
-  sha512.doc = "5ab04251235c4cd5c13e213f66e75fd7176bd3b393d4f7b74d7b5cf96620154f76f50dbef02b2ba65ae8ea47557be57baccec5e92a60a2b68e8c9b9e2c44ea8e";
+  sha512.run = "8f79b2eaac03b1a2450389aa58aa9a893a8c73fb0f77d73b10878e2acfa9e822284bd42de0086aa7a19fe0faeab26e1907a20528e5dd0f5949a9310dcd58929d";
+  sha512.doc = "004944f1c2959bf6a7ec264b8972e66eaa703c79916df24e83da7dfe945b96e5e7deedd22444308cab3e0731aa2a5cfdebc82f44f3e5ca947938eff3051fe78c";
 };
 "ptex2pdf" = {
-  revision = 53457;
-  sha512.run = "674d782ae7ae239971244cc5079a1575c416be8ac436c3d458719526fd5432faac2c42993418e4d76aea41a59c98d5ca9d8f2330ff08aa1707c505aaea94716a";
-  sha512.doc = "de114f20e22caeb6d03e1dcc2b59ec180c311f410e24b421a4e27e1988d19e024919f5c5d0fd33451516ffc256d02222b64bd54f1e644f2d5df79255530d461f";
+  revision = 55219;
+  sha512.run = "7ec55143e6f4a1824953f73744edb85a4c4c9d6e4f96e2cad5886cf87209d0b2a4bd8d334b51c0ed296441e3ba9a9a870ae3e4dfaa5a7635c2c029181a5e16a8";
+  sha512.doc = "b90a2d25a2b83ff8af399ad29fd9a0cc52264f6e3dcce45b56c48e9e9c1b1fd93714b5af3f39cd152ebee268648f3cf0bf19e3c48f6e38e4aedd88a3de7cbc90";
   hasRunfiles = true;
-  version = "20200119.0";
+  version = "20200520.0";
 };
 "ptext" = {
   revision = 30171;
@@ -26933,6 +27649,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"pwebmac" = {
+  revision = 56383;
+  stripPrefix = 0;
+  sha512.run = "7790f23e178f730c1c6cd37415b34c7f8832bbc0c424ac5fa642395f0a5162f4d1628d7fc1ae12e37c78669742b073c04b357681033fdb2b64ae81832ebce97a";
+  sha512.doc = "ea65cf3409ee1948c6a7144fd8d72a41798f4f9826923ce0001ad44c9ef6d50a905698a80cd26600defedc0707c5a123a1b5aaca1eb8acf9e0fad2d51672224b";
+  hasRunfiles = true;
+  version = "4.5.6";
+};
 "pxbase" = {
   revision = 44756;
   stripPrefix = 0;
@@ -26942,12 +27666,12 @@ tl: { # no indentation
   version = "1.1b";
 };
 "pxchfon" = {
-  revision = 53629;
+  revision = 56537;
   stripPrefix = 0;
-  sha512.run = "2c81f0ce0c4f5762805cb86e6bf9a3965887e9beb5bdf7292d1a5a274d7728becc580afe0893621bba8e5c477da32936607e0b3fb5d3563f9c6f9ce640ab8859";
-  sha512.doc = "3284966056d60f10b9f6636714fd64c580ffc53c03aaaf225e59df2574642a7c8d28f8ce44eb46ba0a5c809476a2bac4891ec0589c87c37f9a2fed9f412a20cd";
+  sha512.run = "0883ab31076052a9f970e8a2704d6fe69e4cc4d98e5e58528b48393c4878177cc206baa454539a6f228252c82199a409333ba9dc250b6c79d429e00f8da26cc1";
+  sha512.doc = "4bfdcbf0eec187e6726978dfc55dab1217f00a06063d43fdcd6ba640739bedc72fcaa9f5d51f9471173f6d55085076155e7dd2f549739fd15cccf74bb03206f8";
   hasRunfiles = true;
-  version = "1.7b";
+  version = "1.7e";
 };
 "pxcjkcat" = {
   revision = 47266;
@@ -26974,20 +27698,20 @@ tl: { # no indentation
   version = "1.0";
 };
 "pxjahyper" = {
-  revision = 52899;
+  revision = 56573;
   stripPrefix = 0;
-  sha512.run = "ba1a25007905af5d61b2ff3805e09853de8a6c6463d1efa8c1a9a4de5266ec4db23b24b26c3511c72860264d8032059ded26f7e57f4d4da207fc032c1d79c07f";
-  sha512.doc = "f2b6a6fd0164321a1878af5daabd23ed7f82abdeb1a7666095779c9ff5cc39f6584282a0fe7f65c59080bb8f25b803e713832a1ecfb50654acbf2a3d6fba1269";
+  sha512.run = "8e0d6170b7a581100aea33f1780a0449a5894b43ff12bb9bb1d3b6213b8a2a33c5dd7e74e2894ae6a58f7ca56008f4b9a7192775cc3518c0326a6b953b31260d";
+  sha512.doc = "b251f5de00df4ec6f7b69023e6bb33ba35453e5c2b92acc969d59ee0d44e82b8e1845c2d1efce71b75d610d3463154fde2bd4b7a299bfa01c3af30b78e27682e";
   hasRunfiles = true;
-  version = "0.4a";
+  version = "0.6";
 };
 "pxjodel" = {
-  revision = 51379;
+  revision = 55006;
   stripPrefix = 0;
-  sha512.run = "a8b4cab3c5951fa07659f323804e7037919d4a8b46f73fe14d3ff920c54a17dd41fe813a7991102cda4743b51152226e60974da1619cf4108f5dc77d63349d20";
-  sha512.doc = "424713f3f6cfd46f75b05ae6f8f0ef59e4435f970a1bc40333e80a5ab1ba94a79a333314f683e377232f929bfbe8c99d5c2c59393d1c9db6990e2343778f2c09";
+  sha512.run = "dfd7032b250d85c37d983e4b0e8d480bf3a36822a7c9993e423ba2ce7320c1e1305106aa6abc5ad099a667c4821326792b4344d17e6a34f33e02b4612451f9e1";
+  sha512.doc = "e7f8c3ae9e32ac296116743feaf6cca0be3b376b3c34adaa2a90e41f0c4aa329f1330e257e99fbd43025f46e340be48c1d7cb2f1131c7a722a4f7913ddea1a81";
   hasRunfiles = true;
-  version = "0.2a";
+  version = "0.3";
 };
 "pxpgfmark" = {
   revision = 30212;
@@ -27015,10 +27739,10 @@ tl: { # no indentation
   version = "0.4";
 };
 "pxtxalfa" = {
-  revision = 23682;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "ac1972a7dd5445bafca244e04663e09c4e939eedf31e8038e2ea41d255bdf6a4721bc53a443f6663f989b21494c61b3dae9ddc9940e283cdb49723e6fabbea69";
-  sha512.doc = "55d06ddcb52e79ea590b24e8aa53a41dc18162ef9a8871ea69eafe53c6d0f5ecd5b548f97864c0253f543ca9f4eda17c665f1a6de1115cd8052670c934fbe52d";
+  sha512.run = "6d03f8d9be9d07643de2ef1f35fe30981861d6c230793912b3d093334260e53b3bae9ff178e97442425e527d1dbd0eac366fad16b0276d44378511ddd97eff52";
+  sha512.doc = "0ed329847a91c8164883b873fc7a98cdb1571cc733d9d71ddd9bbe52b591a71b03cf0d6bfe83d63e41f6524e01f38a91c67d370c661e02816622dd56eacfd462";
   hasRunfiles = true;
   version = "1";
 };
@@ -27091,6 +27815,15 @@ tl: { # no indentation
   sha512.doc = "6b6fc20f5ec1269d318813b1ad34020e2b5341ed8891c11d2eda6b84884b3782e992dd9dde16d14b2030f2b57e1146fb6da6e761a35b12a3d88e8d865285668d";
   hasRunfiles = true;
 };
+"qrbill" = {
+  revision = 56190;
+  stripPrefix = 0;
+  sha512.run = "a0b85af4d872348264b7a8ac673bbfc3f4e0a7c36fa7edfa2fba78ee144bdce908adff6d3c363182693bd4ad8a75c0cca978ecd52c1442656ec1cc72f1506f0c";
+  sha512.doc = "9aeafdc2506e7a885dbd1f54bc827f72c86b994bc766ef570ad82b16e960f54547bb6f970772dcd58b75304ae33c00d0d339a969c902fc75b8431037af9dd9b9";
+  sha512.source = "9849b7e74ce53c526b8d28122852ec9c5ceb9873c1f57d067aaa8bfe09f09a6d996a45695a6e564bf395275b0b0e3de039651669e2c287cca1095cc628bd27ea";
+  hasRunfiles = true;
+  version = "1.02";
+};
 "qrcode" = {
   revision = 36065;
   stripPrefix = 0;
@@ -27134,33 +27867,33 @@ tl: { # no indentation
   version = "3.1b";
 };
 "qualitype" = {
-  revision = 53247;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "612570ea01cf7631d277a8a152540784f24a0c33c059e35357f5b753a213a0993ccb297dbd11fc831a7db3ef14c648bb1e39399187b42bf74b93c8b1c586b0b1";
-  sha512.doc = "7fd5285546fc3092165dee74c32c4622c3ef49dad0760b14ee0d1bfd3289ee837ad79cbb47c70c5ce1aeb665692faa660f9e6ae42011085ea0fb8a42eb25d337";
+  sha512.run = "c507e8b712f2ce40474ebf2c072654f00d71f1c21156cecced7ed40ea9beac07790a67250ebb7a535c19a266573edb5dbf8d1fe4d661b7828428cd1c7574a1c9";
+  sha512.doc = "20ddd865622520e4f9a7a1472c03f3c18bac039dbbe10849364a8ae1d0ee7d8771f30a02511a701962b2db25c79c74d3c2aa14f42951c7df9c0feb199092d510";
   hasRunfiles = true;
 };
 "quantikz" = {
-  revision = 50934;
+  revision = 54911;
   stripPrefix = 0;
-  sha512.run = "0d6946eeee69573a3c014a16c985da8ed193be32511723dd6302978851d9ac729aa7248be6cb152bb519b36e1b04bdc741b440d9746fc8106d326af67d8d10e2";
-  sha512.doc = "8dad4e65191d092b497216ed8d57249cb6edfcd54481bac8b1ca8af9734608b9f4f54e260be6ffc3df93353f81eb839db6c68e874a24f62acbb4613370578efa";
+  sha512.run = "e31e50dc3f854f7e2914214efa945e881ecd7ef17eb9a5b8017d911b0ea7bb8f57029a956aea9afecce551c289f08d5c9faed5f9b785d26f25cfd52f64a2ec6f";
+  sha512.doc = "aba9b0f6466f62bd806b5c02671d42d344c18a353f292c3193053908ef948801b0883bf9a47c51ff12b0059a2dc6040028bda01fe51f113ad576f0e8c90c95c6";
   hasRunfiles = true;
-  version = "0.9.5";
+  version = "0.9.6";
 };
 "quantumarticle" = {
-  revision = 51925;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "71568c84798b4ca114ccaa98475d84efb0e0332c12617bfdc72694aadbb3f6e30b9ff5a762baec0781420b02069a0a5874367e5d52089d6bfcda5d2af789cd69";
-  sha512.doc = "99930e86922c19d13f534f5d04a0f29cb4ffaea04e8062bb018c6a848dd7674becf8a515f43413f3edf48c5c485d4d680b371c857b24dcae6307ddb329307dfe";
+  sha512.run = "b51f05fef8e15ef25692066bbae15e4b73c44f4fa42cd5b4fbd274314f6ea0c0d490f0ce709834063998d156d64bcd22698e7da635dac1fb7ab09de0c42510b1";
+  sha512.doc = "5157726c7805ede45bc89e974b46ea09447d6eed19a9ec818a43a7609e28df15aa031d64259d3df8fe347e1564d0896ed6ec434d3b77908ff14d23d7cf333832";
   hasRunfiles = true;
   version = "5.0";
 };
 "quattrocento" = {
-  revision = 52381;
+  revision = 56020;
   stripPrefix = 0;
-  sha512.run = "04184f6e4eeb1dedfc165778d2886e5194e48adb5a17bdbd91c1cd408f42287b501a35047c761dfe6114eac1cd9cc68ec204f73e7c7946c7cb44b9b915bf1347";
-  sha512.doc = "ec4fe49f7b5bee5ac61d39568a900783a21e67d36e77e0af6e974f7dad27821a01cda8ea244f40b02de7cf4d427bb8e7d5fd3db6bcb163f84310083dfef68278";
+  sha512.run = "8ef86d388e28f0fcfd66bfbf190f4a997029224387d3c18e81f7f1790d6440aeff72125608b471817911cb2deec1f0641e7a1c166bd0e04b8ce550800169a691";
+  sha512.doc = "c4727b3aef74633921949c5efc9b7486cd3537fa8bc738b36be5005ba4dd599f907238a6ee6d1bca7907b1b23c64d1e7d32565959a2d172267bb0910339f09f7";
   hasRunfiles = true;
 };
 "quicktype" = {
@@ -27207,27 +27940,35 @@ tl: { # no indentation
   version = "1.0";
 };
 "quran" = {
-  revision = 50980;
+  revision = 55530;
   stripPrefix = 0;
-  sha512.run = "0b6488c5791f3afe774d0cec602e0da69fc9d5c5a83ee0f660d87e7f58e43f78c5e25cc7c7da446c0bff1e69a1857e9bfb920d03efc8492f5a2e226a2caa6dad";
-  sha512.doc = "15d704615b7b08a570ede940ecd5dd73a75fa1ee07631b7b9354fada53ca42c87129b63a3c7825a17f37579b099131666cf2d20e81b9c09030eb7bdd8b069ec7";
+  sha512.run = "2537ed4fc565e4f6f1504901f5e470e928b0e0693712df79baf310886a133cba69990046d82e50f7af824e4e9b0c2c8abee8d8db41aaf0d36c3cf89b0b76ead9";
+  sha512.doc = "0f64e7c7f3390f5b8e5dfc4d3babd93f88d26cb7371b73dc7e4849892039eff5946616c779d56bb56c873872306d424068f2cca26eef1e8584da6e3c99aa2683";
   hasRunfiles = true;
-  version = "1.51";
+  version = "1.7a";
 };
 "quran-de" = {
-  revision = 50979;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "bcd27ad64c01fae92d91155c918e4880837f657cfe5dd849a8bc137830a8b2bd6eb9942c1764e60f65bde41ce2e4397d755ce621ab83c5c56d181b60042a503d";
-  sha512.doc = "baf460bbda2bc6890585dd21d0f86208501ddfa4443ba0d4552e1748ad44ba578fe78e79928a0c2556eca543089c2802616b9a4f9637c64ace7d01ef30168e39";
+  sha512.run = "d969c3fd171102e4c47bf4eca383a22498fb6e95a5f8be288a137e12e1c92adda9e92587c402ccf87fcb116597c6074e64eb70b8249b208e7d1bd684d6ffd6d3";
+  sha512.doc = "4a371576e7754789ec67cde04f533ade561d770cbf410e31c8fdb737d127dd36e0f8f6a233512b147ffd5692acecc43e1977c76efe04b1a65de3c6297038a954";
   hasRunfiles = true;
-  version = "0.141";
+  version = "0.2";
 };
 "quran-ur" = {
-  revision = 51013;
+  revision = 54191;
   stripPrefix = 0;
-  sha512.run = "0a6f214eac72a453050de2e2bac8574bbf746c3abeb528ed08c816633f2ea216a9e08f9be517c4bfa2a43924f5ac1921291c7f598297ac23848568f6ce85ad47";
-  sha512.doc = "9bfbc6ee1896e1586150fd67443626b6808e9d15efa5552e5ad238c3d704868121ab93355a0b170f7bd958992b42b1553006bc2e28ad01bb555735da70ed1fe9";
-  version = "0.1";
+  sha512.run = "e16703eda6f9d7167278f8414c7d2ebf430720e013cbcbaba1766afe787f780ee81c54d3c8910f1d05c05850d45cf34dea658a03b20c498836db4e4c9e810bc7";
+  sha512.doc = "fe770e7efb5f1a9694eb771d5aebf9fc589a1fe135e78be3251d4388061272655496b7287ec40991ef454840ec1db96bd245b134c51891ec7d5b704843b6ea54";
+  version = "0.2";
+};
+"qyxf-book" = {
+  revision = 56319;
+  stripPrefix = 0;
+  sha512.run = "be1be15996d6db58200ced70e6b17d29ad015bd1f1ae1dccb7cb50e225e9150db76511fbec37d17711e10104322782f92bf9fedecf990fb4358fefc2df7a78e8";
+  sha512.doc = "5bd3f6f9576ae2cacf3351db9cfe59ba519953a6e25e32b2ab4215a928d7a0f2903a9c75f9432c8fff3d9b7221d6ea09c439421eb5c5ec6830665d89836b9d63";
+  hasRunfiles = true;
+  version = "3.1.0";
 };
 "r_und_s" = {
   revision = 15878;
@@ -27272,6 +28013,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.2";
 };
+"random" = {
+  revision = 54723;
+  stripPrefix = 0;
+  sha512.run = "a93eb4d5b526285da18105f67bef5cb4451b7b71be50581936a4718ad99360dfd8141ee9437d374c56eb3db3aad9af4ec8e1555a4a5b8654711bf64aea3f419b";
+  sha512.doc = "f2aa83c5e34707ce9f7cb46e6f3b1632784ec741a68ba9faec0d323aba2054de55f184aa9f1120491bbc60db2040087c4b2dadbb9a4b3763b84358c1855974dc";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "randomlist" = {
   revision = 45281;
   stripPrefix = 0;
@@ -27323,11 +28072,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "rcs-multi" = {
-  revision = 21939;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "156e3f47b8f4eae8cb959bd561cca2c592a43483cdb99fd04a88593ab5fd585a814b0e3416a835ce8d249969eafe119cd80c9c5364f40a9e595aff2c5f2e6f65";
-  sha512.doc = "2eafcfc5c0297c021ea7f35abfac9526c4a40cd46efb88ee6f41a5c0f5d68586263d3140db73c1f9026cc0fc856a888369b21f5d85679f5eb60dccbe111938d3";
-  sha512.source = "6fda675809ee257aa7f96a3ddcca5e3ec8577bc337c3f303ee6658bebace26ba271a367b116abc32fcb2633bb5c57a442b2e12fc2bf67b8326ffaa46f08f6ed4";
+  sha512.run = "4b8cda573edfeed6f5ca2c993aa72c6cbe42f8705e42e9004f6dd4ef85e2e6bb4b9ee9b6a865ca7966ce70d685ceb5255e87545c2159feb30986ff8e896ca41c";
+  sha512.doc = "a2a2cf87235015aeed11a1f924fd7d719e568c99890fe7434dd1ecf7853247e50f8fab4c7a800a19e4390c953d940107de009e74695248251d76f773d37cabb4";
+  sha512.source = "2f72796d40de09422a67cadb68a093d44b5cff71f51c33c681117891fae080bcba43baffc4a12a7daf8b486c75e8d20c8b86612d411af67458a1f7e3c69e1d75";
   hasRunfiles = true;
   version = "0.1a";
 };
@@ -27340,6 +28089,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.11";
 };
+"readablecv" = {
+  revision = 55190;
+  stripPrefix = 0;
+  sha512.run = "54d42ad6b7e25cbc6f80f0ea960b230a082e30a15cd4d67ac21b6a941e16aac859195e7445a1067a16fbd83ee2a74e942ee9a8f88ec6e5202424ed793f2e005e";
+  sha512.doc = "01a03842ff5aa895e257beedfef8cd9d01014a122244e70c74ccc307e72c73a2727a74b570cd8b61a78889b8a31fba7b3c61614a3dd9bff5aa7b4f5faa54fed3";
+  hasRunfiles = true;
+  version = "2.0";
+};
 "readarray" = {
   revision = 42467;
   stripPrefix = 0;
@@ -27349,11 +28106,11 @@ tl: { # no indentation
   version = "2.0";
 };
 "realboxes" = {
-  revision = 23581;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "944de8b761acc0949ba14c0d506287b64a1cf8efe20fd26dc74930e589f4d0651ffc3f1c4959111091f90d0f869ba18cc9456a5c58dee0a1b4b8ae7c1c6c02a9";
-  sha512.doc = "cd194a9fd0836c8cefc57c26394f7e7f684974c374f787f3ac6d82daba3ac1e9f17aaeae06f26fb9851255bf53bab6290124a1878289651dedec824238e8193e";
-  sha512.source = "4ea18fd3ad7988447d1c2ad993d76dd1f2c4802356885636e80e5157a3892ecc235d9fce90093044dc9415056a986ccd5fe2f8eabdb86bee3eeb27eae5509be8";
+  sha512.run = "fa998a9ec7865f65c96fdd2c7015646db01f72a6a3d291c98c726fa295fb883f0e6d7fceecb1276bd2668729bfeaf0a9f9eaae19913ed6af2f54530243205d16";
+  sha512.doc = "43d982eeb7c7f6405b35c2b37ec20fc92fd46a1f3e1a1ac8fe69bc74dc5bcffb3bd50c791139621d9927b07fb80e78283f3e98d13a552c5bc29d5b147fa28b04";
+  sha512.source = "5976fa640a0c85e837a606e286ab50baea1a75283dea9a0d152a901ca2f565327c27a0f30539b7536bf00614cc998e1c7b8c6b8a28f22fbd121beeb8f4503b47";
   hasRunfiles = true;
   version = "0.2";
 };
@@ -27367,27 +28124,27 @@ tl: { # no indentation
   version = "5.0";
 };
 "realscripts" = {
-  revision = 39706;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "20301b045034aee5650a976de1341cb0d1629d6d622e75fd3c52aad8f1cd6377d3e1095e75ff0552b9cba887f332205f861c24c4fa453bb9f957f1dfb2aa2968";
-  sha512.doc = "5bfa7a13e824a6d7ade0f81fec6f0c9164035c8a5b512d5a49eb4b47b0b47ec514aa430a34e6cbad463674a180a3119305b5a6525cad824b8f21d4b15b03350d";
-  sha512.source = "71a4e590c2e3b7d6755bb2a65890e75ad2d380f26649600dd4e222ce9045d4a7bac371d37fcde0afd51a09c213f5234ab2e268c45438b49d846f1de12fe21293";
+  sha512.run = "fc0c686971c536b3490438e74322aec06371857a987bd70a6def7310441229fc4813d2080c5aa9b5e22cf78dc8ab1c3ed75b301acd987117d3e6f1f589f78981";
+  sha512.doc = "bddc4958f2c57e5e05fa31912a6c19ee123be463527f2e1121405194ac47b6a806790c204268bcf590785c927808b75305079ed44537ec84284c594d691c906d";
+  sha512.source = "117c3dadf6aaf7a46a3290f6c49d23f62af1206e512bde7098068071e9edf00bc7da0fb34392b0911a4ae525eb0a99b946317d31d12d3312879debdfbb345a84";
   hasRunfiles = true;
   version = "0.3d";
 };
 "rec-thy" = {
-  revision = 50047;
+  revision = 55427;
   stripPrefix = 0;
-  sha512.run = "cd3d8c9f6b08e4471fb377586ab928c7173e72162269eeb9856d4fd50a2c89a1e1509bd36356ed0d37d89eeecb22391ca17bc5a214813acd3496d4c669f261cc";
-  sha512.doc = "257746313876d190f62d50dfea03a614c5b6732d79b7f43b7d6c41be54c8827f82c996570c50907641536e1e5ffe172d495e1f3db94d8d1e13fa5f630225337d";
+  sha512.run = "4b0310e35f9c4b24d9669d1db52a68d3406d34dbae9b491052cec66bdd39c9affb3a6179dffbf12b368fa1bfaead0560e84e4eb62f575345151032f01b9fba6e";
+  sha512.doc = "a17f5163ec2826b2c84b08eb24ba97064fb9415f471c6c1ae1fd170f33bd4f841f0241c49fb265e5f25626513a0cb9e9771edef02eb4884327db115bf28cf30f";
   hasRunfiles = true;
-  version = "3.01";
+  version = "3.4";
 };
 "recipe" = {
-  revision = 15878;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "bd6046896b15d362fbe91e92485cabb1100485b5c91d4ac0214aab12e0debdc900d8693e1ca345da0152cfcd400a2f4e7603fc3e8476681127e64313e2f9b954";
-  sha512.doc = "b21b70e757a0d842adfd70f0bad21f46fe9b3242bacf4861de183b833edc950eb2cc06f0d3569a48c8e028283b1526741a309abd8fa9501f9541256bbb357ddb";
+  sha512.run = "03e9e48a2e423f36ccfbeb2e61ffc7c3588658a158c1729f697ce44d98079f104cdf1c17d85ffd5700a7532f762e22da0c4388350007eb13226cc0da43b08678";
+  sha512.doc = "4dfd27cfbb4f5f5f45a5fce25fcbee4c9881990dba1009337f41e4080686e993246189595a7c28b8d56bdd2e81a70e9c6fefcfef0897736d5400888bb9fca210";
   hasRunfiles = true;
   version = "0.9";
 };
@@ -27483,22 +28240,22 @@ tl: { # no indentation
   version = "1.0";
 };
 "regexpatch" = {
-  revision = 47601;
+  revision = 56576;
   stripPrefix = 0;
-  sha512.run = "ef1f12a2480834e447110945e685cea36a5e72abb462106bdc42b086cbbf0d0f9857429d1c5ec243eaba74ee39ce8af29a758f8741a6a7dae05f376786971ea4";
-  sha512.doc = "6c6ee8769f2a602c4afa9e043daeb5151db1d5aa92732201f0d3c36d07cc754a9dcc09a15fb2cfe69527aa80633b26cc522bff0b696d774db933b6dd0c916369";
-  sha512.source = "596024cf733d8a0e51d632ed2b1c9d7ef7594636a46be04b80dcb6fcb6b5b4cb45c8e0fcaf8b6ad5c1dbffb2206eec8ef6c2eb20a2af59258edb72983169ecfd";
+  sha512.run = "ef196f5a5087bb601ceaa9538d9a45d094c1e857f1f7f8fc29c6737981cc9b8e3c786e0030ef522e16c5fe3bd6d5afc03e966c88ea76bd8344bc2f3c38f5ba66";
+  sha512.doc = "ea2f036fc0aa00103e3ea2fd04e1115cc9d76e9431e317558021a479e7d5dbd67f0e35f7be817775ee3b7a2da5d1fec06f5b63ddb9b7908fad72ed43f2a4552e";
+  sha512.source = "e2df59b0a41f0b2cf53b0b778201167192de37830d3705582d5b643389c753d8b94f0a5a073fb9206aa8f73e0369bbf7d3b17ca6c20d5aec09d5b236b3243892";
   hasRunfiles = true;
-  version = "0.2d";
+  version = "0.2e";
 };
 "register" = {
-  revision = 49581;
+  revision = 54485;
   stripPrefix = 0;
-  sha512.run = "049cdd2039a37857bde1ef3f7296da1b6e95a62f366e43b508db8ef70e6afca7a763632078a5379c620692febd49df3afe4049d8c97971fdddd37afd8e357515";
-  sha512.doc = "fe09f70f908d9b96ad961bbb6c44731572eec871f3adde68dd5b0a094ce932ed15e8bca7982997f17e771d202d9bee6d397f1c4c6823022faf53baa47e40dcb0";
-  sha512.source = "631a77363ec20f7cf849fbf17604870bf7868ac3d4a89768b7ae72abef34f2862502ab51bcce7b164fa497f5922a29755ac4e1a2d3ee2d7471a28be9bfdad89a";
+  sha512.run = "709694065b22e33c9d3f8d859ba8632672bd5e3fcf6102d0915c203b4fa6773e0e78f02b1af537b3ff2eabab5dffdae40e0dce63232037c37d4e50ff325e8116";
+  sha512.doc = "08ee956f1f667245f3dc63a27f10b898a03929302f68f1fe19bfa3cc923a890ca72795d4500b16da31e7f69d375fc60e5023ebe404f3ee8b0ecc289fb7a6af5c";
+  sha512.source = "9bccd74449f5b20fdaae9b1a6e9178a1849f711bee6ca23229c20bdb78f036a81d38a370cd8dbd0a092d0f9fbd0f97b71d61e81f337561e7345610e04412dcf3";
   hasRunfiles = true;
-  version = "1.9";
+  version = "2.0";
 };
 "regstats" = {
   revision = 25050;
@@ -27510,13 +28267,13 @@ tl: { # no indentation
   version = "1.0h";
 };
 "reledmac" = {
-  revision = 53675;
+  revision = 56423;
   stripPrefix = 0;
-  sha512.run = "fb2864ae9a8efbc466c7ac1d741fe4345e31fd59f8aee65f43a8ed3595cb13806030c71fe3678ae4e445b8a4d96e38028424dc1b28029a7dd099143151809558";
-  sha512.doc = "4caba1ec60ce639eb856be255348dde680edc7bc60e276ae9fea638abe0762f2ba45f67ee1050f529005b7fe0ff265a4abb6f868b80b36bf54745bc1d428e264";
-  sha512.source = "c506b4a40c663ced144b5712e30860be7072e8eeed1d596d18810e780b0b10f081515650757b70c99c2ed46717b2fe8e52e84dfdd57f4b1f3265741304e65c41";
+  sha512.run = "d3060776c444f292580157d7c4eabe9727624b38abc52b5fdb90b4fab8d7cfc48b508302aeff8ef5b1f7224613898839a80e5ce47fa02be889214e30114f64e1";
+  sha512.doc = "91bc61458e584e0c2020d435c91c79e3d2cda8f357bc9d335a6054b59a0f7b14c4a989cf9086cd19d4c539e66d48a3918ae2d29688044627a66e56d6b7b86a5f";
+  sha512.source = "fa5fb2fce8b6a648c2931bdd5ab998e29d5f654a7306d2ae2d32e303f85e1b8005c32bd88ba4735d95f1d9a91b144f39e087415334056877dbaa8ffbbe36ccbe";
   hasRunfiles = true;
-  version = "2.32.4";
+  version = "2.34.5";
 };
 "relenc" = {
   revision = 22050;
@@ -27559,21 +28316,22 @@ tl: { # no indentation
   version = "19.06";
 };
 "repltext" = {
-  revision = 33442;
+  revision = 56433;
   stripPrefix = 0;
-  sha512.run = "32d4e90befc06db973de384855c174ea0ed9ae938a9ea280118d82387fbcbdeeab8fd1143a96c9afb2b904766e5fc43c0d4eec93d763b3e0e730ac06f6883c9b";
-  sha512.doc = "ead39615e96c4247be7072dc4fd715288ee1c8cddeb4cf88c5ea79a6659808936fa6eaba3dced3efeb6802e58bef4632604e92d1f00c29b8f0bb3a241d56559f";
-  sha512.source = "f01bb1d0ac9a4ae0303770faf083c447d3d800b43848d11560f67ed43c50f09e742e27683e911395b9ee7d29bf962f4b3b6791d3d25fac630d57c967bd14db4c";
+  sha512.run = "a5deadeab45a6a2ab4732e91c26da32f276e2d5b35ff357faeb3361c917c3b47c81e59cb6934d052d3525df2a810510e6fa7a8b9e9d6d272c91b4b558de7132d";
+  sha512.doc = "0694a76754c98bcfb6999ddb96c368701556eb1de025af1ae32ab8e39361d18405fbd2c1438c1ebafd2cb06f2d9884afc08e1c94f57eaa89313f54d58a289808";
+  sha512.source = "79a4c693599b0f20e4e1b2210f65dab3b1cc276bf3a661f385a2ec70c703846e881bebd2d6ae8913a007b832206e033f178c4017fc69ef099c3ff87f4b40f651";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "rerunfilecheck" = {
-  revision = 53837;
+  revision = 54841;
   stripPrefix = 0;
+  deps."atveryend" = tl."atveryend";
   deps."uniquecounter" = tl."uniquecounter";
-  sha512.run = "7c4e3a840b0c02b898182271c35fe36b3c0f77250a8e1629901df500ac12fca887f9f21aad62e3e43f747e409184e5646efd121240caa20f83d785b9b2aa1ed0";
-  sha512.doc = "d710c123a00a1b8a286dd9973356772402b6cd93d4debeeaa2e961b1bf7fe2714c8b8a12ad877f66dc5a6ae995235555838f20835f5f4522d110de07abe2e1fa";
-  sha512.source = "38c2f878bcd0322fb2606cce01f64b402acf816995696bdac58bbe0b8830ea8e3f09645d74ece6ff073e236996008eb78be332978441654494ca0377f44961b0";
+  sha512.run = "0ac228620001a42add1da0ea4ee7511413789e6c8e139a8a8a9f5cd0423893b324c1ca3644cef7b16bb5d2d4df26baa73b61d7aea2592b752e446b7185ff0cf5";
+  sha512.doc = "5aac852ec67c34b6b2f7d040f7791ff9d706446b5b2a395177753d279718d5685a99b25a6f4121d532a395a29ead4f62d76760de48b0beb65adac0c08fbe281e";
+  sha512.source = "5201946b44007bc115cd7840f20c9948dd1a6e403290c301e5e735be80eb91c8913630d0d1e41343bdfefdd18ba0a247869d28ab152a21de67b932f1d181fa39";
   hasRunfiles = true;
   version = "1.9";
 };
@@ -27586,14 +28344,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.35";
 };
+"rest-api" = {
+  revision = 55643;
+  stripPrefix = 0;
+  sha512.run = "800bba664ba22f42e7a2152064809af8caf45316b4b6e22b6f4aa40a8dedc6f70c636bfde52e5ac7979ae122d1e1561903f06d2cb3da2b42caf0e8e09c278304";
+  sha512.doc = "4514cc0fb0af136783257d4587b29112a38fd07a5c33f461ca9d0ef8f9fb6a10eff189c02eed5c8f7ed2de49c8b2d25a47628687125217677271a80db272b0e7";
+  sha512.source = "167bcb6de80f699afc12ed6a0616edb63e0d063f875f9ecfff1942ee7fa3141c3a740c3cbae14bed1234c7247b488e999fa41acc77d3d9bb2da11de4de1c5be1";
+  hasRunfiles = true;
+  version = "1.3";
+};
 "resumecls" = {
-  revision = 38427;
+  revision = 54815;
   stripPrefix = 0;
-  sha512.run = "b7709500024b7badee75ef912158b368e9e3d01a6051b75ab0fbc4e5c90c6bee36226096a29891a32e1ef6dcb87a10e23b4fa1531c34caa48443c22726b07c81";
-  sha512.doc = "a99f08f236cbcb321a106acc6b768aaa0aa10a7d101dc635dbadd161e1681531950cbc161553cda82f2edcf0cf94af7b89f5d53d504c049181c3f63a0d0ce527";
-  sha512.source = "071e7d3d835313f0ca38d90f632d8c83583fd552de2b612cabe0f4c6bec097c944a1cb18f316d74cabf6ec0a0d4d3e890f2adb1904ca01af939cb97470430a77";
+  sha512.run = "1ee39179bba50d32bd3d6d9a00dc9f77a9a2b1822e13958b15804307e36ca208eed327f4f8ac144418e2ccde8d9e248dcf4c72bd137bf440f956d60d0bb11634";
+  sha512.doc = "23a3484a598f3b18763443fd4131a2e0278f17788aac6b640b00f0935c43ee7c3da5850892b525eb6bdbb9fb01d543f7a22b93cd5ffc64290ca0fa4f41a31354";
+  sha512.source = "a2c0f2062f30675fd4c336f618e7f25e1abb2737aa98f5bcb499c5941ad4615246046f9b8a5aaa57d94ed3b40906a73985c2045f8e571c2d86cc0e7dd2c243da";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.4.1";
 };
 "resumemac" = {
   revision = 15878;
@@ -27626,22 +28393,31 @@ tl: { # no indentation
   version = "0.11";
 };
 "revtex" = {
-  revision = 49751;
+  revision = 56591;
   stripPrefix = 0;
-  sha512.run = "c3303edee2d0d7f160381ce91c4018023d70fca88c215d5ed9d46abcdb71eb79ec5a06a899575748dd9d2572323cf80f0ddde75b9c7ab72deca5fb9bf396e0dc";
-  sha512.doc = "ebf8f55ef5775b38cde9199e6c604e71400608e6a06bc59482fd017be8d5be68ed08e21ee87a11eaaf59e09af0f89fd7be1f6334fb67e3ca1914ef2c5e382e8d";
-  sha512.source = "544482b0bb2b9a0f8d0d520cd22c3030bd2efaa88bea1e4f2ff032dd3fccb440766503c7d1a2b467c5de1386509e319235794659683c2248987b743c5d53f3ac";
+  sha512.run = "3ae6c843dea5ff9f91512a1b713aa2dd05f76d7116d2af3f005506864062a9d1e27888c33fc12aab96d5c566e9e7dcec0f91189f957bb4d2aa69953d6b10c316";
+  sha512.doc = "9110bca4c358d5364acddc8a04d95df821249bc93a9e811a4d94b703b6daf124962fcec404354bbecc32557ddb7ce67993a6dba7ebad514672dd586995cb23c0";
+  sha512.source = "88121fba6636f753b96ee19beea708d642c20292204e30e0be85dbf0e0af8e2e87386fe6596841e8c89861d2b4e6247913bf26fac35b1eeb33ebc0469e1be5bf";
   hasRunfiles = true;
-  version = "4.2c";
+  version = "4.2e";
 };
 "revtex4" = {
-  revision = 45873;
+  revision = 56589;
   stripPrefix = 0;
-  sha512.run = "7b4902efc551bb4224304adc3553a229393bcfbbf8c052b6e3d4e0f800ac3bb2f2f838f3e77144aa1693fd09f06c7a05c22d7ab0de9de382c53829891fb0f44d";
-  sha512.doc = "d0757cce30acb2703a78310d1a9d27c7d28f5c697c3e70e5df9b2cc63ea122604b618615fa07da586cf8f78ec04b5eb9fb129a59a9504c6cec5acc07d05cf1ec";
-  sha512.source = "ac0cef14df3a8398ea96a0fa3d947f550305a45928ed539a6760e5d8812f8a4c69f94352c36bf86584ede364220fc1129ffd54281fc98c62f01fe51d23448fd5";
+  sha512.run = "cd1f83a7f2664c6002b93bf7ac3b5dfef4767b79f66cd03ed738e395027736d062d23f1a6a9354834093857d467664168295e615ed1c734b708c098943d7bf87";
+  sha512.doc = "3e74689745c65b4ae0aa5afc946983aad0507de7cd382db5cddfad6bd13e1414d5f72d7fa1308b3fb65b34eca82ae632b772690a67c643eca6a26490508f7597";
+  sha512.source = "32be85786fab483ac0bf8ce8e0bb314a3920e17b3102ef7ad719a4e43c3fdae113089c76587ff2075f7bedd1a6dde3fae6123a0f346082aa7a7645e7c76538e5";
   hasRunfiles = true;
-  version = "4.0";
+  version = "4.0a";
+};
+"revtex4-1" = {
+  revision = 56590;
+  stripPrefix = 0;
+  sha512.run = "8c3e7c3845cd070ec51430a14a5b2d6f5b49821a837a6ac1f3a8889b353324479cf6121de0084b021c46722c425caa997b1b14df454f70bf7201ae4884de0f33";
+  sha512.doc = "d17acddfc14e54d74b874d6d7599a3d20a2e314072a760b0d03ae7e17184e0264fc2d98f0d3b32109147f9b4e0a099e0c7f7e8747730a567d3a2b44d4e4d22f9";
+  sha512.source = "d21d299085b7ce98e665cdd28754878c95beb7b0f0dbec970be3e39334bb520eee0ae4784cb4118b60edc0a92c6abb5bca8ad567cda65f5acdfd72449b15f2f9";
+  hasRunfiles = true;
+  version = "4.1s";
 };
 "rgltxdoc" = {
   revision = 53858;
@@ -27686,18 +28462,18 @@ tl: { # no indentation
   version = "1.0.3";
 };
 "rmpage" = {
-  revision = 20002;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "d1627cfdf5ad3f23d03d4d06a4fa039e2ec7ca924245bbda7333b90a7cab8d1e22937cf23968eda45a2c3ff60dcae8a99e2223f9e235485a30ae68c4db7f901e";
-  sha512.doc = "25fdd83906edeb10e5493bdb00d05469dbf323bb7bd3df587a5f6dec5af17ca844f27cff4eaca3eaa6b75928cde8a633f59b2029b60f03220d847222f589ddef";
+  sha512.run = "13c05ff27a2b5979102c80bf30cda04d72fd144ecf43359cafd427417ed9f8921332a0cbba704061847c9f1d740f795ee1135f6ba2ba183311496884189e3fec";
+  sha512.doc = "e4de990151be0c984486b833b9f883d1f3412371fdbcc09900b89849b943800cb269fe0164695e95472b463bb4dc81b92fdc532dd59a9c3ba451fb961b89211e";
   hasRunfiles = true;
   version = "0.92";
 };
 "roboto" = {
-  revision = 53095;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "f52f94089af19aa4ced216946f8f2f1f69364f012dc16b044221c66681dc4aa83837a05521b973f8e6e8f8dba86bd5473d1b25887ffb3b4479fbe00c21af22cd";
-  sha512.doc = "1478c55c0d2857dba5a64e8ba7f19506e58b57eb10b913afeed9c005ff9c859ca22d26ca9ed7cffc7c30dc33ba9b11f8f9453a817fdd7b4d60bcbded149f0975";
+  sha512.run = "08e409a234850d70207bc7551d61bdfe40869af032bba2d81a99f7507d399badaeb9e8dd8d663127d01ec78520c7dbb1d60b5de8395ed5a180de2d7b8c59aef5";
+  sha512.doc = "f523a6017869c98991c766ea1ca3febc36e780fc66c0f9fbdd00036708865663670d6de178781489f49b2a0a0c7d3fc01c240fffe7cb06d6cb98fe355b15e549";
   hasRunfiles = true;
 };
 "robustcommand" = {
@@ -27881,6 +28657,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.6";
 };
+"ruler" = {
+  revision = 54251;
+  stripPrefix = 0;
+  sha512.run = "a0ac63735eee4be96fc368bece6eed80058b79689954780990e1da5632448203c4f99d9b13f541a89e523f4a531983d5fefd836b99ed64c2f177723c822f8749";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "rulerbox" = {
   revision = 50984;
   stripPrefix = 0;
@@ -27898,6 +28681,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1";
 };
+"runcode" = {
+  revision = 56594;
+  stripPrefix = 0;
+  sha512.run = "f7f9aa70a4a7201841eeb20e173c8f550ede9716d4608c5c2e762c03945fa8b279da9b2081ca1fa1a15ae19a75860507a51c78bcb13cef48d2ff37a1d9d169da";
+  sha512.doc = "eb9d3cb287e94da44d921c471e429d3ab0e70e74df2a7f7b19fe4efe514641d58f8fe5a74facbcccfd6b4c45ab2af95121912980d61e57e3ef6a3ddabc861359";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "russ" = {
   revision = 25209;
   stripPrefix = 0;
@@ -27974,19 +28765,19 @@ tl: { # no indentation
   version = "1.10";
 };
 "sanskrit" = {
-  revision = 42925;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "0dbfc19e366fc2e69c3700e0c532c280f1e444d0d6b44b37fd1565a64b0f883901c209fb1cab7c6a35cc9ffc23d32b5cd78ad2ee3e52d7cccf41a80a8fdd6c57";
-  sha512.doc = "a5cb05e7fa966cb09d84d0dae14eec25354156f8acb5811f4867b3724fbed62df94305ea9062772879c5cfadffde8265e7c9de062bfdf6756cf2843053caf9fd";
-  sha512.source = "b2644a58e3a64122b5b5765547959d888837b3353b70b5bfc7a98a17f380de4f6e2fafbdc20c0458860baf28fc373ddf9c173737d8c776867bfe7c3bc68ef40a";
+  sha512.run = "c435f80d675ceceb104166c11c1aac700f29fb315a87f992fdaee079eb2b92b20c18cd4ccf5eec3a87ae0306084f386b89ed69dde775b7a0b574f0447692100d";
+  sha512.doc = "73109f0b792b81d86a4db8e4ece3817709e22f5d9f60a6a97238b94faa3f620476c77a2820154719c0829d5d476d44bd608802634d379042434644af107353a3";
+  sha512.source = "6ddb854e0881d61e352bd4fd52ef1ae74b87475199a819433aa97ba720d88db0c52c045eaaf47833c82bc14e3937da7c40e060924cedfb370a1180148497996d";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "sanskrit-t1" = {
-  revision = 35737;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "8db4a734c40bcbefca8d1ac4e82b01b890bda547d3aa68e8f3a93a06d75335cd41a6c594563d0c7ec9a18a08868ff7b5e8a04b11a64110f80ded65cf5d809bf0";
-  sha512.doc = "68259865bdde464c565c50497257c0f45f6cc1fcd01533087afabae35ed6d2d53e2160c9c3f867c254e301058e599bbcbf1c3fcaadb7ee7ab25c364642084073";
+  sha512.run = "50f7a12443730bb017334ed1bad840dd2086a0225586eeae02f1386f410ae802fd043b1ce8a90e495aac7bdb20e2a8532c4cf98d48f0fc32b96da24f28de26bc";
+  sha512.doc = "11a0bbb4212f72a18df5eb1ce1e2259774c6376a3c107fe32bed4176d23da2f5bda5cab71a7df618c67113ac9d65969ea8e680ab939c7c6cb2542ebd4c7e5efa";
   hasRunfiles = true;
 };
 "sansmath" = {
@@ -28127,49 +28918,49 @@ tl: { # no indentation
   version = "1.5";
 };
 "schemata" = {
-  revision = 39510;
+  revision = 54326;
   stripPrefix = 0;
-  sha512.run = "41ddeda2f81711f50238403fbd496f35f0b5548c52a4865dfd9f1ebd7d708db2d1780b1bebd0d1e1c993c140a760d4802770066b21b1bf4e98c09bb606dce2ba";
-  sha512.doc = "51afe69e7356110ae73b2dc7d4cd84556ac245bc57ab2c4e05f8753345fd0628085b61c78e31fd25ab22e1a2e3255c560193fdc9e16729e7ca2dd7c48bba0684";
-  sha512.source = "93c841a49e482861247b6a1baa79f7cfd3956e702b37ad17328c928600224aecb486df1ee012a89d00907efd6e60ea51f5c6aa704b876eba1311e96f7529aaf0";
+  sha512.run = "a2a5d5d4665d0ab72a57f868acc5f212650268682458caa4c82e1be01456596bc5b9e876565b6ea35b47e7fa521be8ef42db68897925648a0c28d5cef3a63eb6";
+  sha512.doc = "cb4c1d4c2cc64056058cf4da0fb0af81cb93971486c1fb573c0f1a00df46f7ec1426669c2860d312772f3a1fa4701ad95453e8281194955413a2edd038ce999e";
+  sha512.source = "72b4edc889166c8770867c45454eb738c239f34d67a29de28517843882011c1e885c3ab201d00bc485c85e8705577340ee5c71853b9c2c2449f04e0537c24d6e";
   hasRunfiles = true;
-  version = "0.8";
+  version = "1.1";
 };
 "scheme-basic" = {
-  revision = 25923;
+  revision = 54191;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."collection-latex" = tl."collection-latex";
-  sha512.run = "ab27a01ab3859bfc1718808ec931e24e58c1146c5e803d616ae0e1e2c2c563fb28bb8480f91e12db9e71d7c1ddfbdc3b73357fe212fcecf7e377aba4365aa27d";
+  sha512.run = "027a1cd0dd4fc5da2427864bb49fc885a00bec6e8a74da24ce9cd781c69bf4288ddfc3c790307ed48052a8fc00c1989d3939b253da6638370adbb1c43348749b";
 };
 "scheme-context" = {
-  revision = 50183;
+  revision = 54074;
   stripPrefix = 0;
-  deps."collection-context" = tl."collection-context";
-  deps."collection-metapost" = tl."collection-metapost";
-  deps."tex-gyre" = tl."tex-gyre";
-  deps."tex-gyre-math" = tl."tex-gyre-math";
-  deps."antt" = tl."antt";
-  deps."iwona" = tl."iwona";
-  deps."kurier" = tl."kurier";
-  deps."poltawski" = tl."poltawski";
-  deps."xits" = tl."xits";
   deps."Asana-Math" = tl."Asana-Math";
-  deps."gentium-tug" = tl."gentium-tug";
-  deps."pxfonts" = tl."pxfonts";
-  deps."txfonts" = tl."txfonts";
+  deps."antt" = tl."antt";
   deps."ccicons" = tl."ccicons";
+  deps."collection-context" = tl."collection-context";
+  deps."collection-metapost" = tl."collection-metapost";
   deps."dejavu" = tl."dejavu";
   deps."eulervm" = tl."eulervm";
+  deps."gentium-tug" = tl."gentium-tug";
+  deps."iwona" = tl."iwona";
+  deps."kurier" = tl."kurier";
+  deps."ly1" = tl."ly1";
   deps."manfnt-font" = tl."manfnt-font";
   deps."marvosym" = tl."marvosym";
   deps."mflogo-font" = tl."mflogo-font";
+  deps."poltawski" = tl."poltawski";
+  deps."pxfonts" = tl."pxfonts";
+  deps."tex-gyre" = tl."tex-gyre";
+  deps."tex-gyre-math" = tl."tex-gyre-math";
+  deps."txfonts" = tl."txfonts";
   deps."wasy" = tl."wasy";
-  deps."ly1" = tl."ly1";
-  sha512.run = "214ab897d6ecac52278e3c63e988b0bd0ce146f07e9c58076e2c65bf6a7bb1a34d66341dc88b572d4549182a9a0b9daa51e91ad782ab41f7eeb7a6c2dc8786f3";
+  deps."xits" = tl."xits";
+  sha512.run = "2bc94138102c5c4926b4199e09afc0ae66ed32de5030ac9f64290b8b98ce1c39a2197cbc3361d4eb56614552af21c0a67ef9f3dd0af0767f4e1f91d6023e5206";
 };
 "scheme-full" = {
-  revision = 44177;
+  revision = 54074;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."collection-bibtexextra" = tl."collection-bibtexextra";
@@ -28177,8 +28968,8 @@ tl: { # no indentation
   deps."collection-context" = tl."collection-context";
   deps."collection-fontsextra" = tl."collection-fontsextra";
   deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
-  deps."collection-formatsextra" = tl."collection-formatsextra";
   deps."collection-fontutils" = tl."collection-fontutils";
+  deps."collection-formatsextra" = tl."collection-formatsextra";
   deps."collection-games" = tl."collection-games";
   deps."collection-humanities" = tl."collection-humanities";
   deps."collection-langarabic" = tl."collection-langarabic";
@@ -28211,16 +29002,27 @@ tl: { # no indentation
   deps."collection-publishers" = tl."collection-publishers";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "c5aa68661ccb1ef57e039e923397466c46349a4b52e1a282d5fa0bc466de382c3d121f69954a28c6345e0f02386eedd915c5abd8f0f0e86ec295e30b325ba9b7";
+  sha512.run = "bda507842fde5239d7f45169ff78690bd96066d1834cdcc6a0dcbd3e3439308c694ce4be6a91d1f155ebe5e29d46173fe13c83bcd4356969da95fb7cca1b4e38";
 };
 "scheme-gust" = {
-  revision = 52239;
+  revision = 54074;
   stripPrefix = 0;
   deps."Type1fonts" = tl."Type1fonts";
   deps."amslatex-primer" = tl."amslatex-primer";
   deps."amstex" = tl."amstex";
   deps."antt" = tl."antt";
   deps."bibtex8" = tl."bibtex8";
+  deps."collection-basic" = tl."collection-basic";
+  deps."collection-context" = tl."collection-context";
+  deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
+  deps."collection-fontutils" = tl."collection-fontutils";
+  deps."collection-langpolish" = tl."collection-langpolish";
+  deps."collection-latex" = tl."collection-latex";
+  deps."collection-latexrecommended" = tl."collection-latexrecommended";
+  deps."collection-metapost" = tl."collection-metapost";
+  deps."collection-plaingeneric" = tl."collection-plaingeneric";
+  deps."collection-texworks" = tl."collection-texworks";
+  deps."collection-xetex" = tl."collection-xetex";
   deps."comment" = tl."comment";
   deps."comprehensive" = tl."comprehensive";
   deps."concrete" = tl."concrete";
@@ -28238,29 +29040,18 @@ tl: { # no indentation
   deps."tds" = tl."tds";
   deps."tex4ht" = tl."tex4ht";
   deps."texdoc" = tl."texdoc";
-  deps."collection-basic" = tl."collection-basic";
-  deps."collection-context" = tl."collection-context";
-  deps."collection-fontutils" = tl."collection-fontutils";
-  deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
-  deps."collection-langpolish" = tl."collection-langpolish";
-  deps."collection-latex" = tl."collection-latex";
-  deps."collection-latexrecommended" = tl."collection-latexrecommended";
-  deps."collection-metapost" = tl."collection-metapost";
-  deps."collection-plaingeneric" = tl."collection-plaingeneric";
-  deps."collection-texworks" = tl."collection-texworks";
-  deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "88e35f41d2984e4ec6672650df5708e553f830ef5c16042613bc412aa2a62a4af6f46f80825dab6e50fbc73811c2059955ae0de88f989b170681c7499944ead2";
+  sha512.run = "57928b06ade27a28ae171e90cbd60c315393adb38cfac93f61f4950cc344340f0837bad65a04b2a3bef08e9c5773509caa1302eb8c299e1327fd3a418e5f0a36";
 };
 "scheme-infraonly" = {
-  revision = 53569;
+  revision = 54191;
   stripPrefix = 0;
-  deps."kpathsea" = tl."kpathsea";
   deps."hyphen-base" = tl."hyphen-base";
+  deps."kpathsea" = tl."kpathsea";
   deps."texlive-scripts" = tl."texlive-scripts";
-  sha512.run = "5c42114f0bd9a5351168e336438757c5d311cfe22e1ed6d5a65cca5e1e97439b3abab2826fea9472e6dd49ff9e7197d835932a37605d1e2b972e4fd910ef8aec";
+  sha512.run = "f3e449bf0b34deb9ae776685f386245c4ca9644f2175ae51e9c62faa00e3cfac30fa2aa07fbd83b15b21d487ca368c09a18742d2434047783350698ced3b20b9";
 };
 "scheme-medium" = {
-  revision = 44177;
+  revision = 54074;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."collection-binextra" = tl."collection-binextra";
@@ -28284,17 +29075,32 @@ tl: { # no indentation
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "cc9bd942db4afd9d1d15ccf20e2d404ca61d640f6c04058a876cce0dd09e1fcb581e8abd7b61ee55c2ac8d583c508e9f0461ce199aa7b38bdb64856afb8241d2";
+  sha512.run = "fdfbbd8fc370bfb0ea35ed9f3137b62eddd3e54777963668b3dfe7af6328a92f37c74e190e7f506ec27a3efbe44458941360599a4061a2765d0072af56808d60";
 };
 "scheme-minimal" = {
-  revision = 13822;
+  revision = 54191;
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
-  sha512.run = "8ae04d142c738142753b4601cc327721cb59689948c2c953f79ff1c4364aa6a449e3862d206223ef1ac1efc3fdfdb1f542c32c8049327662d4ddbe77fe7edbce";
+  sha512.run = "ac177b74d9d5b9fa599831275a4084a0eeb7b764a6ed837d8f14f8391f0e6c0757f7b2d4a8e71868e0c8ea4d497f29d78c4c73fb9e6311dbecf29626516bbf82";
 };
 "scheme-small" = {
-  revision = 41825;
+  revision = 54191;
   stripPrefix = 0;
+  deps."babel-basque" = tl."babel-basque";
+  deps."babel-czech" = tl."babel-czech";
+  deps."babel-danish" = tl."babel-danish";
+  deps."babel-dutch" = tl."babel-dutch";
+  deps."babel-english" = tl."babel-english";
+  deps."babel-finnish" = tl."babel-finnish";
+  deps."babel-french" = tl."babel-french";
+  deps."babel-german" = tl."babel-german";
+  deps."babel-hungarian" = tl."babel-hungarian";
+  deps."babel-italian" = tl."babel-italian";
+  deps."babel-norsk" = tl."babel-norsk";
+  deps."babel-polish" = tl."babel-polish";
+  deps."babel-portuges" = tl."babel-portuges";
+  deps."babel-spanish" = tl."babel-spanish";
+  deps."babel-swedish" = tl."babel-swedish";
   deps."collection-basic" = tl."collection-basic";
   deps."collection-latex" = tl."collection-latex";
   deps."collection-latexrecommended" = tl."collection-latexrecommended";
@@ -28302,51 +29108,36 @@ tl: { # no indentation
   deps."collection-xetex" = tl."collection-xetex";
   deps."ec" = tl."ec";
   deps."eurosym" = tl."eurosym";
-  deps."lm" = tl."lm";
-  deps."lualibs" = tl."lualibs";
-  deps."luaotfload" = tl."luaotfload";
-  deps."luatexbase" = tl."luatexbase";
-  deps."revtex" = tl."revtex";
-  deps."synctex" = tl."synctex";
-  deps."times" = tl."times";
-  deps."tipa" = tl."tipa";
-  deps."ulem" = tl."ulem";
-  deps."upquote" = tl."upquote";
-  deps."zapfding" = tl."zapfding";
-  deps."babel-basque" = tl."babel-basque";
   deps."hyphen-basque" = tl."hyphen-basque";
-  deps."babel-czech" = tl."babel-czech";
   deps."hyphen-czech" = tl."hyphen-czech";
-  deps."babel-danish" = tl."babel-danish";
   deps."hyphen-danish" = tl."hyphen-danish";
-  deps."babel-dutch" = tl."babel-dutch";
   deps."hyphen-dutch" = tl."hyphen-dutch";
-  deps."babel-english" = tl."babel-english";
   deps."hyphen-english" = tl."hyphen-english";
-  deps."babel-finnish" = tl."babel-finnish";
   deps."hyphen-finnish" = tl."hyphen-finnish";
-  deps."babel-french" = tl."babel-french";
   deps."hyphen-french" = tl."hyphen-french";
-  deps."babel-german" = tl."babel-german";
   deps."hyphen-german" = tl."hyphen-german";
-  deps."babel-hungarian" = tl."babel-hungarian";
   deps."hyphen-hungarian" = tl."hyphen-hungarian";
-  deps."babel-italian" = tl."babel-italian";
   deps."hyphen-italian" = tl."hyphen-italian";
-  deps."babel-norsk" = tl."babel-norsk";
   deps."hyphen-norwegian" = tl."hyphen-norwegian";
-  deps."babel-polish" = tl."babel-polish";
   deps."hyphen-polish" = tl."hyphen-polish";
-  deps."babel-portuges" = tl."babel-portuges";
   deps."hyphen-portuguese" = tl."hyphen-portuguese";
-  deps."babel-spanish" = tl."babel-spanish";
   deps."hyphen-spanish" = tl."hyphen-spanish";
-  deps."babel-swedish" = tl."babel-swedish";
   deps."hyphen-swedish" = tl."hyphen-swedish";
-  sha512.run = "9d6d9bdd5bb55deed726997629d69927f8da7c8eacae1b87c94c94f73ae90d68024fef2e29aa7d652d3e9b4062801213f35e91ba999380bf3ba11bcac6280581";
+  deps."lm" = tl."lm";
+  deps."lualibs" = tl."lualibs";
+  deps."luaotfload" = tl."luaotfload";
+  deps."luatexbase" = tl."luatexbase";
+  deps."revtex" = tl."revtex";
+  deps."synctex" = tl."synctex";
+  deps."times" = tl."times";
+  deps."tipa" = tl."tipa";
+  deps."ulem" = tl."ulem";
+  deps."upquote" = tl."upquote";
+  deps."zapfding" = tl."zapfding";
+  sha512.run = "6267151dd73cb8b751ad47b79f9c698b465ad5ae5494d462cf5b3b4e7446a3c014a715381bc6a79eaacfd1ba6efb37c6c1bafbd5e1f82e8db751bbaa9a943013";
 };
 "scheme-tetex" = {
-  revision = 52954;
+  revision = 54074;
   stripPrefix = 0;
   deps."SIunits" = tl."SIunits";
   deps."acronym" = tl."acronym";
@@ -28355,38 +29146,12 @@ tl: { # no indentation
   deps."bbm-macros" = tl."bbm-macros";
   deps."bbold" = tl."bbold";
   deps."bibtex8" = tl."bibtex8";
-  deps."ctie" = tl."ctie";
-  deps."detex" = tl."detex";
-  deps."dtl" = tl."dtl";
-  deps."dvi2tty" = tl."dvi2tty";
-  deps."dvicopy" = tl."dvicopy";
-  deps."dvidvi" = tl."dvidvi";
-  deps."dviljk" = tl."dviljk";
-  deps."patgen" = tl."patgen";
-  deps."seetexk" = tl."seetexk";
-  deps."tie" = tl."tie";
-  deps."web" = tl."web";
   deps."cmbright" = tl."cmbright";
-  deps."cweb" = tl."cweb";
-  deps."eplain" = tl."eplain";
-  deps."eulervm" = tl."eulervm";
-  deps."gentle" = tl."gentle";
-  deps."lshort-english" = tl."lshort-english";
-  deps."mltex" = tl."mltex";
-  deps."multirow" = tl."multirow";
-  deps."nomencl" = tl."nomencl";
-  deps."pst-pdf" = tl."pst-pdf";
-  deps."rsfs" = tl."rsfs";
-  deps."subfigure" = tl."subfigure";
-  deps."supertabular" = tl."supertabular";
-  deps."tamethebeast" = tl."tamethebeast";
-  deps."tds" = tl."tds";
-  deps."tex-refs" = tl."tex-refs";
-  deps."xpdfopen" = tl."xpdfopen";
   deps."collection-basic" = tl."collection-basic";
   deps."collection-context" = tl."collection-context";
   deps."collection-fontsrecommended" = tl."collection-fontsrecommended";
   deps."collection-fontutils" = tl."collection-fontutils";
+  deps."collection-formatsextra" = tl."collection-formatsextra";
   deps."collection-langcjk" = tl."collection-langcjk";
   deps."collection-langcyrillic" = tl."collection-langcyrillic";
   deps."collection-langczechslovak" = tl."collection-langczechslovak";
@@ -28404,19 +29169,54 @@ tl: { # no indentation
   deps."collection-latexrecommended" = tl."collection-latexrecommended";
   deps."collection-mathscience" = tl."collection-mathscience";
   deps."collection-metapost" = tl."collection-metapost";
-  deps."collection-formatsextra" = tl."collection-formatsextra";
   deps."collection-pictures" = tl."collection-pictures";
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-pstricks" = tl."collection-pstricks";
-  sha512.run = "4485027ddec5142642acfc84ebbbff4ebc0e150ccea58e05ac558627b884a26b103361b827d8bd234f95c46525063b2072780daf861fad01206b91d2eadb8acb";
+  deps."ctie" = tl."ctie";
+  deps."cweb" = tl."cweb";
+  deps."detex" = tl."detex";
+  deps."dtl" = tl."dtl";
+  deps."dvi2tty" = tl."dvi2tty";
+  deps."dvicopy" = tl."dvicopy";
+  deps."dvidvi" = tl."dvidvi";
+  deps."dviljk" = tl."dviljk";
+  deps."eplain" = tl."eplain";
+  deps."eulervm" = tl."eulervm";
+  deps."gentle" = tl."gentle";
+  deps."lshort-english" = tl."lshort-english";
+  deps."mltex" = tl."mltex";
+  deps."multirow" = tl."multirow";
+  deps."nomencl" = tl."nomencl";
+  deps."patgen" = tl."patgen";
+  deps."pst-pdf" = tl."pst-pdf";
+  deps."rsfs" = tl."rsfs";
+  deps."seetexk" = tl."seetexk";
+  deps."subfigure" = tl."subfigure";
+  deps."supertabular" = tl."supertabular";
+  deps."tamethebeast" = tl."tamethebeast";
+  deps."tds" = tl."tds";
+  deps."tex-refs" = tl."tex-refs";
+  deps."tie" = tl."tie";
+  deps."web" = tl."web";
+  deps."xpdfopen" = tl."xpdfopen";
+  sha512.run = "44bc102582ef5f6e0499efde6d3190b86988def41aa062a6239075b9371f6c9deef91e4f2bb299b3cc831dbcee9289fafd4c1c6d2a55a747d340fb580ae918e3";
 };
 "scholax" = {
-  revision = 53330;
+  revision = 55400;
   stripPrefix = 0;
-  sha512.run = "12dbebe73335138418cb375d12cf48d5dc8d3d528a8aca7e164822ff7d7f415c7fe3f23865e7f28c465c21afa625efd6307993d23b0fcce62c2cb2480d91f561";
-  sha512.doc = "9d232fd5ffd590cea91ca7247e0df3b16331317540d3685e6b3c509e3ebdb03e26cabf062a818bc33b36021bd7d31c865405cf6fc87ca33ea1fb18995f626b15";
+  sha512.run = "0023d97820f5bb525411525bdb2b07ed77ebb4fcce63a658768bd23a82c9ab06afa823f86127f742ed1789f6231bc4bd4abf1dd6142c92e147230e2ccd19ad8e";
+  sha512.doc = "6c9d902af034e6e7dd82c9db64e5c74a3d696d75b87581e00e8b94cd21bb72b4ca701c07e1d45ac677db631b0aa4a9a7f9a5b163d985bb2e1ccc8723994c270e";
   hasRunfiles = true;
-  version = "1.021";
+  version = "1.026";
+};
+"schooldocs" = {
+  revision = 55838;
+  stripPrefix = 0;
+  sha512.run = "baaa044e2e70c65c91acbb5a2d1add045f24be9361bc4b1c4761a09974b070223144ed9b41a9e5c41cb1846a271cc3338b1f44ec7b8af35cd82e7cb7ee490236";
+  sha512.doc = "6860607cbaa4205b41d0e4145c3579f6a40ba27a4047c1c614a2134fa2c34aae16fd4b56dce0720813f62ac7473711a32a2ff74d7cd5288694810942d99f9ca8";
+  sha512.source = "078875026c92538b9086945c6b3b4d3a8121e834b81156baba3d454f3f6bf199b484718c3da7dcca3da837bc345ca80ea311448680720a87150c40f2f629062d";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "schule" = {
   revision = 48471;
@@ -28495,12 +29295,12 @@ tl: { # no indentation
   version = "0.41";
 };
 "scratch3" = {
-  revision = 52250;
+  revision = 56258;
   stripPrefix = 0;
-  sha512.run = "042ac97a5240c259f00f8bbe4c25b0886636b49e8218ec810306cda99525552bc4bd6f4a7392db19d45805c50866c7f4cfb299e63b8296d44409f12db3e3383f";
-  sha512.doc = "ea7c2ac340fb69bf779af2948e684ccb73f0234ed55fe2d8260fe8b3eb94c7c0ef085db83f94f81fc19705b2d61c1697ad9ad1dd39d8aac343d16ebdb8e20ece";
+  sha512.run = "40d781fcb2ba3628e6e7825d48873917c6a138b46ec2b5c5be894639c1ada93eb3632e17e5be6dbb9974d092f3b75c891dccb33cd93fbdb61dc3261400065d2e";
+  sha512.doc = "93fecddc8a36f4ed1c302939678e314b178b600b5983754a9bf7b2b343a8e61174dd7c9aa7926c9c93714045e3e8b9fecc77889562f2f407fe2494283265d69e";
   hasRunfiles = true;
-  version = "0.14";
+  version = "0.18";
 };
 "scratchx" = {
   revision = 44906;
@@ -28545,19 +29345,19 @@ tl: { # no indentation
   version = "0.1d";
 };
 "scsnowman" = {
-  revision = 47953;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "87f207b478799ed88deaed71b60bced2158d6bf4406e6cbbd533f9110004cb8ceec71ded31d3706d8033bc53b1f0f31cb25877af9c58d27a5f350ab79572328b";
-  sha512.doc = "5050ca6200a7531bfbc31dfd9f06d4b6503e832fc09a7132ec76a5ebc09bb0fe4743ef09740ff9646d4fe93a31ee9fcdef6091fc5c50e379c86d529d5df51f25";
+  sha512.run = "61d9ae5c1632d4fcf5058fd1bb004cadb1a1becfe75d00335509c68624a62cae6780528e2633c89e9a742ea885b207efe5e36d85c402bfd98825dbc8630f200a";
+  sha512.doc = "542deda691600da9cbea070436c5eb8eda2670cdfee2ac5d46d241a50de87ee6d89062c9f5c0e55341a5ea0224e44472fad867503470c3b52b6729f470b09972";
   hasRunfiles = true;
   version = "1.2d";
 };
 "sdaps" = {
-  revision = 53795;
+  revision = 54678;
   stripPrefix = 0;
-  sha512.run = "a7ebb52da3c218f45ad01a954bed7262a47834006434136d533b1b81c0ed7485ce5793ad303c40cb0e01cbd75273ca6db9c2e74c1d5d01eeb3cc92bc7d50d380";
-  sha512.doc = "91fa4bc4e57e4695e93ba512cc41e0fc6ff8c15925ada551914977559e329055ad43c2220d4790e4563c1176dd5dade9f3f648ef3f4f5897694b83402e5d0e36";
-  sha512.source = "3fa5282f76531bc118a3b1b49596215f7f73d7864fca48b88da68c27c5472ff2b687a37723a646bdf95035a319328876207af94e15ca4fe13df6ff1c92d06c79";
+  sha512.run = "506507e08aa6d3e4408c50bad4541feed8bd491f668ba10de131b4ecece0b23ed6666a117e6b5826e7a2e7e0cbe6b64072a5ed5b090d9c2568354ea7a50922d3";
+  sha512.doc = "8c98eda0586c02497fbf4a2a0125064b1200f1b16506c720d8103b88b2256e517eb5553d2027fb4a1d8fd711e640b045a9e3a90f152e957b5c3dc6df53509424";
+  sha512.source = "3c6687e548f86f4a96f88264841e33b670d6dcbbdf7debdda2e1d8751ba58abf1e56005f3ac2160f3bf88bd113fee7b72a186ebba3b30c40521ed0f52e7dbbcb";
   hasRunfiles = true;
   version = "1.9.8";
 };
@@ -28665,6 +29465,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.302";
 };
+"semantex" = {
+  revision = 56585;
+  stripPrefix = 0;
+  deps."semtex" = tl."semtex";
+  sha512.run = "480b165a88b0917e6d87e0471438ebed20788d53abb1f52dea80d3d3c0b0e05a3bb78990e9a66afd076a27fb3ec0524a070ed4ee3ace27b5658f9823637f4e07";
+  sha512.doc = "261eec5a77ad195c8af13be9ba8bee89df307b1f4e03c05be5d7ad6262db083713bcb2e6fbde298e95e0099653212cc2789723ac0d7f51f8c9ac25e85e33b974";
+  hasRunfiles = true;
+  version = "0.461";
+};
 "semantic" = {
   revision = 15878;
   stripPrefix = 0;
@@ -28714,6 +29523,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"semtex" = {
+  revision = 56530;
+  stripPrefix = 0;
+  sha512.run = "10d2b93b30581cede982f5d7ec1ee5bf6f60406e27e1750f2bc6b6dfe0f683ca922a762fafac0d5d037687c0a98188617ee48bb51ea132ccde7cd1c33bbdf273";
+  sha512.doc = "316df9ed5f2d058e6c28e5e8e5f4bc3ed64439409d1ae1c608b2a75a23c40d438b657642093cb723b23da4f14382f1080aaa3a9a49d8ce143e26e494a3e7b3e9";
+  hasRunfiles = true;
+  version = "0.45";
+};
 "sepfootnotes" = {
   revision = 41732;
   stripPrefix = 0;
@@ -28947,6 +29764,14 @@ tl: { # no indentation
   sha512.doc = "0feaf4b3cafbac8fc78855250dc39858b0b8326b803c851efd831f36476dac2f1ce86083c11476e36ac88b44a2a8d25094f9203c774044306536fcb2b261a184";
   version = "2.0";
 };
+"shortmathj" = {
+  revision = 54407;
+  stripPrefix = 0;
+  sha512.run = "f0fe218b38efd961d1f67db265797a01ff4fc28daf0df5f23d9eb2f009961449d6dd3ae953c800af377265cf7f77f707cc35b0c413d93b232502d33b60fdc224";
+  sha512.doc = "d402e9fd56f8567a79158decc200547e4b68a171c4fa53ca2d9efc2377e9ea1aa61155f53e66de6668a4523177464638412adb4b402a8127436826fbacf24ebb";
+  hasRunfiles = true;
+  version = "0.5.0";
+};
 "shorttoc" = {
   revision = 15878;
   stripPrefix = 0;
@@ -28983,13 +29808,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "showexpl" = {
-  revision = 42677;
+  revision = 56600;
   stripPrefix = 0;
-  sha512.run = "b937f9824793206b0fa55eb77f6c2688364d712fef66c63244a776c95e733d2b0e4535a2d63b23ad446e50fa52804bd99305ff20bce6d74e880d3fdfec432924";
-  sha512.doc = "90fbef0962c609d4a50aac3840c703c6d421553425dc0d41a62883e012e4e2a8627a2f98f499b8fe984bfa57b597ee65e274d6e5bb9f30aba96b8b1bcafe0211";
-  sha512.source = "afac56c2591c97fdb6b48ceba1acc2b4947a0d0778f3fcd1db966d3782a89388d09599077c1684c4de69cb61ee5d1018fe085ff7b57a6a8426b1936454066228";
+  sha512.run = "69df2e4d9e34b6514c19357f69d8440f61817f742741cf052c68144619db0e636c264fd0b848241960192a658db2f610540364e060d43350a0b8d98f39293215";
+  sha512.doc = "6e6af7f6f2777fce21ce553fd4d36351280a767b532034d5c4f5d8e58eff853ab5bb2cc64b2bade9ab506ed0a5850507407213a17abe0c9f2cef0a0641a2515f";
+  sha512.source = "3db3a4ae0685d5d088dfdd17394d93573a7a9ee6517512089b7b594f96df7934ff228d32453d92619f5c6d5570120bb8db7ff1cc303ccd2d3a0d8dd756b221d1";
   hasRunfiles = true;
-  version = "0.3o";
+  version = "0.3r";
 };
 "showhyphens" = {
   revision = 39787;
@@ -29016,6 +29841,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.05";
 };
+"shtthesis" = {
+  revision = 55712;
+  stripPrefix = 0;
+  sha512.run = "0c29bfcb175a6525eee4407834f2284f82eb9ccaa0619b7118d426f1129048aba212da63ea1b5e32aa3b436d10c47d01deb9856d421345c36cba9fb9dbc8c549";
+  sha512.doc = "bb71b50bc56eba75a1d5755179c72dc7c8ea78f1463c42482a04007b581c6fbd6ba83c82d442b129dc46c8442dd4938e599e9259621072f2c68df63c2a99ebf3";
+  hasRunfiles = true;
+  version = "0.3.1";
+};
 "shuffle" = {
   revision = 15878;
   stripPrefix = 0;
@@ -29035,13 +29868,13 @@ tl: { # no indentation
   version = "1.6f";
 };
 "sidenotes" = {
-  revision = 40658;
+  revision = 54524;
   stripPrefix = 0;
-  sha512.run = "4e8fc132974ce90f3e08bb3b2770c88faba2dfd7a9f63bbf0b6b900811fbdbb2c625015e8f181968918a5965a32da8ffccf2e5798f44ad4327a6bbbda785c708";
-  sha512.doc = "944b4d77b6923328732038d273aa74b14689e5177b4d609c81735e189556cea7f66ce81c89c41e5ca0d6b9871e412e21d836024a5290f31a3fc419b7af4bb34e";
-  sha512.source = "e18b26b37882cb7b5ab6fd1f994b2a0bd38e9872ba3795c4a5b8269f1b0099e199407200b84bcc6c51eb0f882993a835aa94cc1cc409c5020dd5387280203d35";
+  sha512.run = "6cf38305b919deca31761f1420c18a0ffb5ba18e045515af058e9b7d73535730117f757f16a8030d97247378efa46428ed9f28757524b650a96133aae6fe4e11";
+  sha512.doc = "db5f8666987eeb2c8e29426a91bc731f8c380176b3f0285c4c4ca8554b91c85af52d0ebe16d57cdb558d8c7d1e97c6f169addb12a57a107c00ff36486dd2d218";
+  sha512.source = "6d237c8df983f2a3d056038067039c45604086a377cdf02b9adc0e1c125619ff911165891d27be7e30466d3cda03f62c32bc7edc73152460d21443a5cc6886f5";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.00a";
 };
 "sides" = {
   revision = 15878;
@@ -29116,20 +29949,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "simplekv" = {
-  revision = 44987;
+  revision = 54915;
   stripPrefix = 0;
-  sha512.run = "a67e5e977a4a14b32f3dcf08ffdf4b481a3926e9a5a7259b19aff07c4e311b223edacfd5bef8f9ecac4742dc94e7c65400cb9d883677f96d3d7d1d6256efe5be";
-  sha512.doc = "6a0e0a7200bbfad56ad6729cb375fd11e105cfc89ba93fe592d14755a88d819b69dc3a383f9fe3c59f8a9076450ca5fd75085101d7ceff4a62e2d738b0907f15";
+  sha512.run = "e24f82c6cf65677bee7a55e43c731c26fc05bceb5add86fb79cfbf0d05d09aba34f6cb0c72074a012096875bccc4a51360eed584e3b812e88d772b22676504de";
+  sha512.doc = "8a92af8cecf0d3be86c5a2f1abc4b1ad675f920956a99cf3a99bed61eaa56655eff0f3a2cefc728252dc7c346fbb4fea17a49a4eb4f2e9722409784aeb92a364";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "simpleoptics" = {
-  revision = 52047;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "85da18717b1907dd50fec7ecab0f90cc0f26ada24965611ed9f2a3114b46e58affba11d8f71173e4c2858054670814a67061587408a02343df355db18f3c74a7";
-  sha512.doc = "b1ce0a90eef3755141db1f533da69959f8e356fd1a8028765833fe613e6427101a1d71776ad01108fe0dddb83bd786977e644124806eeeb036e5c011986664f6";
+  sha512.run = "c5e87774fa8003af6e1c81a83e9f63d71934723bf1dc7aebc553c838e30463d0b7dd3a41f76a644ca291cf7f59e50366e291cf1bb618a1321df4157f6ecea987";
+  sha512.doc = "55c29a218edad811dd2c8d2109ec70d4ee95570db0336fda88e74456fd8c6d549cd3355ccada4fe55097b6c074082fb4dfa57ddcd6559ff5e8bb7e67d70fa376";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.1";
 };
 "simpler-wick" = {
   revision = 39074;
@@ -29207,13 +30040,13 @@ tl: { # no indentation
   version = "0.52";
 };
 "skdoc" = {
-  revision = 52211;
+  revision = 56183;
   stripPrefix = 0;
-  sha512.run = "3f4bf340f6076f00101cc8be20d284d487672d544f0c17efe41cc1b6f469df90022455f23b790a8289151cbcc81cc3f1e846eb242321221ca290d97ead9ff2a8";
-  sha512.doc = "b3a4972162cf366c5db5820b0075871f651c817a36c915841717d4856b5078a9de45b7043ac1cac0bb8e4b9f02cfd0a89fdb53b0723475950c182bfe3ea6bff9";
-  sha512.source = "cb4f18a74cbd84e1d75f7c024746d161ef62c79a2be62fd72d33a8a2ec3c8a8594f8ded5721a390fa29b8b31f1b6e77bad65c96c82ffb2299c58a4446204de81";
+  sha512.run = "1f5d5a78e50ecbd21aa462659dc259403d877fe1f09eff6f0c81515adc091f20e562b572b30a207c8efa701881ba4a4736c532003a01d2578f9ae35636eb9833";
+  sha512.doc = "785463688da548e082422a70223758d9ef80d51de5d1c862c3ae4e8f482843acfa7ae9d9ae5652668f3f732f64ed83bb46f03ef0f958c8b390f9c389deb9cdc8";
+  sha512.source = "ba52139b687fde6cf94eb09e9f53b70982767642073511d9095ade3d7b1b4e1cc82e1de7c2e1ea05cda4935eecf8e5f6e0797077ca1cdfe646d56992ba1c0cad";
   hasRunfiles = true;
-  version = "1.5b";
+  version = "1.5c";
 };
 "skeycommand" = {
   revision = 24652;
@@ -29307,11 +30140,11 @@ tl: { # no indentation
   version = "1.2";
 };
 "snapshot" = {
-  revision = 52115;
+  revision = 55064;
   stripPrefix = 0;
-  sha512.run = "b153eb4fe8e5ed8cc4d135edc3dcbeacba094dc73587a2b15255f725cd03ebeb450c562ff94e9d87927a6d04d95ddd66e30dd84c0fa664a1e120a190667a72ad";
-  sha512.doc = "14f92e7c36443785174f515c2fffa62f0bf253b4bef560de68cc9cf446fdf7c447e5552a1995dae0f26499e045c8e7baa991255f81b2b43c7bc27158083a8994";
-  sha512.source = "cb5b7313e16fa96f9e864210f5314be7153c10f19bbd509d11dc0a5afae3b0b1c6681453526fec4b7d4079bae0749b69dd5e227f01fd22590f2c2fd230ca4f30";
+  sha512.run = "ca5986d7b5a2a69693d6796d1b10ff767814a9405465beb09bf2954800b7b01adabb8944e623cb028372d64462099af345cbba3471005fe35ea6e542f0952596";
+  sha512.doc = "a7c5ba3f2acbfd07cc2eff958ccf0788b0f87654ae102fccd1ec908c2b0b72eb2a90158704f5cecf1e8921c97f5d3f8b97f75328aaeec5d15b480fde6861c13c";
+  sha512.source = "04e6a3c06250c4fa70f3dab1f740338e164467f3ca9d3f094a4b281487bf8df3141704d6f9ffa32f22fc8913068bad11f3b98fbd3d50b13fd6ac403c0d362d13";
   hasRunfiles = true;
   version = "2.13";
 };
@@ -29357,11 +30190,11 @@ tl: { # no indentation
   version = "0.1";
 };
 "soul" = {
-  revision = 15878;
+  revision = 56495;
   stripPrefix = 0;
-  sha512.run = "7a4ee70527282c50f28bc535ca34476538158b6fae6e37008cf5f04cf3caf5cc01ccb859967192da1b159b1026afa3eddede2cd86c3d63f469e6e2f6254a80f0";
-  sha512.doc = "9b8831cf9c013fcca715a8a7100b76f2de364f55e8203899779ba18868e637cbb0d00d982098a3e42191dc63ac41afc65d2547b9976c64110e7b83f5f8d0108b";
-  sha512.source = "0b3fceb0238709d4241a5615055c61ced473fbb74ff75d66c70a221bd0ec8b84769674a3dd57b93765812daed14a21fc002de022400fc73858c103a5dd9f29dc";
+  sha512.run = "91b2f65fa3cc1ead06d4450c273d279c8d3428a71fd895beb8b675b76b02139ed8db2d01f64352ed26bd13428c0aef8b0e542d39e8ffe6afb31d05d0f63bdd72";
+  sha512.doc = "282fb6039f870e869f650ad2c4523dd4222c9d5c01359c6242c33c2b4d29b494e0c047e67ec44adc0830043ab0594d49e9251c6c9b256ff9709e9764d7432e19";
+  sha512.source = "0dba1d0c988a6e66b34b897337480588da1466c672e9423d2370a18403cdee587916c969b04169f86a1818be27574aec3f26111b8b431338ca93e51436471bf2";
   hasRunfiles = true;
   version = "2.4";
 };
@@ -29394,26 +30227,26 @@ tl: { # no indentation
   version = "1.0.2";
 };
 "sourcecodepro" = {
-  revision = 51163;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "45c41d470f0e84cc35d4c06cacc1beebd7891e98326a0e0f6462c7dc0fdf1eb9f4e0da59ced33e47c2c93c9662eec31efb8cebcab471350eb2c1c198873268e0";
-  sha512.doc = "7f8ca211769e3b626ba98f8d7265b7e383630c2d22496f03f79bca629f164374de9bb8601e903fc094c1264fa8b4ab4bef1db3b9deafef65ab41c56c27e8d8cc";
+  sha512.run = "98ae07aa0c29c1c1cf2e181b1a5d68f85736b90b8f381bc9c1a2368cea2b8c62fb0c8007f5ce6b53b8e87195b8b0859c54bb2656cb7361119c29ed87d9259c62";
+  sha512.doc = "e786d75bedbf5c5d155a69fda50e9fe6fe07914ca01aa10d7ab66800cd37a4bdfeb543ad34c9ca2eec53de226e68d7a1849a9a0510291d135001c5228f19e2e8";
   hasRunfiles = true;
   version = "2.7";
 };
 "sourcesanspro" = {
-  revision = 42852;
+  revision = 54892;
   stripPrefix = 0;
-  sha512.run = "23b6a26836ec517e833c1ec4155b5da60bfd03ba093fadcbcd418658d3d36a8cc41914349cd117bf2c5eec4121bcd7e29d6c50ca8ce4e4728b729fcbf089d3ab";
-  sha512.doc = "963cf63732836329490ea1521ae0fd09e55591859ea4430799f32606c3710e44b7e203dabb4385821830043c12e6f19795951f3e4aff7abd173d8ba5d4d788ee";
+  sha512.run = "0511dcf736273d80f7143c9dad96dd9f631b016183b4078243ed061d35889fea62e50c5f48e9842ffae7b654fd2e08a21d1c46403e56349c0b515ff2eb62e164";
+  sha512.doc = "174def8872588c27b8f90b3c384ee356aec43e4e42014bb1c02d648d8b309dfa8fb9cea03f65fa9bd86dc3ff1e64483f1312dbaca6e212f65d2d379a1d9935e3";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.8";
 };
 "sourceserifpro" = {
-  revision = 49120;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "fbfd4b6bd8f75079272feee5f01c0c4b47aecfe89e382cd8f288453dffd6152bf7bab3ffbaf4d90c544f01a5943d280df061b757169f3dd27970cccdeb1f79f2";
-  sha512.doc = "530b5ee29c8cad79ab359fc8fe225c18fe15483bb787f24c91a523ae8ddeca47aad5bf16c6ffea2465fc90182d5de65e08a1bea2f9015e710a03aed846510676";
+  sha512.run = "5125dc5b72d960fefffcc4c8651f3d176c18c32d111440a16a0319f90b8dc973a4af0e20fc3b571578184e31749312c0c1f0ec3bba36b3715a3c59fc03768d65";
+  sha512.doc = "c469f7beb0e99c8a9891c4222171525004c63e9feeaea9be57e663541ba4e2f259d2a3674f3029e4609fc08292d749f005f971bfcc542115d53e1845a02680f8";
   hasRunfiles = true;
   version = "1.4";
 };
@@ -29434,14 +30267,6 @@ tl: { # no indentation
   sha512.source = "3a12b34469bbefd61112b7338c8b5d440de46837632a695b52ae18e4f297d6ac0cde7ae71db7bb0a7bd3db0aeaa83e78f33a60e4dd496cf9c0ccda1a297b4ae9";
   hasRunfiles = true;
 };
-"spanish-mx" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "cb638093e1a50de3fd67720ae21e11285337910f98da86db79613f73878084b93fc8afd998b4422b673e3daceaa2ba7aa76b02efc98003e741b74449d4c94af2";
-  sha512.doc = "0b257bd5ce8a7332fe6cf1f5772a464ffdc525e80794dc89600e9ad279beb1f39523fabfcd2723123a458787d7bfd32ecbe0b2962b4abfc3627275862e05b97f";
-  hasRunfiles = true;
-  version = "1.1a";
-};
 "spark-otf" = {
   revision = 51005;
   stripPrefix = 0;
@@ -29467,6 +30292,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"spectral" = {
+  revision = 56153;
+  stripPrefix = 0;
+  sha512.run = "e6cb5c7284b42a1ae9b3b2cccffcbae0ce5ce395dbbbb1584e271181d78836c933f470a8b86543acd290c3085a9fe01e4090d66f4eff52b4e1be4d3adbb93395";
+  sha512.doc = "414d277326ae8526820e4a21e387034f093632960982f655729919f9df6a06beece7eb3fc95ca91c6a86f724d9d481b91b76eb4a12891f28d3bde405f9f3650b";
+  hasRunfiles = true;
+};
 "spectralsequences" = {
   revision = 50072;
   stripPrefix = 0;
@@ -29506,6 +30338,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.25";
 };
+"spix" = {
+  revision = 55933;
+  sha512.run = "c8128bbee3f0dfbc009e74e46427c394a2c354eea63fc1abe6efd426aee8d0c091fefceb14de8ad97556686be702552a3ef5a10d540a57c1e8bcdaae9be8f22b";
+  sha512.doc = "3a1fc0f7186c0662271a5add51f08f0173c9d0f80cac632a484a30c8774fb3c4385edea2ecf184b2898d20431b7944c0a2e863bc4242ee4270b67eb4d8f3573d";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "splines" = {
   revision = 15878;
   stripPrefix = 0;
@@ -29599,12 +30438,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "srdp-mathematik" = {
-  revision = 51600;
+  revision = 54685;
   stripPrefix = 0;
-  sha512.run = "289d92617e5657326f93d5668563cd1067bb67c8e47b3b1b5bd318c4dbda8b4328d3605bcf194ee31cc779d684af8b7abb837b6a4f675406434b23f5081d1cf2";
-  sha512.doc = "fe10c56c4674982df74e82c5390699e4fd70271429e79b95be9d56cdca574af4d940b654e92953739b62f21a38ceb8f52d6830ed3f5ddd02d9dd7ce0916c9001";
+  sha512.run = "4168f866e5e656539a4003546251e2b1813582bfe8e21057fe649069dafd43c501b24bafb8769c04f2edcc2bfbd8d5583234145038f18f5a7186f7611db70a56";
+  sha512.doc = "96e5c8146c1ff3e6311ff6ad9c5c7b53e62e6f317ca3ea71db82ef8feb4062148b956ef2d9711a1eaf32fe4a71996cfd16b70ba1dbdf8406a3b0d6dd6e206967";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.6";
 };
 "sseq" = {
   revision = 31585;
@@ -29649,19 +30488,19 @@ tl: { # no indentation
   version = "1.01";
 };
 "standalone" = {
-  revision = 47136;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "48fdadf3c9e7b899ad75953baeaa9f47384d1bcea0ae08c94ee51b4f2fabfe2fa244a0b9a77f11fd038aa106551c4cb9e0ceb06292ab1ff7bf6802a65ad677fe";
-  sha512.doc = "a5cb35587d86034c38584218b78fe4142563306a8d918d676cce0a970f593cece78bfb755d42b9fda3c0286bdd4a0bac231f8b750ed61acf6199eda6d51a3dcc";
-  sha512.source = "642474f0eed4ac5d3831c0764de9c2c61210cb93bb6bab5c77f65ca13ea54d2eeab038a2c9f52ce077be5749f4d93fae5ef5df561a1e33601bac00345797d3c6";
+  sha512.run = "d9fd4051c18908b69041805c4a4c631a14d8e3c35b6161ca6731962f2ad0d343db3d1dcf6a8e012d6a96971b3e0a0f00204634ac9c836b3bd28c0a96e132d946";
+  sha512.doc = "5e1696289be97de97c4c68cf81933bd15ed542e3943b9a718d8f04c8ea16b9a31ddeaf5360e45d356110c7e6663872f354302cb07ca38bf0900380f575ea76bd";
+  sha512.source = "a921b3956908990f216f5d8da1449e7a47c4d74f34284f2c58b7c3cfa601c57de880d78e3680947349f3b5d20e0366f020d70b7c1348a9a374d2d0b57b58ef9c";
   hasRunfiles = true;
   version = "1.3a";
 };
 "stanli" = {
-  revision = 42765;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "8026823a73d9c061eb01e2b92363b52314c4de4d48bc8557bf33b89cb5381ca4886dcfc0f429f5be9268f3f1e64297ad974485edfa6af025e7744474a2ecd565";
-  sha512.doc = "f97363b3d9aa6f0701c3ca89e7c3b2391327ee431fb71b5be599805a4063baf1f5517868fc3602de8d97aace79d6dc1d58fcceb789ae55b85a7c0824429f3ebb";
+  sha512.run = "2273ba6dc99762490a0cd7af09edd5c4a511ace7317e62874535946bafa69c14f02663afa21fbc54753d1b5d3884858ae93e4790de7dfe4a829e4cc4ecf4e004";
+  sha512.doc = "e4405c8903478ad2b8a5c524666e2fd4aa99dc34dae2d15ace5de7ca4713a6964467f18d4ae2b73c02316bc7d0e51f12e82312544e2e44d50eb3e4ca51671ebc";
   hasRunfiles = true;
   version = "3.0";
 };
@@ -29795,36 +30634,36 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "stickstoo" = {
-  revision = 52341;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "858647a31ecf1b3a186c020f43e8f3e7bba930f296f01b0893730f486270c8c4af83c26235484abcdffbb996fc4a3cb5c64363c7613269568ff9ec6acd70758c";
-  sha512.doc = "dc1835c8806014872212c9812e1112b1765a5407530c2da786efa15ba08d11d390c4c64c97e3d5c6db451bbbf876d053e6b8baac2ed65f8acb65a5a80f531031";
+  sha512.run = "f4539fa4c7cef2b69a595bc202e7e49294473556538e9258c27502217e397cdf6eb0395a7afd70ef70e9c784a46b324ae4952b1d14ada4a3116b72e594756af4";
+  sha512.doc = "098345e6d2fca73d375bf0a170309bc32a611863728b13ef717d99e08368cbd16d173564e28bd5aaa9057301aed1207cd5388a8db1b69fae737fd8c361337faa";
   hasRunfiles = true;
   version = "1.033";
 };
 "stix" = {
-  revision = 47652;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "1d4af4d903ce164b95321dbdc45ee17dff776cbecfb29ef74d7c192909da2eacf7ca7c143ee655d842999d347af8e63df683e4a216569c5954e48be54ad55fbc";
-  sha512.doc = "fd69dc299f88faced8b7166025616de35f935d0726671fb19b94fce9acf6dbf6c9f041f0e4ecd3ddd3aaa8716b77939225301cc79bb0131f77bcff1429066e9b";
-  sha512.source = "1f04ed2c60d8b94eb63e173157a896b14d70b7a0dabdffc1036c7eca0afc4c6257d8b0af24d83264ace3601704109587f0008c3f452232c57410834e6f12d1ed";
+  sha512.run = "7e639f7a534e24afd9d009e224d87c9c2a502cbc77ff882c6dcc9ca0bff512f849d1f3e658dff8badab3843a658171b88ab66d8e731392dc456f9c5f4e032318";
+  sha512.doc = "b01c3dfaa96a6bbcaa83e803514c8090546dcdd54595d7c66a1ac280286f5baa98947fe9d513da3d8baa1e83cdd174443751fc79c07cf66093af4e9044fd9010";
+  sha512.source = "594af38fdb72d632c36cf6ae6165518553b10127281ef8a6ec71f4ced16481f2582a13f1f6f0ee98e900c3147c574647c508f7c9e51afdc57ce68614a394d007";
   hasRunfiles = true;
   version = "1.1.3";
 };
 "stix2-otf" = {
-  revision = 50948;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "103ecade85ae44948216c901c487b77c29acaec1813d995f79d50497c9b273f312a46709202ff1e450ed45866a306343aaa34c912e556da1496062beadb6bfa7";
-  sha512.doc = "678e183fdfef3a98a2778d7d694cb72682a2b1f44aa3595bc778b0b481f0fbbd60d3c05cc57f64edd78d656cda447b4a27505a71d942c6e63b7d35f31302445b";
+  sha512.run = "c4e3a28d7865d0448c8a7dda406e2e2c1a34943b4aed1ed67732134a84e1f5c92b9f57cdcf2836b39221aa4dadf91812c2404a01ba08b658c044c381065af473";
+  sha512.doc = "f94f8570c8b99f4eabab76473ae541438b5982154f4fd8c9b8de6c6024ecf817063de52259049c142d7145126c90431abedb8663d01c30593a7ccf877e040767";
   hasRunfiles = true;
   version = "2.0.1";
 };
 "stix2-type1" = {
-  revision = 50940;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "7358467241a5eec7e62271395554de3a5e0aaafb926c2ecf5dbb2eec8d03b3bf054ec1366490950ca7f5e69e415816e82af3257c4ac87eb7e6a88fba1d35d4af";
-  sha512.doc = "775626a232affb47e39da154da8a4d41f602fe235dfcf840966d5d60a102ae9a6f27b3ad05f3ab63c4a34746866ad076ba83ed9c2ec88f78039b56363e98756a";
-  sha512.source = "83d2c6307bb0f41248d15a9bd18305f9acb7c651839abfdabceba23ab2d22c6ae3162eea803addfda2df05724445ba1a65b73a00dfe3df894783628bab23b170";
+  sha512.run = "4a4600e3f579c5d04a2b51d2fccaad2d7134daf2e0e22d4956c52a78df3febbbce1abc0d0c74bf087b3e1ac598fac29992900481398a364ffa79d64dcb9bbcd5";
+  sha512.doc = "417df8a3cf6e9195dfa74719b5de690a5d3e464fc10f1ebea811ff7df352dda592fbbd65dd62f630a4b85fa5b817768833cad915666da353ad074d9cec314ef8";
+  sha512.source = "aac691a5e949b0a4cd74bbc8a2617bb50ca9db01c0e118101e60911037afec3b4f694dfe722edc653594cb4f4ff5452c4f55424abe3ed4a2e3b1f8cc6eb1b8b0";
   hasRunfiles = true;
   version = "2.0.0a";
 };
@@ -29837,11 +30676,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "storebox" = {
-  revision = 24895;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "365da48946b94161fe78447b402dfda931f7635b7a8a12fe6a4368c3b579c140b6c6037e6b04e192aaac1d768200af2fefc53659e52b813ac6956b9e82c8076c";
-  sha512.doc = "89867e995ec04c8411e6ebb9919e8b94bc12674fd7e659ad6f42b17988748c98a4756268782a9fb5f46095ed2b83a877c3969f0ca8433e5f8c37dc7551c7825e";
-  sha512.source = "248077174224766d5b35b47b319b9eb9afc3a5fcb0d1190474ffc3233c02dc7265c078b08ac57a325990678ab0eb58b818fef34cb932a229da1e43247c6f2578";
+  sha512.run = "68feeea2592f31d3aed2b8431ab9e6c15d61151d3db7f59d54d6904e8db0f11c424b22ea6ff99e19032688c7910debed25280dde11f7a5858186772f118f0a18";
+  sha512.doc = "08116b59ab292150381e1dc3e766d5ac7fbe8e1ec7a32236af4ebbd6ed410f76fff74648477615dddb8bf55281fdf918bafd25c04bab4d2be08b86c5b937a5f7";
+  sha512.source = "bfc6c15b82ec637d8a76f705b7e443c734fc274b6de15d93dbc5b96eb35653e7a24a1f2abc628ef0d314ea791e04d1db9efe3f8e481cfb40a30fb0a345a82e38";
   hasRunfiles = true;
   version = "1.3a";
 };
@@ -29853,6 +30692,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.2";
 };
+"stricttex" = {
+  revision = 56320;
+  stripPrefix = 0;
+  sha512.run = "5e823dde4f0b902f59327be2f41dabbe19f569d5d05941deda33b44664b736c9ec687e98a04635c6f2af2a0f894ad162bcc4b866e52b88e5db55228d4a35538a";
+  sha512.doc = "9853efc6722d028c1ccbd90bdba2b4045c45b384e7fef1949ab51b7d2e6d29f1ea2c55c3a4a580a42faae9e03d38de258528af3e37c78f61ef8704798be5ccb4";
+  hasRunfiles = true;
+  version = "0.2beta";
+};
 "stringenc" = {
   revision = 52982;
   stripPrefix = 0;
@@ -29913,9 +30760,9 @@ tl: { # no indentation
   version = "1.0";
 };
 "sty2dtx" = {
-  revision = 29743;
-  sha512.run = "05e17abf8322e70f275308e983a244e178883aa36571640d513962e813a2bfeb88264c0ae9ccab956f9bd016923d1727c14a7a26bb58b257c7d05600a540da1c";
-  sha512.doc = "1abba13831a0cd4b93f9665f242b96d32e764c39ccdb917f655922fe2a4b00385d6a78c77c151e212082eace3b9c9447705681416b5cb2eed9f794d7eb30c905";
+  revision = 56291;
+  sha512.run = "a7e42340744a348c88bb3cde7e23d428259f4fe7c644093e4bdabf8c49bc7f9c929a2271cd14daed9be233a04f62b60602a9fa778d05b11dba716d886286e8e1";
+  sha512.doc = "2fb33ea4fcc9b5e940b46cb1b53cb56692528d8926d9bf22d3615958946763a63be101a5cf146a14ade43e2dce11b8fc25866d563d844570863dce54f48472b5";
   hasRunfiles = true;
   version = "2.3";
 };
@@ -29988,13 +30835,13 @@ tl: { # no indentation
   version = "2.1.5";
 };
 "subfiles" = {
-  revision = 53782;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "558a8e29ac5fcb4fba04a75fd02826824690bba8f8b6118ae15f856c0e5cb34a63a507bdaf90a7d2786fe3da34637f76d62d24d061df76dcb95bc324224002a4";
-  sha512.doc = "eef1fd8e0b739ed9cc8bf45952c53111b45b6659eb2a0afcf64ae76363fcdfe61320db0831f31b2cdc9a242fd766855be3d83224172e9baf84d15ff938d4b23c";
-  sha512.source = "9ff743bc9c3cf19fd6c12fbab9377230dec554efb2663a83f245b34c9b6db1f74d5d8b91d60a48efe164cd2844de2ae1724d0e6eee9d4692386078c9bbc44816";
+  sha512.run = "97d7baa174b71b76161f5df79844d6fb76f03bd108c6152146c0257c6a6a019608bc35ac95393fe034ac15198cc52925f294b2a417501179a0e3e59a01346070";
+  sha512.doc = "d18ad89705a0dd1c6c8ab3c7e4c2755f1f3d447811da53e0b0894083cd9b422b1c78f030ad56a678d9553231082f86c14ce6ce9ee8f83bc256b05fe144fffa5b";
+  sha512.source = "76cbafa28b75979dfab0f00d31d3c7ffeb17240cf60cd465457d97da70f4a98fc600bea04cf01642593ef1a7c843262aed9f45331971f04a58dac3891f0c44f4";
   hasRunfiles = true;
-  version = "1.6";
+  version = "2.0";
 };
 "subfloat" = {
   revision = 29349;
@@ -30064,13 +30911,13 @@ tl: { # no indentation
   version = "1.0a";
 };
 "suftesi" = {
-  revision = 53903;
+  revision = 55669;
   stripPrefix = 0;
-  sha512.run = "6b6249485e0c7076ad6141af22ec6aba22c0df86c38c03565bf61a486cd8d7c24c1909034e365699e3428307762f65aa6be64e222f167e8ce744e8b84d2a0e71";
-  sha512.doc = "316340999ebe6534adcb38c53f3183c64fce9819ed57ca51587c8ca2dda25afbb6d2c68529134524974ebaf9ee27b03267e8021d4d6e4cfa51a7697b942f4a7e";
-  sha512.source = "cdffa74eed1f65452acf39233decd0941bc23718862545fd74b95ede4daa3c1e65f7f7e14dbe69253ccf09f198ff2e2d8434bc9842b61d5a11de56c497aaa0e1";
+  sha512.run = "50fe43276eb3d2af661bd552d7e3cfb76552337a298040c0f2024f767a8b81793dc6f5abb41a997674987ac9f6573dec517b03f1a2d0065a4953c98a25bf4a07";
+  sha512.doc = "f6e398837eab6df3612577bc59b56f2eb18a4298d121f34c716aaa3e338fdf690ddc74b9e9f91671953e3680b31fc0842cfc007785413fad33974c7a23c69fd8";
+  sha512.source = "601f33a2b8d66f9300d8d7d49b66d39cc1996f4298ff7b3bfa9292744808dd730e4a3b802c233becf8469e212b6bb54f3082d043e8670e719fa6ee23978523ea";
   hasRunfiles = true;
-  version = "2.9.8";
+  version = "2.9.10";
 };
 "sugconf" = {
   revision = 15878;
@@ -30104,13 +30951,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "svg" = {
-  revision = 53389;
+  revision = 56475;
   stripPrefix = 0;
-  sha512.run = "9996c9d7bb018bf4526f91aef707192f748a04e3dda7cb61b27c9d69e44cb1492f08fb658d599ab2800224c9dc475305c747d433b14284144b73dbecf4f4a2cc";
-  sha512.doc = "31b6ce351b84f164683ea4bd33cc8dac41898022a966cf986f5d16ca31932422caa36f67785346ed33fbd7e1ec55b1480b898b8f928d153d4f1fe97da0b1359c";
-  sha512.source = "0ccdf4390ccdedde68eb4eed9ad297812c355c980ebcce87e1e1264749cd71254632231cc3e58221f51aca80fca88628d7a112a57eea6cda9bf41ee986af6a69";
+  sha512.run = "d004a25b7b836ab9ac3011c3160fad8d7b35fca5a3748800ab10d2ab6c7a08833461b72346e80329add288759fc468914c4f3133a1e30314e5e60a74e26db3bd";
+  sha512.doc = "a03754d3f939c595ab65af88999c2fd37cde6c317f019ebb5d1191d505126b03f9e9aa4b305d76c47bcb73cde8e98c238c8b43160293b9532353604e6f8700b4";
+  sha512.source = "d0b7b0783c30beae687f984de3a7453b29e4ff589c97acda1105e98f9e2581cecba5ee34e75b245c043a5ac7112af854b419f91b1abe361a11128ae0416d6192";
   hasRunfiles = true;
-  version = "2.02e";
+  version = "2.02i";
 };
 "svg-inkscape" = {
   revision = 32199;
@@ -30136,19 +30983,19 @@ tl: { # no indentation
   version = "43";
 };
 "svn-multi" = {
-  revision = 26313;
-  sha512.run = "f1367560fd6eb6247097d5e5901a56a01a90941f584797f6a5e3388cd9ebb5e33ae98a8cba69cccb4b42feb01a29d8507de8e814be8ca2516ba24ce6a0d929e5";
-  sha512.doc = "8e54c597bec50dc541abe4e1be7ceeca9575c5e9f3e201bc66eaeab11ea529cfe3724389aa2d4938f6272c93213dd20a7ea89cc9c954f882ce916c6d610bafb1";
-  sha512.source = "f90315214155802235b1137276d615bac052adb9295dba04443976fd7147898616e2ff8e32bc1c3f6cceaaf59480c9acafa73cc53ad50da2bd07d20dd68e2fa7";
+  revision = 56291;
+  sha512.run = "237955b5606c5c4fbca7a5c06d4cb1b180ad33647d39337a6814c95a43ecb84004715f3b639353608bd52a64ee3ea70f392ba831ff64499b5162aed64a85da9d";
+  sha512.doc = "2ae2947a0b15e82a9b241a757ffc60cf5a5be04bb49c4ae5ef7de9dcf9e1ef4082c83e2a57058dd431d16c56eae7647ec4c43dd47a4f0c2a925f4f989a7f6844";
+  sha512.source = "45e948ed51554b3b12b883238b628ab6dc43a0ae6a0eea093399d1f771bfc368b2839c568a7183abc3a8cdf687095692e0063cac26869c2fc2b89087096b412e";
   hasRunfiles = true;
   version = "2.4d";
 };
 "svn-prov" = {
-  revision = 18017;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "24325a3de52afb9328a4b608710b94839c77ac65b13f08219f4efa24680ceabc410135de3c468c89d5d283a8986f2a9e337ef2285241ce776d0270622e0e77d9";
-  sha512.doc = "b6de41de4535833025f2899ae28530f4198717bfdcf06b090d054c20bced3a524ae9627b1909eb7afc6ff4e09d5525203b869c09d23facbb86e207ab2193b57a";
-  sha512.source = "c7586e4592f9518d2a03218c9afe614422bc8021a192279d7be1b090bd09bc51191d8c0a2e760514206c53cecf5a7b89c617a4c209cdb878874a0e3396659a3c";
+  sha512.run = "0ac31432d148e5b05cadb041ee238fdd27b695a5be2e9553d062084443f97b961e1d9530ce3e5bc0b97ca8cc1bedecf9abb6f189f4e75184816e4ca36f8117d8";
+  sha512.doc = "78e6d352d0e19c48d98edb5e5b12ddae32e906cf0693ca3b57ecc9647dd5dde7a6dab394160b9242f2503a7dde54505fff4d38687a06689a463b152e6708f70c";
+  sha512.source = "e67a24270a79b47c853c492b2d72b451a9041e6202fcbe59c20c5203dccaf8d865215a01cf48aebacd8367e2d5a7d1f2efafa93e729d7d3d7269c4d008bce7a1";
   hasRunfiles = true;
   version = "3.1862";
 };
@@ -30184,6 +31031,12 @@ tl: { # no indentation
   sha512.doc = "2394080a393e2a0cc8e8299dc4debbcc7548186a714454c87662c22a371308c7e8e6705c9dcbf6eca632f2f80788a733f9d5a9f3fddb2f46167fd50654c5bcdc";
   hasRunfiles = true;
 };
+"swrule" = {
+  revision = 54267;
+  stripPrefix = 0;
+  sha512.run = "fbb2a8fd060e41340a876595310b54d069cf808d4e2eacba0d913732fe45a3cea698c1e6e229dd152666f7b509eca424d17378c74ad14edd0d5f08ec85c6c65a";
+  hasRunfiles = true;
+};
 "syllogism" = {
   revision = 15878;
   stripPrefix = 0;
@@ -30208,9 +31061,9 @@ tl: { # no indentation
   version = "0.3";
 };
 "synctex" = {
-  revision = 52851;
-  sha512.run = "43905f27307922763a00f259c538ea6c63aef31d7e1a9a451b929cd76b8402182360ab47a9090506cc3868c6ab56f040e16c5c45ccaaf9431eda31e5ae238ee0";
-  sha512.doc = "0e8992318ae2bd7a0b69c0735c565abbd9d21ce6aac6f2e9b44447c41482c4b9a8162220d5cbc073bf5c7c8453a42e85b64b9c1f4be4e247d88773e292370887";
+  revision = 54074;
+  sha512.run = "1cc1900df90ceebc6865ce7c4a4befc86d1aa5aeb0f19808526a6cb369d7bd2ecf3c4789817da937e84fdf1fa3c921660e64e3e8a8e215d4f6dd97b2371743c5";
+  sha512.doc = "37b7f0e3b86494715763c0d230a076aeec1f41ad658432099871d26b933cd8d0e8e831064cbe462a31a30260004c6dfe9b6b4d555d281d909615910470a2b1ef";
 };
 "synproof" = {
   revision = 15878;
@@ -30246,12 +31099,12 @@ tl: { # no indentation
   version = "1.4.2";
 };
 "systeme" = {
-  revision = 49690;
+  revision = 55015;
   stripPrefix = 0;
-  sha512.run = "a71c84f41447a568cc56b2afe139dc7df23660c329e82c1a0d40e3bcf41ae775b2847f9d391bb591420cc546a36d0a69571a829822932892af1dcedc29e54e38";
-  sha512.doc = "4cf7120bd6291edbb101ef1fcdaaeced3a6c771052d8f176b6c11365e1d48699978bc0593354ad9b132e05fc6f14f4074ccd7326492391c49c34a8273f4389c7";
+  sha512.run = "5ddd525564a009104ef2f345b6513c08423868a91105381c66372176f41875fba24f0d27ceb648daee113514bb22a3e68d5134fce82394f3e7159af68cb81703";
+  sha512.doc = "9a3fe5864af37878b861220ebdb6613635dcfd563a0149ebeaf0c725af608d8f24f5d2e799b19546f82299dd38e2a4695b6b08d056fad1ec2f8a134326915325";
   hasRunfiles = true;
-  version = "0.32";
+  version = "0.34";
 };
 "t-angles" = {
   revision = 15878;
@@ -30380,10 +31233,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "tabto-ltx" = {
-  revision = 50188;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "3679dfd17ada1f2959def0c8eb9d434b84e5bec7245d7e5059e1d1b975248ef54ee04b6178cedaa8228805892f323aeb33d57bcfd4c37bdfb7d57f43a516da23";
-  sha512.doc = "bf428fe02b3e1779a5ae685690527102f3d728095f55c3af0c54cc42d6c33430a52a0a27f57003cfe30eca3bfadc36343784ec93224c12ae612d2e24b4ec5e0b";
+  sha512.run = "8654a7e3b49bbfe6e861a6f757d8553f78149e7187809b03f6854f2173143e10195385d9e8b35510e49a5f941b27a5796070d6db1183b58e4eb71c452d4a34e7";
+  sha512.doc = "35e98681472b9d6fefa25a534385133d630f072a75a045c9adfc4b0e775095609ece27322e3fe8af451db03c0ac3b63141c3cc7272924ff758a8985389040a31";
   hasRunfiles = true;
   version = "1.4";
 };
@@ -30422,13 +31275,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
-"tabulars-e" = {
-  revision = 21191;
-  stripPrefix = 0;
-  sha512.run = "c755ffcbcb5636b641a5b31a7fa2b2d97ce2e3e0f14fd08c23e0b234abadfe584bdd6e2628fffb614c249ffd17e46d56790fedd929a5af55ec92869ec302e6a8";
-  sha512.doc = "2a29bd4c343c172f37874423a754b03888838db7ba4237992ea38167b82fbf7169dbe3056b269d487e398208d165d4fe2bbcb5413c138cc6129fb926f9ee7701";
-  version = "1.0";
-};
 "tabulary" = {
   revision = 34368;
   stripPrefix = 0;
@@ -30512,12 +31358,12 @@ tl: { # no indentation
   version = "0.2";
 };
 "tasks" = {
-  revision = 53371;
+  revision = 56135;
   stripPrefix = 0;
-  sha512.run = "79e6a16d9df2fcf647eb3cee57759044ec6e6f85fda5662d56db6f55911bc3350f0bd6df337327b29185d2d529892544f28d7a1b1f9be09e704857006dfb7cf9";
-  sha512.doc = "16846eb9eca1542d731617cc7a5b7ca7afbeec817fa941074b58caaa166faf8e593e33fe4d89e88741b02e48dd5b8a6be5cdcfd17d3d45cca2269037401c8a47";
+  sha512.run = "bf65117eeb485d1daeabfb4b8151155b8f488ce388acc1edfc2546f6f04bbc9a111c2d59b3588222214bda526155a90682e41b7cba136e32d5c31ef7b166b6d1";
+  sha512.doc = "bf7c7bbad0eb775bc0dc3de579dd01d948f94a0b79164b7315d587eebb92bac2230cc069ca5f79b0190f0a86e8b5b064a718ba175ba3330f615805202729d28d";
   hasRunfiles = true;
-  version = "1.1a";
+  version = "1.3";
 };
 "tcldoc" = {
   revision = 22018;
@@ -30529,12 +31375,12 @@ tl: { # no indentation
   version = "2.40";
 };
 "tcolorbox" = {
-  revision = 52809;
+  revision = 56480;
   stripPrefix = 0;
-  sha512.run = "59935197103e279b68a54dbe1b33936035b3073f1ce70ed70af8e405096d36df5d00a4b0bd583428211df3497b779e4b473359004c0d6aefbcdb4a398517a38b";
-  sha512.doc = "c7cb5fb7763872451934d7f767d90620e43dfef89de989fd3e233b8db8d169acd4a947f493cf724759cc6ad57b179eb902f923ff91c1172c0dd4567b348c7f76";
+  sha512.run = "316879b98b72f6de49a754eb06e45811d543f2a666d97710d67cdd7b5e700b3994651ddd486d0f661ba6b6851569421c7d75295ce04717f59980096f8f69a4dd";
+  sha512.doc = "b52d85403473020b20ff44d5ade3c2325f629ff0fd947082dc93c796e1deff82449532c059583d6f5444ffba98e809cd6d452ce22e6e7db61702798428dfd483";
   hasRunfiles = true;
-  version = "4.22";
+  version = "4.41";
 };
 "tdclock" = {
   revision = 33043;
@@ -30710,14 +31556,14 @@ tl: { # no indentation
   version = "4.8";
 };
 "tex" = {
-  revision = 52851;
-  deps."kpathsea" = tl."kpathsea";
-  deps."plain" = tl."plain";
+  revision = 56291;
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
-  sha512.run = "ef2e000027efc98b37426f3f9b235ed0bf66693a6dff34cd9260067da096284ccb10f2222a016a3d7b322b93f495fa6515f5c7c0b2b10d6a92a28a54239e432d";
-  sha512.doc = "00de1ab96fa89af7399d69734225cfd6aeb2654a857579eb1f51b1cf9b38c21335d6e954eda4da5330f307c2cde7bcd009581dbf1888ca36e6f1eb64308f7a73";
+  deps."kpathsea" = tl."kpathsea";
+  deps."plain" = tl."plain";
+  sha512.run = "d33a8c3f793f04c11b1c761e0c09f9461cce6baf7e0a7454ac1d0eebd9862099f229d9f3200a3b344a3d61a8b1168a41b04eb44ab4f9534e129e40ff4028eabb";
+  sha512.doc = "aa3547889d92739e1b7196fe25d1283b6b38ac2ac0c1bd4a5d8a5a8045756db943f87df62d1efd45a75abbf863717235115ec30fdf13c8f225059dfdea98af6c";
   version = "3.14159265";
 };
 "tex-ewd" = {
@@ -30775,6 +31621,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"tex-nutshell" = {
+  revision = 55187;
+  stripPrefix = 0;
+  sha512.run = "c9593bbaee98df6aa290e95196c5436fc34f24839e81014d4e9eff3115bd2834362edc20e19462436174c7603754375d69ac9ca47f81d6b7ad7c95d2dc3b6f0a";
+  sha512.doc = "9743f73de151f24d589a3173f99b4e546e9ed9270f56efa337e8d49f0bdeef13628ff05d5a4a62d5dc42cc89395d528d7749e8299a565e1c203900fa27e6722d";
+  version = "0.5";
+};
 "tex-overview" = {
   revision = 41403;
   stripPrefix = 0;
@@ -30803,23 +31656,23 @@ tl: { # no indentation
   sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
 };
 "tex4ebook" = {
-  revision = 52616;
-  sha512.run = "76600392b612abe233a98195c866bf291e4bc372f0cace58fed0855246b3bc8ee8687c1e8baac3026030e7eb60dd1f4a4ed3698521b37126127b33d1bd080661";
-  sha512.doc = "b00548efbb3b263f9cdaa7348186ae7e96ef3a224904ccd04d4622b85a94cd5a591532265281ed76c6135273a9abddb8af4ff3f6e1fea484d534dacec1903b70";
+  revision = 56291;
+  sha512.run = "d55f39a6e7d528a0085eb8e3c56b31b71cc399dff0f97f46f73d362e460b4998cc69e3d52b2b8f2ea7d57fd9f495be58a1072d1deaf50a6b77ffa55598ed30eb";
+  sha512.doc = "98e031478e7f9bc08c2837d172f4e7e8d9df8202fd2ff4737356d4f2384b0841518497834c4695bcf5fc9176f70df819e38378deb60321d97fbec4e5bbc845ad";
   hasRunfiles = true;
-  version = "0.3a";
+  version = "0.3b";
 };
 "tex4ht" = {
-  revision = 54213;
-  sha512.run = "c385b90fcff5ba43884918bf616aa4beffc285def1a380b84909bf4dd44cffb479612268a37977adf87f8dc226394d3239503b5d6f2a083a9f078862f282f0c4";
-  sha512.doc = "86b1ea30f9007e9d33f76a0e2970c40a6af0c40ec6c585bbe8ad98e057b41de3fdf3a7b1de0570ff2a718326a7e59a26d7d19f2c7ce0210599b57d95004188b0";
+  revision = 56601;
+  sha512.run = "6b64db1d0732fb2f8e54950a7147a4f85cd19067efd1ca4be2c5ec69eaf48cf4bbe324a78a6f9b6f6d0489597c77e1a7835e583018a1a5af5dcf4f76cdd72f88";
+  sha512.doc = "487e1db18d843e1c283c2fe26761d941aef1edf7ff696557ddde45adf498d66d6f90f4e597a79b9f7a6a467c4887ae6e6dc566605602ec318853e58db4d023b1";
   hasRunfiles = true;
 };
 "texapi" = {
-  revision = 24237;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "ca4622f53eab49612b80781bf58130d419a89791f507164e34dc8123772d041d50790f63018a87bbe3e8ebecdbe49925fccdc35f4d90f5d87312a36ce1ee482d";
-  sha512.doc = "2740b51e345092c14bf86a42d8b94a5595248851c606b6274369abab75b708bbd17a67a544b1b3a0bdae18f779e042a53bc2dc04edbfea912ed60078cedde16e";
+  sha512.run = "e964e090b4bf4e924166d0fbd8daa2087a300d4da9d993bcabc624dc78c3f2db9984f2aa851740e61706af213d112cb32e80795ec2cd4e23a69c13ed92fd91d2";
+  sha512.doc = "0f3886e76090beb0dcf295ba875b9ddcd950da4d50da710f1b4417ffc7c1ceb48223a20d7cc93cac3cbe2f19edcfaa74c801096fce33c55e9fbc6c57b1897b22";
   hasRunfiles = true;
   version = "1.04";
 };
@@ -30846,12 +31699,12 @@ tl: { # no indentation
   version = "2.0";
 };
 "texdef" = {
-  revision = 47420;
-  sha512.run = "7c5defeb9cf9d5fbe92f8433265543e6d7024e9f7fdc768582ec51a5880745c54cf8576f1b7455e32d51429e2faf122c0775ead117be97510f4b2d8123b04d71";
-  sha512.doc = "a4727d57bb5b56106a9baf4aabbabd16cc8a8ac08358c28263abe9c40b76a6d692d0e819c23c7b8e946e97fd3f7574a498a6f43207c04e7544a0383b3681f54e";
-  sha512.source = "4b57478b06d4cd67ae6b8d2afb059eb52e03e31c4c4066108d471134865a64f3eb3dc99f8bc4330625eaa8e7c660f445365c6bbe510f36d5770b406df99d6c8c";
+  revision = 56466;
+  sha512.run = "cc85ae5298a72c337c1c4571f2af698b62b182521cc65d0ffa459b89121e9eeae7d6f033456278ec6f61f91cbc2a6feed18005786e5b9943a8b0893111e61017";
+  sha512.doc = "dbb3516132d0779f657a051b0140491d8baf1bd6ddbeef92d94414a791894696d9ce39d49b3cd689dfcea2d387a221e1b27cb486764b011c7068d7a1d352f679";
+  sha512.source = "ebf0284c4c8fdc35c8b6895f054d5055568a5e4b8edb061c91da4627b017dc7cb033943c11390f3d05923761a617354ea56ef95d3bf1a02cde66e55ecd734e1d";
   hasRunfiles = true;
-  version = "1.8a";
+  version = "1.9";
 };
 "texdiff" = {
   revision = 29752;
@@ -30861,25 +31714,25 @@ tl: { # no indentation
   version = "0.4";
 };
 "texdirflatten" = {
-  revision = 44751;
-  sha512.run = "e4f03e9a434e1ab8ea1b69ca0ed2dffe1f8cdb2c853a733e275bee74ed4b17b84b72cd8cc7d1820f595e1c2282a38b9bfc7f7b7a9e003fdace6488390a1b97ba";
-  sha512.doc = "972fc69b705b2f6289358199cedc91ec386da9212048f7f7a84e43eeadc943f7f42ade8d7faa9f58d1685d2bb10408e274b2461032927042371feb86b4ef6b43";
+  revision = 55064;
+  sha512.run = "3cd6cf4d9ff3a1a3daef0bd5a998417696f6645cb54679e99e5424ebbe3926c45acad7b999ee4371392a7ba13fe3f2899438ce66efca7829c7aa1eaef84aa6e5";
+  sha512.doc = "1114dce13ac47c4352e968f42e89582b62b2702bc25ce3a9a4fd766b3bd63607e11eab52d19bc9f809b2b67cd92153c4f591632cfc72dcaf1c0a1b1cfb416b11";
   hasRunfiles = true;
   version = "1.3";
 };
 "texdoc" = {
-  revision = 53859;
+  revision = 56358;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "ff55c658b4baf265bf9ca2ba6e5a161eecc1c75bd112e6400c9df4708ae3f355dcff277cb60ff0178bd41940d090e3dd28a7ce06421f509b352489d7a8d98b2c";
-  sha512.doc = "54931eb9882415f2182fed56b4905c723bb0df1444b1e2af939e2b6093ed9acceba6af7d46d6aceeac853686a57e366c13ab76da05f18469da61c36588ce66c1";
+  sha512.run = "b5ca5282d54c8791bc71525f26cd6486a8c4df6e7056373ff32ffdf481d6a0865a029ad386e4cb05bf11eeee0ce818f9f4cf6a09249e66b40b9a4adcf1c5617e";
+  sha512.doc = "798d915aa45428f14f281143f8dae0e7763002b3f4ee9f2292cf55f14e56616d314610208b7f50f78f45d1d7be1e2555ac1b5671e683d04af3321876b1c7f823";
   hasRunfiles = true;
-  version = "3.2.1";
+  version = "3.2.2";
 };
 "texdoctk" = {
-  revision = 52851;
+  revision = 54557;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "5b2cfd56eddf1cbaa2471f631bf3b3e7dadf440fa4103e6ba490f738893ac7df4aeef5795bf269df16c9a02f873cb326bda5b98d2853c73a62b0e56a677b6e04";
-  sha512.doc = "1ee6930d450e7227bea84450a3f97933fe2f7dadd92e77970e7ce73f12fa1e9466c3b3ae987e441c447ec6d3069c7e0a4ea5b7d77d2690c71d1b8f6970b90aab";
+  sha512.run = "6fee47f51fe3d98051d7098d17e3c5c37b3969fc5a2c78bd5d5a2b97f9de97cdbaaeda274792d1bbc10653bf1d3daf6447c66a13b4b31f8e80d26e433c405936";
+  sha512.doc = "54fe4ca2618e4b8d6eb1f5590745fbb6ed6264a9e6ab4b34040bac52062ce4d7e8214a4fa3010cb6c78ad0003afcc3f929b112528940396973647a6672a0422e";
   hasRunfiles = true;
   version = "0.6.0";
 };
@@ -30892,11 +31745,11 @@ tl: { # no indentation
   version = "v2r3";
 };
 "texfot" = {
-  revision = 51525;
-  sha512.run = "0b9376db4c9006121907650bac3a13f8e81ca7bfe48cbab132cf635c72003de9aacf39f77e7e96abc3f7aa781f91cd9876a0fbcbe933d01e807597a581efaccf";
-  sha512.doc = "fba2be7e6b23503b98ab499fe4799a1344ab0e9d4c806c451b38945cca58cbe15505b360fdf2d83906d6457fa94123c2b704d4c1da8e0dc435ada46af673d134";
+  revision = 54246;
+  sha512.run = "9565c8106738793c9c14c8f42c750857bc64c324c190344267f99ee3e383f8052ff5df100298f4d7963ff44953c3af01a58ff8cfeee5237e0f07035ee6066be1";
+  sha512.doc = "1779cc8d4a6dd35acc591f959500e155b5ce155b75383c7b7478e934d00c508aa84f8acf13b07a2e67f529bcd125c7868d3a30d851f293ea149cf5a56d3cfcb6";
   hasRunfiles = true;
-  version = "1.38";
+  version = "1.40";
 };
 "texilikechaps" = {
   revision = 28553;
@@ -30913,118 +31766,118 @@ tl: { # no indentation
   version = "0.1";
 };
 "texinfo" = {
-  revision = 53776;
+  revision = 55833;
   stripPrefix = 0;
-  sha512.run = "f898722cc80f1143e1df4df0d4a73008d80b2dcfb567f6ad02edd172373fea4a435c95716242103a6f3e0273b4899b004c988292ccd9f019a270f42f4467440d";
+  sha512.run = "3ff0c13b5713df9ca112f7625e0fd2add2a4de5ec5209aa19f35d45d0373418e89e38483ed9f1ce7cf73bd73c215e9f04044888e5ca0cc8283df9e04b264d2ea";
   hasRunfiles = true;
   version = "5.1";
 };
 "texlive-common" = {
-  revision = 50466;
+  revision = 56460;
   stripPrefix = 0;
-  sha512.run = "a2d1330cf12d9c7d78350384e69163f3c97c2d7ffe923a0819f487cf5b1f610b50ed2835f658f4a6c6e7df6b9d95bebed24073cb03f4213bd1a430e48716a702";
-  sha512.doc = "9fa949114a490a7cfcd7c0083ea7fe797bafe4ae4b61f1b689e9950afafe8a8367f87a5e371aea6b669c90b3a6b31df00a0700e3bc0a96fd2b71c373f2a24a6a";
+  sha512.run = "e3416fc60057ae5a8c9d8e08a27d5ec91f22bc15ae767068980f56f01435615b7aa8cf0d4585d9a719777cd4a784ca82402a1f5b5fbcb3559380b4826e4b0f5c";
+  sha512.doc = "3f9c68c9823aef62fa679c247790704febedcfe0b45f2a3fddb588e85919214567fd9afd27f2123e9931e586fbd2b748ecdd141471b39bb2a82afce238200e42";
 };
 "texlive-cz" = {
-  revision = 50778;
+  revision = 54496;
   stripPrefix = 0;
-  sha512.run = "2c65a9915e58f81a298389fda9dbfe5c6d0a0fbb91db2da4d970f084f568da8dbd20e61576c2af05c74c4c2876835f8159d6dc3a250038dd64b433e4cc305a37";
-  sha512.doc = "8527c18ca429a877e747f66d68e3c6ff1992c42af0ce8e65d15a89743b689062e5d825578fb5896d5fb978251726cb2623d49207cb8126258bb6f419b36d09ec";
+  sha512.run = "d4332dc9fe838cc3dd6bf28bbde16f0f41b6f7f75877c358fadae2584cbd1d1fc4fe810569ac5c26dde3eba1fd26447eb6928fc8533a1c4304309a83b734131d";
+  sha512.doc = "ecfc4149bddfb665c6f48e65b719cc3d2240d0be151bec94676a188da08a203e84443b4c8e77590476c3194fae55ea23753a248c6f60ddd0b27895dea703a219";
 };
 "texlive-de" = {
-  revision = 50617;
+  revision = 54604;
   stripPrefix = 0;
-  sha512.run = "89b6004f34abdd998257c723613ac09a1ff761bc2eb1dd441b21c6e25958874bc388e0fb4256410661f53d2145f3ccabeadc9ec1341af834b719913dbc6b59a0";
-  sha512.doc = "c13300d4bfa0a9d97c5b01b82634c854dbf9c4239d9ad320470c8d16eff439b1996ff0d51a72baa5c3080ea027105521bd165198c8fe58f06fe785d130603916";
+  sha512.run = "29e24971280fae6675d7531bb538fd7cd8f9a0d5ea2a2fceac79b563b8c046fd760dcb1da6ca6c39e8f262c025158391a262cdd6cada739034e39558d5b4cadc";
+  sha512.doc = "ee0e8cfd65a4ef9771b54b6ebbedfaf3854452fe76f889af98e6bc3bdc14fd009a13d484d658c2b4ff67dd1bc23ebe33b3669d26b6a1ede9801f3f43d58a8004";
 };
 "texlive-docindex" = {
-  revision = 53970;
-  sha512.run = "39f3359e2a2149cf6d34066a6f727b0bdb56675635d1ec44fcdb910afc0cf8ccafb62b42f3d85bdb51319de97aaba5f0ba6c770c83ef81e634f309ee1fefddec";
-  sha512.doc = "e01e11202d021f7f3a12701495fe2e697a97da27adb06654dd5afc72cb217d8e86ee3e3b269c28efd6e2b7464a392903cc1794680299902c09aff5f418ff30f6";
+  revision = 56593;
+  sha512.run = "173e31439332ea688b0ae817dbc5160fa355bc6c5049e78aa1666847a868dc2bc111652f0dcb7f4a64a00c252f8ffc0274b731713af4c763b92eee3cb3d6004b";
+  sha512.doc = "46c8eeade7d0a51bf75b21711bdddb7de815f29c82195d479e934696ef596282b0a1e2a36d5f1169b28f9b49f4e3a78ef00f17ca4d6906cca28daae6000516a2";
 };
 "texlive-en" = {
-  revision = 53451;
+  revision = 54755;
   stripPrefix = 0;
-  sha512.run = "d9fbb8bce4b7a4e3f661a18608addbfa88ccc0ee73d6186fdc56baaedd21c0163f053961b19f3211761a0390d44e2f524c07c4c25e81a33cef0fde045f5a0c64";
-  sha512.doc = "c25b29907122f731a5980e3ca15ddf31c4e4866354f833a915734868132a8e46c9485a67750adacabdf86b724d8508c0cd6009835af89846b929f03d023c76f5";
+  sha512.run = "799b1006ed71dc3535b11011063bfdbdb8c179b4f54f2590976a2c6455666185db1a462354c444f672213706351368cd6eacd8fa6dbd99abc4af2efe2165f8a3";
+  sha512.doc = "053b9328e035389753c13f9e6216d296ab2ca4fdc999e87b0218e362cb7404037599131d4cc57ed07edcacc59aa46dad111e2e9422459b2295bbf8b5e9850f51";
 };
 "texlive-es" = {
-  revision = 50671;
+  revision = 54465;
   stripPrefix = 0;
-  sha512.run = "ecd29f0b62735145f57e48c74c07f1b7188a3e4aea26d82dad7e136e2276e2697381bae0afacd7b2083d796c213e72141893fc186b84e9b6caf4ed19513d9a29";
-  sha512.doc = "32c4b3fad90a989e2b94f4fe63b8869721c36aa90df3a815177dbae38c8fc90bc420f197810266ee1350e2580428b8444ef73c5436041eab8bb46704bccc4fba";
+  sha512.run = "358ca051118ac9316ced67be9142c076f015984a0ffff70198792a946f04881350d4f0111476fc376a1ca8721d3a900998a8f516af9a6ba2cbbf05a1120f8798";
+  sha512.doc = "c65c8cee1e9b46f9a778b625f880a70ddf9297a77dd0f925bd9cdeac9b2d18d483879f88b72f701277974d983c82870aeaa0023c39399552bf243e49bd235f3e";
 };
 "texlive-fr" = {
-  revision = 50567;
+  revision = 54749;
   stripPrefix = 0;
-  sha512.run = "fa1830c0a7337f5629eff5f380f877307304f1986a3d9f63c43b0ef88960354c2737278e0e123523eb0d2c2957ec41ace896cefd096f4b2982b7086daf7f3ebb";
-  sha512.doc = "bee228b706954bcdc1ea424d0227890bda2115abf47b73687a0f486b7daf68476bfd7a649f457b22b62e55936b1a113a685451095d1f23268e0d094dec902b7a";
+  sha512.run = "383be36327140b777f356be79f55708bd3398354bedc97ec014b5c99c3545fd1b3e77dcb52d040ac5bc8a53b7d7a7871ed6f9b2a09e94d27beebbf3527a3e8ef";
+  sha512.doc = "787ed7011fcd99b8815c2ffdf0a458688ec874d4a24c6fddeb93e0195de384d4f876a1154f44ed61dd6685f47e8bf6f7d4b38550a25509a7b8d9f7a9911d17b6";
 };
 "texlive-it" = {
-  revision = 50750;
+  revision = 54534;
   stripPrefix = 0;
-  sha512.run = "be04ef3a7fabeeb9d6a05210e5939d61e0a364cbe97e461476db186c71ecfa2754af159ced3fad5fddff081e6bf5541bf60ed053cb8cb0e2de8813944e775009";
-  sha512.doc = "a3381b82bfa78453c6014849e8ea8dc2ee881088450824e62bc056f0303227fb7eb5276f594436c6ac113292ee52672dd3e7b9e6007bdc22dc331b63330fca81";
+  sha512.run = "f5bd05f7bb02895acb25515bcf3b77938aed8a92c51c5ae1e719cccba612b5305fc1d5ce645a3700ad769be0367f78fa82eb93a3961f24a44aafa9170ef3a357";
+  sha512.doc = "d030f75317f4438020d8b824821028697c5b8519602d8377b82ec2e6eb7a38717d089b5c4f868ff289b9390fb3f018b213592390ef718a7db024992f21215db1";
 };
 "texlive-ja" = {
-  revision = 51990;
+  revision = 54334;
   stripPrefix = 0;
-  sha512.run = "279c986e659a0ff33b4522057c90312f2376552b22bd3229cfeed2e87a0644410ad798a8bbda079253df16a3156e3dae9c20abc6132e49023e17e9e234820043";
-  sha512.doc = "fd26ed74bb6a85f9aaa1907d89b3c2e6624325e36652a3e3c7a540181efa36f2b44322aac55190085c47d48176b0d04e6c58ef9fb633057954eaa6fd408998f9";
+  sha512.run = "e8ab70d086d2e6c684e54eadc5de86455caa44a9e81ef104df4a14445ca208fedd20c6fabf9493b648a6dc8b70177ec8cf8023b4ec1857dab9fbaec3e0f72455";
+  sha512.doc = "04dde56c7da52ecb10d94508effeb715fdd8abd95e3db301e5bce469d9db6a76a52268c3bb06d6800cb28a177570b22f90d2482bb5333eff82cd1f9c378a7cf6";
 };
 "texlive-msg-translations" = {
-  revision = 53947;
-  sha512.run = "f866a0afecb5c3a0767fdb50ab62d3bc196895b6dd6f9840612e28f0b6090c41ba00ae87b4e6a854bb3f6e66e6888856742c7737c07b5723aee2241022538a22";
+  revision = 56471;
+  sha512.run = "7b7571932366f6cede88d2b4091cdb8f2ad9037b889e9efae591d9603c700fc11a82e495a14690d33687a5ba7cfd658e86a45c4adcf4141bd680f4095deeb9ef";
   hasRunfiles = true;
 };
 "texlive-pl" = {
-  revision = 50665;
+  revision = 54425;
   stripPrefix = 0;
-  sha512.run = "57dc3f82b08ddb2a9f6e168ba7cee0870e558d796bd6acb8669207cc14aa327a531f6731d312fabd1761444f9d49da4f2b8a1424c603735468e76ae868813208";
-  sha512.doc = "1e00df1860220e5627a913f2504e125165ec2743f5b461497e77636e46b069ba2e790de2c01317f7698212d2862e0aaf5cdbed40eaca40618d97e56436b93adc";
+  sha512.run = "78dc8d6e24ad4060c72e8f565af2e1a95622a8489e1cf83e0c35a27ac55fc2bce71b652e4ab6a14a71f76a0044c7c515a052fe3dc1ad45a2d2b0d4ebea282da3";
+  sha512.doc = "7949a67fc205e499faebd121a395b55b009fcd5a5bc9aa7c940c62a01d9e003b5b9902e3677d1a3c7ff12df7532293b4bd309406e26c0f76493bca8a46043a1e";
 };
 "texlive-ru" = {
-  revision = 50683;
+  revision = 54537;
   stripPrefix = 0;
-  sha512.run = "53b6b2cdfc0357f7614cdb9ac5f4f26dd51288acf093e3bf644b0b259c61b9765775bd90956b645e2a915cd64b4d4470679e3725dc8f1dd044f2280e04677c5d";
-  sha512.doc = "b5d982cfe9cbb9022b0d35cf583a90148c0add4f898dc86f732f305cd9adf704902851366722d2624f0ceac66d00aab177663160d5ef624331f83d6a717c3505";
+  sha512.run = "1aee5e314885f6989c6f235da7483a93b927ae81dbc5fafcecfd595189c755ed80e5ae52971e984aa875fe945dd121e6e15f68e3071b07421e9940ea471db248";
+  sha512.doc = "32ab76462c2bab0979029ee9eabd3ddfacebc791083276369dca96c11e3a594358145c4325f088f30966d7cb6482cf708c4b226d6cf0a4c990bda12ba660fd88";
 };
 "texlive-scripts" = {
-  revision = 53977;
-  sha512.run = "7e10b1796d11a58ccbedbf5f89bed570207306f2ee196680ed7c5f784aa8c1607e7ea26086812212e5fee8885fa48ae6e1856c3a147333f60224f2da53469014";
-  sha512.doc = "bf95f1b8895f9c7bd53c09072bd8ff77af7d357d52fb4d9bf7e9a1390c647cafa57c3c0c6694e8fa8a7e03d9ad301df7f52a07be4d79a00592b020919b76be12";
+  revision = 56579;
+  sha512.run = "eac71dbab40aaa375650d15b51c6ce646b418a3c07a3603a5dd02079bdaed0d7cf4926f1bca69dac567c49c3d766da16c7abde200ddc021f3530f75619978df4";
+  sha512.doc = "7d423b4727501048627fa1bf1bf2a558d60e77a03aac1f808cab176ae4fd500029653ca9f09ebcf5f6165af24f4739206217ca25675a5360de8e892aab42c01c";
   hasRunfiles = true;
 };
 "texlive-scripts-extra" = {
-  revision = 53569;
-  sha512.run = "a2f8e7888873d4f129cd83060ed0a9e65824c76870b238ebaa9b630aa00a51fdd479e182fdd4f9bfbeaf1113db5bb06d08baa2133544acaa368fbb690cec900a";
-  sha512.doc = "15a2e6a5be58cd74f8b8d906153b6d34f54e7a2eb1e3914016ca515bd43a67c021955660ef1c31b013dcc5ba91fd0015bebbaeaaee6916cdb75b6f55bc9152ac";
+  revision = 54744;
+  sha512.run = "e46691aa10b961d2359359fdf00ebc86a1b881b3d1126c52f3863343d21eba00110cd9500fb03a4a9544a3d8fb443bbdc90aa2f6216b8e62a3edb0acc58e4c75";
+  sha512.doc = "56f9be73e3318ea684c536b90645b572caf437b16339104bcedfb7517c94745a514a8e185033c2338aeccae868a123a5a137b9b07b20d661fa473bde2c28797b";
   hasRunfiles = true;
 };
 "texlive-sr" = {
-  revision = 52494;
+  revision = 54594;
   stripPrefix = 0;
-  sha512.run = "95d30458e64f61c89b015eea0dd8fec741ff3cdd4360bdbb65f0c8c8346b11a0c61d2b98fcc63ea62d621389411d257da4da0126a40dd9880ad557407fecdc25";
-  sha512.doc = "6965ea95aaedf7ed6c5cf55aa0524bb2ddaccb218c630c600e7942ac3f5a3609e1744e4a0e31e7e875550f436d5cde57f5953dacedda861f88543c915866bfea";
+  sha512.run = "de99d6d13c6b68f8327c0b72dd3ab8aef92d07085f3eb59d94aaf8901d11d542c0795a33cb2bff1ff0dfb1acc99e43fc767150956abd873536a7d4e3b8f031f7";
+  sha512.doc = "4e07f6f015a023af113822e409e03405f49b9786f854308c14f2060cac75d8420ddab090696044860be75f1337b6d3b6e7a45fc0d56969b0894efce3a8c60ae7";
 };
 "texlive-zh-cn" = {
-  revision = 50478;
+  revision = 54490;
   stripPrefix = 0;
-  sha512.run = "86d70c96c3fd13095d664a9f719613dfcc6295803f9058341fd915d6cac240ca11d64e939395dcfc0ff84eff1bcdc2425971ee0c90f7fc45cc86be737e30b772";
-  sha512.doc = "9567c16b972e2bae6f02356203cf68cf4390434e3da4f8a1cdfe8b902483fa33289c761bb00de345ff038e98054fef5994a980daaf0bb75aabf62be2bc1bdf75";
+  sha512.run = "1a7e43528c2dac5c623943b1b268b99f0db6a4876f50c5386a8ea160b8b5e066604d34c0a53cee25cc3f839eb7f4be177e3d98ed51c83c77df6293c77a02e0ab";
+  sha512.doc = "534c505455c5f9c73803c140a340df2882a97516e15f52c5b65695b7c626404336a0e4f6190155b5bda1b9a86d7f4d44ac294bccec791ec6701e56d13c00d71d";
 };
 "texliveonfly" = {
-  revision = 26313;
-  sha512.run = "e02a1214775f209c0698e62fb7f0ae91c9ad14024c076dd6a5ca73fad4c92ebbf9bbb0f281869cb0c073538c66edae2af23245f1bd0e1f939c80841269625af6";
-  sha512.doc = "f89f82a59f726b226101275b1aeaec00b99ea1302ee5ff8c021e4696b4abad39d1a95b544a4bc45483440591e1266cfba4d5c3c3bbc769f193671a46aa7458b2";
+  revision = 55777;
+  sha512.run = "63353a768b700ea11982e9552046dfd1dc3d844883f03099833cabe2af5ccddecebd7ef737fbcd256c90304174165a4d283d4912f8311508e61c723d751619a7";
+  sha512.doc = "46d57a6ebd68a56d55ccddc68006693fcbad8ed8f809243a3ffac7adb82da58cbc28239b57556d5d8d6388ea034b6571557588ff9365d4891145d5cc3fabfaea";
   hasRunfiles = true;
 };
 "texloganalyser" = {
-  revision = 35584;
-  sha512.run = "cbc18031b9b9ecfb6088b82b99eb72ad70fce92e4b103230a06ffeda0a50871715405a0aad18a7495ba1b80f16913cbadc4b8d1a7d2ebaa77d5cbd00e1682c93";
-  sha512.doc = "1cccf82314d9afc841044aabbb5f06933f6bbdfcdb46c22909ce18c2736d40c532944405232633f61893f0f56de24233d520edd64d4cc89baeca5c01ffd0f9ea";
+  revision = 54526;
+  sha512.run = "85f491af4a3867283d56bc2d98ebcf491e622008b3a70bb2cae03b9deb38170e1c73088d109445fac11fcce6e10aac57f42f03066580a79c978dd19af1f74caa";
+  sha512.doc = "8eb890f880dc56d37e29e2f0bb3228e36031d45010677097136d40959ba7ec0cdd10b5056169325f481318f137a9de2f180438f1716bfa12705fcf0db315e3cb";
   hasRunfiles = true;
-  version = "0.9";
+  version = "0.11";
 };
 "texlogos" = {
   revision = 19083;
@@ -31051,6 +31904,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.2.0";
 };
+"texnegar" = {
+  revision = 56215;
+  stripPrefix = 0;
+  sha512.run = "ea05aed87a09be31df532f15bf38c22e4fa0c19860921192d42bed49729de932731bb429115a8448bb05421e9ba69342f86bec61fac5d84a2fd2eaf7e01c0e5c";
+  sha512.doc = "bf4d0c943e209477ee36b89457687353a9c60f78c554b2a46dc3a9d7f72d645594f807a4ac59c331303d9993b235b79a6a4febcc305d217c6673b2ce7df39405";
+  sha512.source = "63efdcad942c40ce156dab0b720b5fc727b0f0c25ccc4b0a2cafbde86dd09c497326fb1dba85249b9e943608f72fea8ea4ae29ab45a66dd49f1c210094268283";
+  hasRunfiles = true;
+  version = "0.1b";
+};
 "texonly" = {
   revision = 50985;
   stripPrefix = 0;
@@ -31067,12 +31929,12 @@ tl: { # no indentation
   version = "1.7";
 };
 "texplate" = {
-  revision = 53637;
-  sha512.run = "8c9ff524bbc1c4a9a89d4da0329c560cb4a2916e87fb5dad8ffb8a288bce1c0e0eb4321834a34e4aafd68c3b8a8fc0ba44018b80fcc054e965869cad120bde4a";
-  sha512.doc = "0bce839225eb4d2bf8b763510ee89ca3133fef4a4d1ed7ca4a8257d00c64d1b188c3093a0d11c319450a219c220d44edc93ab66a4cca739477c42bd526c54ae8";
-  sha512.source = "599a199747dab1cf39f7e9c2141b38136085009b04578e65a5ce332ee3ecdfeac0999b721fca5f9d7335fc6fdee0a09bf1e078f140dcd4cd74f4a69fdebedf57";
+  revision = 56083;
+  sha512.run = "dc7f998438ad699af41d1a83214ba5b62399c5390ad1672b40ecaf9bc48fd04ca91bf4ceb1bf75c89351d612d8c9f0acd3bd145b5560673bb864fdb4c18375f2";
+  sha512.doc = "620f820e08f000032608280ad4e93d5aabbcf6e42008c1f74d2b876d5fd67724ca1d6ce22d6046184cd4e0ec205f4aad767a24db79d11e6c40269df32b5644b6";
+  sha512.source = "e87854021487832cecab1cb8a5585d44c25a80c52ed4d020cebaae9b7c1c938c3ffd43ed51a1910442440131e4d8f6acf2af095b58d2a119ea279e3de78736b6";
   hasRunfiles = true;
-  version = "1.0.2";
+  version = "1.0.3";
 };
 "texpower" = {
   revision = 29349;
@@ -31102,11 +31964,11 @@ tl: { # no indentation
 };
 "texsis" = {
   revision = 45678;
-  deps."tex" = tl."tex";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
+  deps."tex" = tl."tex";
   sha512.run = "7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e";
   sha512.doc = "2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90";
   hasRunfiles = true;
@@ -31176,13 +32038,13 @@ tl: { # no indentation
   version = "1.6";
 };
 "textpos" = {
-  revision = 50988;
+  revision = 56441;
   stripPrefix = 0;
-  sha512.run = "430c373d2c228615ecc9c46c10a99ce5394ff0497e9a375eec3c4e409452e006979501f7d18c5f603055c9ddb57b7c0687cf0a9273761d23aec75ed64c032200";
-  sha512.doc = "5fdd14982f8b783f6b42197fb483eebb62f40c7e6f80648cfe7b7a356ae3fd243b4133a050cd84d2c8893460c15e717a21a70a5e1e0e31d52275f4a206956eb9";
-  sha512.source = "c4afcb5134b7618a9397f40e6e633d126f2803e15783b9ce6a26c82fb21d0ad226d65fa9e90e60ca5a1ccbaaa3a436712ee15d8fd13a6acc5cae7af8150da6cc";
+  sha512.run = "b7213e61a54addaafac6bf831273a000bf300939d74311e25a1412744e2baabcc35594b084a9ccb6eb5e8b91b105e0acf97686323f89f0623a8ee9749e33bbf9";
+  sha512.doc = "45d9b91df10531c4fa45d9eb668613417baf132f3153ef6fa4de27292730580c46eaf722e6998f9d8129e37db3f5f8828bd70eefd9a74e88571290f95b04eef7";
+  sha512.source = "6f917452d588253acf6576a4603b6e4513c9c5b951e2440879d4a68e6d413b9ebeaeac92b0b03636d094f7758400694481bd52a68cfd5fb92431809eb4271eaf";
   hasRunfiles = true;
-  version = "1.9.1";
+  version = "1.10";
 };
 "textualicomma" = {
   revision = 48474;
@@ -31203,14 +32065,14 @@ tl: { # no indentation
   version = "1.1";
 };
 "texware" = {
-  revision = 50602;
-  sha512.run = "cc66e87d459fb04070b0c43c16f3412ea22e3cf8a2748efb8a87fb0417bf0b9caa32a38147a9dd068d7ad0d25e320dc78ac54d9004cf5adef337ed0a90e52923";
-  sha512.doc = "a8ef6e6a062140ca6ab3311b7e57f452bbbb0eddebe36d02cd8122141320814508438d764a97d351febf9f65a5539b03774f611e9bfdcb5abdc5fa989fc5a848";
+  revision = 56291;
+  sha512.run = "9dbd7b278d471138f0326d274e127e79ba472063316e24937c203f65eb343892b34d04ca37622984cb0847ff98f143d5bd01853f801d0569b9378a0de8b185b0";
+  sha512.doc = "fefb274a0f1980e70219d1fa625167688e086b40f5cfb4eb2bb81725425524f27832b4ccb2200747fd1a7e1357de9320401295740b65c81920494d71a9ef0290";
 };
 "texworks" = {
-  revision = 52616;
-  sha512.run = "61a41a470a22bdcd70ed769385accc0135b7fe68b96b430ddcfdfc8e444ecd696c66167e2b44201809cc95b6369a925d32874dd40d878f62a6b7730852fae1e9";
-  sha512.doc = "d2ea2fa3447a4da66ad2617b20f853be8c1bc8aba163ef995ce0e516d9c249990113e0ba2f13ee6f1d51ba3a3e6b5c3745f68157399b9c1c6d4aae8b93134eb5";
+  revision = 54074;
+  sha512.run = "4867a2f6ca333fc42d774154179f438970d392857b0f631f58211b7174c4b56c7fe9c43cac534cac1828d3edf18069fa781d4760ca472a99b5abfe4c7a6f72c9";
+  sha512.doc = "554afc96a17b407e415d85138e4074b6f1f82ab8e918db6e4d2e2dfa44e67b0d10ac1b548ceffeadc245de28b564cc4c4c431ec9d9c92241d1f500477fc72a64";
 };
 "tfrupee" = {
   revision = 20770;
@@ -31248,24 +32110,24 @@ tl: { # no indentation
   version = "0.10b";
 };
 "theanodidot" = {
-  revision = 51695;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "f89e4fc9a726b87568eb5771e0f3a4c29f23198eece256fffd85aa3f7d8f359fc9446e24cb5945b3297d373a84ec11e6b0322e378fa6bb979bdf980e91e5ce82";
-  sha512.doc = "82ced7608403dadc3d5be699acec21bdd7b9fd44c68db769f6060beb26b7a448bde9ec43060e95ee6699735c4c347ade0b2a1267f944c2b168363172c3c0b979";
+  sha512.run = "daeb092b73d0a9aac15c917aa72bee060fdf879aae0c2df9b391822f765983f0c048b1a15643a3aa7075e3c5a51eeabdb06ebf3b568930d7edb8e64bbf8f473c";
+  sha512.doc = "77c32df3bf56f8d38f27823eca098c968b203fb1ca2e4682f76a4071821952631b0187893f4636879808903e262bd2b01b53a50b517cc7098011d9f0262739d0";
   hasRunfiles = true;
 };
 "theanomodern" = {
-  revision = 51759;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "cee56b45fe0b06c36fc4a11dda204117d20a5ade50b5d706aec08c4bc66ac9d801cb3c885b8f18b54db7a0152c3924cb844a0101c71a11c81d6ccd32d18518da";
-  sha512.doc = "d7c6258b4e025111f8c8e29332b8325128fcbe095d9e8e3975227c86e171cd12a73319cfd341030f06f901d005815bba3c7643063a257dea006a159ccace5355";
+  sha512.run = "a306f5b0145c1304157403de3a1ba0e0c350b1cb2bf467c5fbc5a0f4427622029c1c37b6b139f4e0fcdd145f30a979fe821353eb0782a0fdbaac6d614d041b78";
+  sha512.doc = "c2181c14b43a5a9670ed13e9f2828c4effabaf06a9377789c3510072c779251e3d857bbbc5655bd0285cd7f05b23c0a669292f4ef5667dfb35ae89ea70cd838a";
   hasRunfiles = true;
 };
 "theanooldstyle" = {
-  revision = 51767;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "41763eb636491cbd5d7f712b91d3ab6189a87d6fca61efb0b552f5c57eaf25a830763ef83d9b093b2eb5a31f45f91ecb8eef870a7aec0e0084dd685a55088498";
-  sha512.doc = "3e9dfe575f249cacc577763f7b7aa2bc128659bdd19b0ab97b7c9a43a6b5938d7067e657c9a469d4b163faa75f1373a21f5e0825e345d342af037713d595713b";
+  sha512.run = "b8890a2f8af2700c042d1953fbf8c8cf0d499d7458985476bba4a1ad83c9b4c6ec9f8d6f30986b57ca532b0b41208ce07d4d76687f52fa8863da75cc39f24d24";
+  sha512.doc = "ceb00e62d2e9adeab0244ba58b052fcc0a068f7afd8e3936767909b8377da11c8178eaa9015d1d84dd95cc4b5c63c01654e032855b707c03197b63c9e2097d55";
   hasRunfiles = true;
 };
 "theatre" = {
@@ -31276,28 +32138,28 @@ tl: { # no indentation
   version = "0.1";
 };
 "theoremref" = {
-  revision = 30640;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "ec3f8bea432fc0a72d008884e8879bf22db5c2be3694d298828a493e1b4cde2dd591f35887e4aba646f44db47a75f87a08ec7e269cec77be66cb45798137c85a";
-  sha512.doc = "ec478b840b200dd0e731545f039c8ac01d9f088b7644350cc3366aece722b924187ca0701ad15be3a428131bc3025d1af9bb0440e8a487e0272c8d7997924200";
+  sha512.run = "ed6990b6c7a9ec4e72770252bcd07ad5ddf4015cde0129dc0a89cb95bc96958963209fe46f0ba9a614ebc0cdb358d8125ee3eb22b9a4249367d975ec12250a3e";
+  sha512.doc = "022ef42c6765c661f5828a8adcad7710d74f168b3a2dfad0e73218d1a5295b25ea24d5fa010a01151939e87989cfd6457917167e69cebf5ee5a364347eea5f2f";
   hasRunfiles = true;
 };
 "thesis-ekf" = {
-  revision = 53685;
+  revision = 55662;
   stripPrefix = 0;
-  sha512.run = "2cf781811d1a58885b4f9703d0541da7d629c4f1fdc6fc0c519f266d95fdfdfd7c5dbf5bbb92aed80269292cf7bfed016433a9e75d13836b27a63616bf745ddc";
-  sha512.doc = "9215773df9ce87c5c397f87d1bb53f44177c301b00a220651c24a7e65c2b4a0ac82b8441d877b51cfa71d264a385a566714bdb8671dc1475411057e80ad0544d";
-  sha512.source = "026e80e3fe4ba2511fb9f25f95dddd66a4dd241ec8237badcf8564e4704f9abedbe01c3563c6d696ca5dcbcf9ce27087cc8fe99c063b998df2c694aaa5c164c0";
+  sha512.run = "7c50f0bfb5d38cb5dcedd7927b6bc9b3c39e0b3f35627c522c7f96f4f19f2744815d9571cfbf8e63bd1ce21e1d59ed3fcd6d015aaee1bb39b1c90a38ae5a40be";
+  sha512.doc = "963b98d0537919d97d254176c6b4a368b70c23b1841002f4ced8a8a2a3536b67717d276206a38414ed2da511d111caf6468b3d333e6f3917053fa3c5c9ab22fe";
+  sha512.source = "ee4a96c69819bde61c0be220cb61973c1f4c1ac8ebcbb1595cd5fdc7f10988d3a1c14b175eb4b12370984b60c93c4f44e59c41750f168917645a2b27d2150496";
   hasRunfiles = true;
-  version = "3.3";
+  version = "4.0";
 };
 "thesis-gwu" = {
-  revision = 48537;
+  revision = 54287;
   stripPrefix = 0;
-  sha512.run = "f5f54b6ba4d95422d3b5e219a8319375f543939b0a4fff260616048faee47203497cff1eadf8603f03ad54f7f93bfd524fc3f2efa108bcf36c34a38f468b85cf";
-  sha512.doc = "88928ac624aa85413652ae32170854cce4c0519858b5e35752fa06bc4e7130ac031eade4127704edadf69a1fc5fa0e3357af1a0350af83decde430e606c0ff4b";
+  sha512.run = "7001a1f11d069fd15894b34a2d220394924802c3ef1a37869e0d717bdb650bb53c01078dc14760f7887addece64bfb0f6662741bfb6dc4dd77d2ff1f3d0d7415";
+  sha512.doc = "e53925a31286089cb5e8f051cdf969c6bbf29db0ae2629c1a584ead2885cc0e1f95c5b2cd9583056c8ab40b1c41d4f8203b876a1e6365d8967e3942440e04e2e";
   hasRunfiles = true;
-  version = "1.6.1";
+  version = "1.7.0";
 };
 "thesis-qom" = {
   revision = 49124;
@@ -31333,13 +32195,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "thmtools" = {
-  revision = 53219;
+  revision = 56070;
   stripPrefix = 0;
-  sha512.run = "1530f49499593262aaa24714bb4f9801876f9903b4c8f664deae0ee65e9384d52a050c5352ebd2cf158342752191e15deec4b7f5d2cc880a39012720963cc723";
-  sha512.doc = "9331df3428012c486ddff27810248f83fb607a780509691d82b7f732269654d848441d2982cc8609f5804a3b73eeca5184cdecae90e3a337945357bbe660c685";
-  sha512.source = "9d08c2249ee3d9e6d243b22a52a1dbf8fe834ca322be31c7bdb12def50da3e851476070aa4ad7b9ce20246d86f3ac94146099553696ff4a7f2ccbc071d216074";
+  sha512.run = "e7b4a7b97e7ace18e6d02d63d1e6014d0f702dfeca27f6e921a70a7c34797104c6bc26ca3717fe8237923f1c66fbb010b9e76a192d49f1600fd3362badb6261a";
+  sha512.doc = "602711e37b3ff9a46c0e19cd99b1d4e3b40406192fef9746bca7d667273907c1f9aceb97078bb877ba52dc75dcd8cf13cfd31de3c184e2ea7760b9a721cf991a";
+  sha512.source = "58cc1f1259bcaaad68cd0316bf786822ca34325e965a5a0cb2c825b841ef327bc4c31e20e9c6bf3bc183d06cbca565cdb2c99e1fc8d1bd4c9625b265d97fcad8";
   hasRunfiles = true;
-  version = "68";
+  version = "72";
 };
 "threadcol" = {
   revision = 28754;
@@ -31382,13 +32244,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "thucoursework" = {
-  revision = 53891;
+  revision = 56435;
   stripPrefix = 0;
-  sha512.run = "8329369e1850003a66a386a82746c36e62d43ae752844434c83e88a56c7914a5919c137899562b566863e05b15f272dde691cc0dcbbe64df863ec68e59fedc64";
-  sha512.doc = "bd28776cba58bcceaf668ede00c2c07eaca6b522a6bf59058c74554f6f17d5be1e66124a612bbe72929c90850359cf5fa632a2ad664e4d20d041671fcf8cca03";
-  sha512.source = "8720d8a0bd4d9031431658f81d8b46dd074dd42cde74a3b03cf23a7cee8b245d281fae1a7a5062e79efd4f5388056c411922a85961bd6c4df0fd5a02545c0829";
+  sha512.run = "6342b407dac5780e1e35f114978ed4466c547a49b1099ecec8cc6169817d3c1405be0edf5f7cd3d82e5d44f9a7e9d1ca762e82970898e92cc7ef06739eeb65ca";
+  sha512.doc = "565d7846b45c8c0bece73da1010f835d5d54f9244648d61747c9fce7a8bc2559a3e53a2327e146f559a6df2809250d7057befbb6dcb9dd2026c76f1d1dd16fa4";
+  sha512.source = "34da6d4ae8ad815881fc2f8b7df70889ff99adb3ebea2598e0502725b229cb5a5afea11847c8a1c5d56fd528603dc8aaf43c460394ab301dfae1abe6880f8616";
   hasRunfiles = true;
-  version = "2.5.1";
+  version = "2.6";
 };
 "thumb" = {
   revision = 16549;
@@ -31424,13 +32286,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "thuthesis" = {
-  revision = 53892;
+  revision = 56305;
   stripPrefix = 0;
-  sha512.run = "f5cc372f4ac691ac96e3b3d2378c6299005aa8d04ec86cf3813c583c1516e99ca41a608bf81507bf637e268bed0544d9bbed8999e941532ce78473e1a29b80e5";
-  sha512.doc = "82533934c9c1bf2b8a42339d0bb71aa2ae1f95ec50aba25bfa097da06ce001865f6b5204fa4b75d03760e31f9777e2c89c9486322c198520c06502f841233c98";
-  sha512.source = "d209faee1cfef085f34498456b9808db6618a8f50450b826c6694a50ed3952b7287ad5c37e4f3069f14f27359532e62ebbdd8065229a7beb335304c47c05e9a6";
+  sha512.run = "fb7efc08f75995cf1598ddf6c7c9c18fb23110fab75cd3d2c2412f2b1b0788a03673db76339b01ef97a539eddefc69d371a50b947bbdba94e011aba9c9c39edd";
+  sha512.doc = "839ba4e7ef67c769e89f4f26882487a999d77da4de4c37f90e0814b57db0a43f4f527fe12b7077fac85d9ffc7e5ca77bc9026ebc1e89f3cb480e9be4cbcaa4bd";
+  sha512.source = "608175b2b46369d59b108e1d0c1bdc0e4677c56bae5ca9b0fd7a98c078fe25952f3265ca2d85cc785a4cd548b3dcf2ad8764908f485268e471c8c210ea9ee89a";
   hasRunfiles = true;
-  version = "6.0.2";
+  version = "7.0.0";
 };
 "ticket" = {
   revision = 42280;
@@ -31449,10 +32311,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "tie" = {
-  revision = 50602;
+  revision = 54070;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "970a855d2d025b3ac30a4e1631986568459bae84727b661ffc8e0982656bc66eb940b59e2b9c3ee6430e3abd5f7d8b0ce4ff828127bd2f9420e0139f1860527b";
-  sha512.doc = "24f07d9954fe0385abec8487d4c488df551453e13e8f638e32899722d62dc91b23df9d4494f9bc13662d57fed6e8dfd4d71835ef79832b59f075f9023797e858";
+  sha512.run = "1403e6e2e2e7121ac374a337323d1a8ec4f2ccc8c1d1a7b769a0a771afc61266999979f8a2613d00edb8355b13c794ec32a316bd2dd9f37339a8c826764e25ad";
+  sha512.doc = "8210c9c6252a383b7a4c1cbdcbf3ae7fd051d0506f2862249fa595097d25876ce6f0553ff8770507786412f94b50abd069d3f6fcda5e3275b9267100bd37805c";
   version = "2.4";
 };
 "tikz-3dplot" = {
@@ -31479,10 +32341,10 @@ tl: { # no indentation
   version = "0.9f";
 };
 "tikz-dependency" = {
-  revision = 42454;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "e6f04805d8c36c6bf81deb68ffa2c43fed7a7ce21541d6b02828574b579cf41d5b57fd53d12f18e82b66c3f96e7c6962555dede9072e243693f6f6767146ad57";
-  sha512.doc = "ebb3821e66d238967aadcb06d801a0d18a90610eba37d1763c44452f7bf8fdf0c1cd30d52a72f0120a45429c303739fa239ad05b92ae067b99771d9bf4f568ca";
+  sha512.run = "f13e652066ed2237c22b397b76f628e9108a999138ab5d8349792551205cada4709031f5c4b458982618871d4d65abfe5623f700ee9d8f474c66b1e31df374b8";
+  sha512.doc = "3ab32e535d11802b3a828b8b49e78f31df5e5d3c7c36509a3b8aa0d81c02c465ec84d45b9d951ad833dea705381b4df05fa3d9a478db9af0622bc0d69008b227";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -31551,6 +32413,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"tikz-lake-fig" = {
+  revision = 55288;
+  stripPrefix = 0;
+  sha512.run = "3c1c8d90d58c564f54abf0c34db63b3886f6e591dde8a2f7322f9ea2c6b51f10d1eba9d9f66cd1bf6e98e8ad57cd7a1d329e879381b164d4e1517331325ffa4f";
+  sha512.doc = "86afa9db08487666cea340d81355e73e64f72566efed3d1fdc8dd86108eb4f82621850baab86e039572e0ca40d5a38157091fa15f7e1462cfabc73be2c5de0af";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "tikz-layers" = {
   revision = 46660;
   stripPrefix = 0;
@@ -31560,10 +32430,10 @@ tl: { # no indentation
   version = "0.9";
 };
 "tikz-nef" = {
-  revision = 48240;
+  revision = 55920;
   stripPrefix = 0;
-  sha512.run = "e0bfbce75ff6c9ea02a42576a767e1a06b589797995e29e9c2ddd8640916496bb50126da69fd859d9fe6c89a447c342fc15d66ba620f084980740c6e7238c780";
-  sha512.doc = "724dc025c4e67817940f9c4269290dbd1a77208ebb8bb489f4807fea30594eba77c9896e3bc814825307f2012112576cd268633e99b53ead7b60d3689e155c09";
+  sha512.run = "27ca8ead5ab99566c3bc398b52df4da6bda646519fc5d84d4a8b5476fbf0e86d8b405f2c88a9be56f6f6f4def0e5174ab0b2bc8100300d6b32bbe025dd7bf9c3";
+  sha512.doc = "07e9b26ecb4b334c4d7459e636eb116dbf03f7978f88d29f462cd2f9ad81bc24bef57dd659d23c39e8bcd81ba4fa74214c7c399c104fb5af35bf18dfc3e4d1e3";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -31608,6 +32478,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.3";
 };
+"tikz-planets" = {
+  revision = 55002;
+  stripPrefix = 0;
+  sha512.run = "e990d8a92d8f34f3042117e289d7c385e17b973954a2286629c84cc2f13397159b75ec5ea1b032d710babf5b31d58d5f2b23a101b535b9d88328d797a36b952f";
+  sha512.doc = "c92e05217a4e4aa6f49a5a400f2faea365483257b61db934351b0ec4c932e1d4d88e313f443cfd726db2b1234d0bb66f4f70064d690c554dcf4c4f16672b0c67";
+  hasRunfiles = true;
+  version = "1.0.2";
+};
 "tikz-qtree" = {
   revision = 26108;
   stripPrefix = 0;
@@ -31633,12 +32511,12 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "tikz-timing" = {
-  revision = 46111;
+  revision = 56291;
   stripPrefix = 0;
   deps."svn-prov" = tl."svn-prov";
-  sha512.run = "f5f771d0fecb0615770d978d1ee5a8a5ebeae4c1d78d9f0ea33099a5c8d89cb7523c70dc38d3a0a6970e997fb5d7b9eb30e54bab4b865cbd8a53519d3bf529a5";
-  sha512.doc = "e0d03fa23c84c8241a8b29a6a7242cb54bc6cab8a25ecdea64dcdca70606ac086de9f021045ddd103b35209af05b5e0342808a97b007c639afc40159de211ce9";
-  sha512.source = "20a12782a5fed931f92198f02408ffe39a973eda5cf95904b3b33f5fa5b7a338b419da5e985c76c57610eb82c6b428f02c2fd28f24ef381708af46974bfa0920";
+  sha512.run = "7787480f873cc2c5e08c73a14c5f2965c57425ac223de41997727765f2c3f9693242e3f11d1cfe915d712153f64b7c47795134a98b3907569a12f468afa00617";
+  sha512.doc = "fea8cec1685740fd7a14ec94e5e7944ed3408ea34c852572ba8de5d97f38efdfe8f7f622ebd0c43cb04881d97e105891e509bd9ae49b64fa41b19497107fd0d9";
+  sha512.source = "e3b8567c0d8dba6e691bc9b67ca5850a1beeea2a27185eeb1522ed99387d0dda31a0f6e9d6013253230e21897d4579f06d6e6591947e8c433ca6f9bedb293427";
   hasRunfiles = true;
   version = "0.7f";
 };
@@ -31659,20 +32537,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "tikzcodeblocks" = {
-  revision = 47265;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "709d531084b03a8bd1b645699de70a24ccd6c57050bd5d7b9697c778ea702e846adfe288983970a745b8745eeffe6acda3d0024fac65ec4e99475c736c5fc2e8";
-  sha512.doc = "26ac33c604e51ed31a5b36c174350b1860b8b01169470cc1b50ce49808f7c8d84886110299bea82e72b3a5f0c18ac0f897d879aaabad1a4712dd94af47b3b10c";
+  sha512.run = "a19ee68d5d59d936f1882bdf1de5851b9cac48debc4754025d214cc6838173fd7090631b08dd1916043520e97cd479087ad4548c991c0631856510ee912a42dc";
+  sha512.doc = "b75b6ddf66fedf1d69611ca0b817ad9c5d7c0bc162cca2f04794bc3723135032908148baf4aae1b486a0b5af9bc335b9e585943a3a2fd73ae55a0702236f5142";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.13";
 };
 "tikzducks" = {
-  revision = 53312;
+  revision = 55713;
   stripPrefix = 0;
-  sha512.run = "60a0bcb4560e294c96c3469e557c114cda5b92c6ad2b75c04d8bb7a07426f5dfb115072ff66894a75291bba786ae58d19ee5f651cc80dd1549367d5bbdee5829";
-  sha512.doc = "e7b34bbeb3372eb3ef9bc7b758ce479229b78dd3f9af72bf71bb56cccf2927bf8ca52f9bf985f2d44323754b41180197356f49d3e93ea34ad8ac2cf1adfe9e27";
+  sha512.run = "2cbde264e8621c4d7d7caa9da127139ed56d819760ccde59f9b8c098c77746414cfb8119ceaeca3e2da0f361f3fcd0d9dab1898fd240c2a2c15a64021e8b86fd";
+  sha512.doc = "73dcd9d393c852673f43e97da67a1c60330cf4e95b4fadc92a634628150fd228037dc024ed2e939441abf20f8bb761241798ded814fca5b9300b5dbe4a1f1171";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "tikzinclude" = {
   revision = 28715;
@@ -31684,12 +32562,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "tikzlings" = {
-  revision = 50841;
+  revision = 54838;
   stripPrefix = 0;
-  sha512.run = "0c7c5af85cbdc6b5146e67083a8ab5485c3d0aab78d677ad8ef53f6419530e96385542d1317da04bf783a4c94b61152ebb8fd037ad8bd0ee472531476646177c";
-  sha512.doc = "2b60d87c6925d1465588f244fdb3bee6912ebe02d89bed593caad9a8b8710b0d18a9aaef903395af9fa85207f0278054fb6a8d94b6572acdc60b30e7f8d9c6c2";
+  sha512.run = "f729a5ddd2318f78f7c18b5d22c35e31908644202d365cea821f94f0ecf32f6e1b4f48e056d7346ea825f5f39664a49590e6d70934b0e58e942a82a2908f59ed";
+  sha512.doc = "fe8d9c9da1c9f9b2561388a64e5a531fa0d716db57a1512046ea49e94c5898b0908ee7434825a8c9edbe4fc3d7245a7a9050f7a0d9e08c7a3d51c52ce4772f68";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "tikzmark" = {
   revision = 52293;
@@ -31701,10 +32579,10 @@ tl: { # no indentation
   version = "1.8";
 };
 "tikzmarmots" = {
-  revision = 49114;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "d390b922ccb3cec5b215a97586578462f83774b3dd5d3dd461f47833f1ddaf705773e4a60acf385747df6b55d6d20c495f4ffa7f1c3f2e6d480d66ab5c5b04f6";
-  sha512.doc = "4836d1d7c55ae98b26aa4968c5717457c8e2cb64d3e21f2b7298d3990ef612fb9087e64074945e24999fc302ae012e47c95a00c07e23286aae5ea7cb63fa254e";
+  sha512.run = "c2ca7c1f66d070e1249b2ed9e88cadd482353140bc3add0146d7f67ffdd8c08cc3eb4b9c59f8e2d822000554a8bcf1e0f064c96ac0e002a6c80655c5eb909f81";
+  sha512.doc = "03a4494458d7f053547952945e9ecf1c500dd3fafc665852498de05f38234c45f0972971e8278d279d36c81f2b920152f10ad1bda2c5b24e5957ad0846e77d9c";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -31715,12 +32593,20 @@ tl: { # no indentation
   sha512.doc = "676980e8772650f77ed37d545cbd4ac22af170e1a4541acbd0739f3b5c0aff91f3d48cd3b3fa3c562510c1c624f46de2218fe33a9e53532ca88ccbb929e3495b";
   hasRunfiles = true;
 };
+"tikzpackets" = {
+  revision = 55827;
+  stripPrefix = 0;
+  sha512.run = "65f07d48b37db0391081c8edeb97d59dbb7a261ad1320b3b018f14a2b4544bfad46964b82980b3135416ed75fd7f21d08df97179d1a3ae2fb55308d36e89d2cb";
+  sha512.doc = "f669d0a09de871167915f4a6647791346703abf03b557c8afa03f5d3ed81754c4d175d211850b7d6f87c2b0a1077c8559093d9743130f10ef334c10df74ddc69";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "tikzpagenodes" = {
-  revision = 27723;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "4f0d6a4270bf90aa1fa5c5a018fb8a2703a6884215672cfcdb908f7c6d4e9b3610a9f6fb6c26b7b302daaf509d635d26443c6e8944bc1f8704f94a527090319e";
-  sha512.doc = "14ad07e01c014d000a2bdd483a2dadba652cd78b42faf0ea5f9ba829ba484239361d73233443303be121dd5122b7e5e209867145b10e7607b5c6e5d13e2fb428";
-  sha512.source = "bfde76eecef7173d34cddab9ac517a4d1440aa2888007cdc62acef2dcd84e26345f86a757e1c1b6af6211c2e33e0ac656501d76e980a90fdfa970843eb7c0eb3";
+  sha512.run = "b412599ab7288cf2bbbf4d3cd08a97b2a16932fce61ee9edd1b570345da29ee30d32482bc855f6929231331e758dea2a8f8973daa19f6dbd1863840bb6753876";
+  sha512.doc = "411631a79232cc01cb918689b5fa030ca79b4c27f45419a4b06039a7a17222550a3f34a3c4e12b5168fd331987fa94ad862a6cd6b9bdd0831112e8682adbaf9b";
+  sha512.source = "5c829f01396d69dce7399844935f0a3faa4d30f4b2262aa4c1dbac2543a2d3705534a05c1e9aedde03a5061f6d6f605a1dc6cc108b037d5a74301b8569446ca2";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -31768,6 +32654,21 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "4.10c";
 };
+"tikztosvg" = {
+  revision = 56122;
+  sha512.run = "e4d2bdd9d349d954386e8aeca46f6c605a93dc204e7dded3e6a2c487d246c51a7809edeaed0178f3e1aa0e20fe698f6bcb15a4ef7584ae5fdd1debd505e2cfe8";
+  sha512.doc = "f1212dfaf6108d7ebb18d03d0e04c64e6ec370f7cc2530aad1122ecdc27fd429a0d5e9d7195aca0c9f36b445b197fd9bff5a4285047b611eba3742810adeb9cc";
+  hasRunfiles = true;
+  version = "0.1.2";
+};
+"tile-graphic" = {
+  revision = 55325;
+  stripPrefix = 0;
+  sha512.run = "b6235459600c5c8bc683c9fe778bf864f5ab3dfcc8c15afd7b997c45f349f05b57ded236daeeef1e6bbbb7e535a4f203625344a35d6e4de401c082a937090cfb";
+  sha512.doc = "c945ece6ed1b83f4fd8923dd74d0c961c907071fd5d33feda3ea514beeb8b85878dc63011ba73edd1d4a62799ee2555cafe7d4c866d55d160c7e97168ab16038";
+  sha512.source = "8334012b871abc58eb44f3b20f76d1afb2764f07be12b7122c81e5ab627a14fe2221596756868523ab8c6b11e0e7f4aba0b9740efbb221e569ab1889141b250c";
+  hasRunfiles = true;
+};
 "timbreicmc" = {
   revision = 49740;
   stripPrefix = 0;
@@ -31880,84 +32781,51 @@ tl: { # no indentation
   version = "2.1d";
 };
 "tkz-base" = {
-  revision = 53695;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "221c722b6919f8bfaae489f07ddfce6eb3e1495bbeb4ab180fb7fe5627adf1ae3c853a36eae9626959073ea07bb41642351143142ca31e089b4e5f77c6f53f22";
-  sha512.doc = "f33b074f1d45a4d01a7fe02dff39360ca2e1c9352e8989e9c024b40e8fddb3f523526c86f5f205cca0cc7b009a974a02a1213b5e4c5d038c522076a2798b84ff";
+  sha512.run = "9cba8d8d79c7cb01965660fee7913aeede3b0d2cc19bd7624982fc5854224f19f7dd2d2af0ba93c99b4f16827fb028564fcd9a1e9afed1988ce836188516f891";
+  sha512.doc = "c0393a07d50626349ff214bf8047bd6c20e14da3c036ca0ca277ce30a220bd52d2fa02cdb56d28733f9a69bd5f22d611f8b80dc130f6016cba46f4e889e0aaca";
   hasRunfiles = true;
-  version = "3.02c";
-};
-"tkz-berge" = {
-  revision = 22891;
-  stripPrefix = 0;
-  sha512.run = "f56372592ff8a7ddc3f9d778631c4ef5e06cd6e0995b35d2c16d24b046540765a41df701d830720c95cde77cc1757af99a3f51471d4b83d5311fd5695865f299";
-  sha512.doc = "b5514c49defbcc5d934266df428ad96a158803edcfd9ba23fb32080cc383ffcc32ea51a26094684094740df3a28e3137e0a26dec8792bbd60b454269312de596";
-  hasRunfiles = true;
-  version = "1.00c";
+  version = "3.06c";
 };
 "tkz-doc" = {
-  revision = 53701;
+  revision = 55265;
   stripPrefix = 0;
-  sha512.run = "b0b1c71bcfd60065200492c6ccfcf7a4e4f107c042b6ba7c52a9dcee9094d650eb85fff991c86f389a682fbf2fb583f96f03b668dc0fd959c5871904f227434c";
-  sha512.doc = "cd7d5f718c75c1c6001e01e05d980a35432297539783f479f1a6d6db4faa5141b38832f594ac1f7e54714cef1f25da028ec2bc685f96292b63946bc143bf7568";
-  hasRunfiles = true;
-  version = "1.2c";
+  sha512.run = "03f1706e638681889f5d50cad6f219c5887a1eee82408213b8406a14e6a4fa84222165df7780e10b24877fe3af0a1a750c9ac5b2f9e062e30add86343be9da07";
+  sha512.doc = "dbf27306bea25b1bd4ce945e65a2e45bafab8ea02e3f8fa14ade133fbc559cbcf767c7624a26edae402cce2ad3d61e693f0f742c8174f2d963d7128c2fc86c1c";
+  version = "1.43c";
 };
 "tkz-euclide" = {
-  revision = 53697;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "8a3809b248694681215e5e6c7349a7b063ff986942dd93a9a745c021b8a3a9e88972da9225bcba2dd30223ef13ba7cea010cfa3c4dcdd75b03a28ebb7bc4a220";
-  sha512.doc = "4a050ae4591d63eeb75cea10a8fb87e617d18af7360589cf616acc74a0ceea47713273bc0c99c243b5f35a4b00b1f61ca61ed52ef016c2fc935ed49ac2a29ffc";
+  sha512.run = "c8a0e2c6411ae844575010d0f749ede9ab818de766794d60a62aafd306aa781ce09d252183c57a8d762e6655c7e7d1c2ba35b4f169261df6d65b8ebd833b091a";
+  sha512.doc = "aa8e10477798393dac1780bfa839faa36d9eb9f16bc34ad86aeefbffffaa1810ac3642058ead46be933e359f7a9e0fd0d7894226083095056910a233f017e3d7";
   hasRunfiles = true;
-  version = "3.02c";
+  version = "3.06c";
 };
 "tkz-fct" = {
-  revision = 53696;
-  stripPrefix = 0;
-  sha512.run = "3a1b2a7a72def92fb8c44918680179fadaa69aae548b19f1a806e1b5176d4d6923a5e575e909d8c3df7aa26551b199412f1be4183199fe05ea5ce0775952df63";
-  sha512.doc = "77226e5e8a3fc289fd3063e7819918579194d34899e899e03f512481102fd3e3cf333b204e24d5805b4e310080f81ff1df9e4ff83e17980e74b8326139c37114";
-  hasRunfiles = true;
-  version = "1.2";
-};
-"tkz-graph" = {
-  revision = 48711;
+  revision = 55031;
   stripPrefix = 0;
-  sha512.run = "9a933a9925dfe8782abaa6c983881a10d20542be294f15904d1645f5481309ed00d42d3b4eb38498dd4eab84774b685455235f89462de0af443b617bd4566927";
-  sha512.doc = "ec22ca39b559b4d6f6192272470cfc748c466b5efe9f5ca00fdcf263cc172dcab5e34b059c328097479e1c03e038e71e4658fc22518cda545f9febaba2f43310";
+  sha512.run = "6defbc1265838eacb6612f87d969590db6cb2eb0a1c9316c1f52e700c7b7e576f971080538982d7adccb12af6ce7392cb6d6da13a9d3e537e5af8fc2dc290a89";
+  sha512.doc = "1cbfeac7939ba45c6111cc7cb9aeea195690cdfea8c75e488a9dac6a49b2968d21d0eff74e03fec3229afdcec92fe2841a8dbb866314187ef98a317f07e9f346";
   hasRunfiles = true;
-  version = "1.00_d";
-};
-"tkz-kiviat" = {
-  revision = 48712;
-  stripPrefix = 0;
-  sha512.run = "d1b6b4c1ecfe29397c2a63c808cc24119688782326bff3615c3e84dc22ae1bd6bdffc57761af31ef21bf3f3378806dfd087fdd24d5dbac49ec890df54ea3bcf8";
-  sha512.doc = "5ab29135b2903988727129f37496ae27a5ead3800edbe47728d7d5171d210ef7e11bf47d3a4fdd27c0c03f6e09aad8b9697acadbb959f549f5c290e66c1cab45";
-  hasRunfiles = true;
-  version = "0.1b";
-};
-"tkz-linknodes" = {
-  revision = 48713;
-  stripPrefix = 0;
-  sha512.run = "b41f40a2c27b9384c3edef8217c1224293b8a2901a0f3752c3267d911a7788e27138464b2f11634f67bca00dbfe2ed71a87fb9b3dd4dbc5f62765a022c51bcbe";
-  sha512.doc = "d4fc88cf1dcc49b6bf2292c6892c5094bc4eb6f17535dd1ac51783b9abb7312279cadc5e06e624720be756f5a0907551f4411f246cbeb6dcbb1365b891e70840";
-  hasRunfiles = true;
-  version = "1.1d";
+  version = "1.3c";
 };
 "tkz-orm" = {
-  revision = 39408;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "a90dda0186a3e3309eaabe444a7404fe2cafa1caa737f7d5ec9779eafd76f0795890f36bc4f0c5302dcff30231ccc3a8306fe318f10695e8caf00cbf61fc6e04";
-  sha512.doc = "a1686b02d79cf0af41f99faa2ac06e2a3d864b078231f4c9c165261557df0fe8f26db8159dce2a90be6206750d6fc8f3013421cb0171c1ff1f11624e634f910d";
+  sha512.run = "dba6b58f1e3063d3af6d535c2c65d3ad0fe57f0b88aeca8684192b546d79570386cdea0d23870b5ac88f38b8ea0a9899efd1be581108b43ea16044749dcf965b";
+  sha512.doc = "65ac0e7657fd78d7d496b466d6cfae3bded966249d1c90eef6df1d34041b6b7ab5be807f7de41c04d28e6903748dc874fa245bce3b19b96d2a1f0d91316235b0";
   hasRunfiles = true;
   version = "0.1.4";
 };
 "tkz-tab" = {
-  revision = 49775;
+  revision = 54940;
   stripPrefix = 0;
-  sha512.run = "c4290e2633a44122789abb3dd054cf61a1bdcece6274a43d9ce6ae403b73f0c0a32b4c1e6470278c46468d53149540f3884c6b2186b51008b0beeecc8a84b1c9";
-  sha512.doc = "08d79e8c0aeef5323112182ae60c25a8ea6547aa5ec75f37b8c5e6e15a894d1a70efbd99421140156de844d35483803c21bba0ea0ee88ca36aea55e303095d14";
+  sha512.run = "1ba023dfe79db404930546277015a9fbdfcb9165d74548cd0d0d590338656913327d949b3d35f9325a5c928fc291f3e6c6485b69b6dc753aa633460e265b389c";
+  sha512.doc = "eb941cbee957896dc19d4e7269f78a0d07d86b20cd0f0756241376da062386e3a99675b3fcd451aa153eb89668b98b486fa7d5b904a125a4e241d45b40b745ca";
   hasRunfiles = true;
-  version = "1.4e";
+  version = "2.12c";
 };
 "tlc-article" = {
   revision = 51431;
@@ -31974,17 +32842,23 @@ tl: { # no indentation
   sha512.doc = "79eead14f268eab643f676c36b20ba89828928fb3b418956277304ac6cf7145d53b4f97c30605690cddce8660361614b58ac65e8454b7740dde17ff82a053818";
 };
 "tlcockpit" = {
-  revision = 51620;
-  sha512.run = "ae7d33579b16748a75ea5c94c328bebf01074428db854e823f38fba8632a70f8a00f91d06df04e4d074e3414f5adf706b1945e0ec565f588177a2b1608a47a24";
-  sha512.doc = "ea727e465bd123458dd490fd2e0c66dbea47720eee9f3a3cdf3faca0b09e4696f8cd0c334645f306a901433de94f99a7b43c52691888702f36d369d1548aa464";
-  sha512.source = "2c965f95c45dcf0cdde077940e371c995ec1f29f01cc479fd0b5cfe3121641a1fd4e35e2ed01705461213b8669ac7b9d3ef3f6895cd1c878c1309bd8f1ec256d";
+  revision = 54857;
+  sha512.run = "50817d4c68d4e302cf0f4075ff9321bde2fd26336923efd2fb39bf097090b617a2a67ce75d1a14d562939514acb17b2a356bc388f72049dbe52a868ff3d63ffd";
+  sha512.doc = "d40cec8456db0d9fdd55b76c84b40565a8b16d7639084eaa5dbc61c3bd2ebd73fdde6f40b11007835be242a9103cdc5ecbbecb6082ad650663968db18cc1b04d";
+  sha512.source = "01a9038bab5226f57922215e6dac5acf69ba2bae866f72df1d2d4a3a6252fef78e18d1e7b2a8baf327bd4b89262abe6750b0dd1166f47868e797e50b205322a2";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
+};
+"tlmgrbasics" = {
+  revision = 56221;
+  stripPrefix = 0;
+  sha512.run = "d75c3eda16591cd7c6f3ba2e7e615a854d019ca850fa4d9428df9efe792764d885df642b65eb538b0bf6ecd9e4b5f4e41d82292647e24980b65987dfe7332ce0";
+  sha512.doc = "4f9eb5189bdc3599e3b691ae69a5bb89894b9b60c7838772a41b9784a6a33323a634ac6892f88234762219fa99665a2079df5b0127d98bb396a66844ccf8cb11";
 };
 "tlshell" = {
-  revision = 53801;
-  sha512.run = "1b8c40f2b6c4fb0a106c28f217dee218069942750c8302b936b89c2e1fd28030370e0d6a2ffe91789f9fee8175fac3384aa4b48a581d9edf1480db3b509fe441";
-  sha512.doc = "73d2770e5d28040995db376495938224e8fc4b9b986171f4d39df3557e0d1b99982436bbb6f687f329b533da30534240c8a892580bdfe13fcd22b3058f7b9e6b";
+  revision = 56461;
+  sha512.run = "8223b473aa8b02c1bc0b7552d3d023f3629aaaf807699f41c723191a5dacb3cb62165eed5562eaba6ea67a8b22baa0736b7a281c5c1a69d7577b435ef5d37fed";
+  sha512.doc = "3a15c4464ee8d5dddcc30882573d0069e93884a52f3ef24a3b7fe8f273db256cfb7f7bc87f7b68e266ed9840127cd0eb65a98a2e2554f4da470cbaf198d4e481";
   hasRunfiles = true;
 };
 "tocbibind" = {
@@ -31997,13 +32871,13 @@ tl: { # no indentation
   version = "1.5k";
 };
 "tocdata" = {
-  revision = 51654;
+  revision = 55852;
   stripPrefix = 0;
-  sha512.run = "81c64d55b33ac9c22abcbdd3ab683248c3ea12e21866de0f2d36c44434729cc8a32526e0f28bc0e945edfca5eca74dec78acf9c8e8439d1e7a3d28cc13c5a260";
-  sha512.doc = "4616b125dbeb9458811ec7ecdf13a1f3750c5bad9670bb3f556b62ec084f1af17cc2b91a8e821fcda48b660ef0a14911a86be367297bbcc13d1c5c8cfb4a09da";
-  sha512.source = "d1d6adea1bee82b6b66d098edae5e29c714797fa52c0c7017919c7765111fc185d30fa3d3495e81611642ad51d9bc4eea2706ccb0bee2ce6fb7ebbb8a71b087b";
+  sha512.run = "d09c92d7be720882d53799e8ed8b392e8ce20f1ed78ec995918dbae80fe99e58b3d6b74264f5cf47c146b6f2adf779c97f5e4f98060bd704faf58959c7ce1dd7";
+  sha512.doc = "a67eb751bced4bf18dd734a7643923062f30d1dd43e1ced5f161312950d4313eb2187cb1e85cd16835ece11907bbb58bdadb0e922aded123c5d024e390b035e8";
+  sha512.source = "4ed7570fe98eff95fea9f9bd30b772a45fb38f83f1bfe56e353b4531f65b06cb859fef310310654acf42ecb29dd78c78042971ff7957480962d86a4307c2a7f1";
   hasRunfiles = true;
-  version = "2.03";
+  version = "2.04";
 };
 "tocloft" = {
   revision = 53364;
@@ -32033,25 +32907,25 @@ tl: { # no indentation
   version = "2.142";
 };
 "todonotes" = {
-  revision = 52662;
+  revision = 56166;
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
   deps."tools" = tl."tools";
   deps."xcolor" = tl."xcolor";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "07f532c8f96b04585b68f54a9092463a829e4f3aa440142a3d2589597d96e2c83568cface4e59e44d92a64ed909bd817e0e3467638d6e4c4015a6f9d30f2f6d6";
-  sha512.doc = "31ed8f25d274f1b7fc4ead8f2c43a1d30749c7e440a13f72dff07cb0668eda139335e517e60dba5f1ba8006abdbb92f2742f2012e3207e932352d6e7d3067240";
-  sha512.source = "00ec1e48e07f8f283d1ff3db8bdfe55d0ab0c03a7e117db584cbb22103eca7e59af684477a8adf552faaaa018e35681e258cb1ed970e189c960ab4caa0cfae39";
+  sha512.run = "a58ea15caf11a535b1d01114160f28a5df0c81677939355caef22b1639053b2dd4ec716a2a67a6342565e50ad7681d660a84b391fdb8c34278ef0dac3cfcda99";
+  sha512.doc = "89308d95e71809a7ccdbf0f425b536e975fd1f86b04ec5cce041f3f61420a37ddd0863df9ebab2f714e8411649a848d59bfaa2951a62bb47ec875382b31145ff";
+  sha512.source = "d4241c1f94390d8c2d4a166b5bbafda1e93338a4da82c72581ef2d488b41699040255d775b26289183a7848081d5fbcf27233e735a5fcc1c29a35feedf70ebb4";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "1.1.3";
 };
 "tokcycle" = {
-  revision = 53755;
+  revision = 56501;
   stripPrefix = 0;
-  sha512.run = "1d4186f5f12468cebdee8418925cd3b3ce4d987bc70bf268efa566f3b65b3eaeeea964085453beff9bc3950c67850fc3f37d2b6b5ed0dd14cc2f01cb569a42b6";
-  sha512.doc = "d08da1c1d6d4d42ba3bb6a866327c4deab6dd359130b9e795f08ff9bc3ea0e5ceca8fba74044d298e38ef54e1ed497245687a124c9cec49e2cce4140e1a8264d";
+  sha512.run = "178c3662fc43da7e76202b2b091de9f198dd5b718aff35caee426a170328fd1f616b7798c7bcbb1c67da836c8e5542b6ef38903c750a6451e038e8761af78858";
+  sha512.doc = "c5ed031ff3d6bc21e43588f8da65449d1bc17b73b1e29cf6553a2c38f50baffb521b92171b2c3a0f48d6822687d81914c69afc0ca3b1c4e5fa110382937e80da";
   hasRunfiles = true;
-  version = "1.12";
+  version = "1.2";
 };
 "tokenizer" = {
   revision = 15878;
@@ -32071,11 +32945,11 @@ tl: { # no indentation
   version = "5.1";
 };
 "tools" = {
-  revision = 53640;
+  revision = 56514;
   stripPrefix = 0;
-  sha512.run = "1d3386bd098381e0ede5ff0c6cb107867719a54a8109208a1de448881e172265a000d91c6e7d0607af62de0504913e4698f5ee00a710b5dc32a8157faed094d5";
-  sha512.doc = "e0e7d9bd37f2268f7496b66b69fbc520413f74f67356319ec61c1c6c2523f0fa84d7ea4d78f0a9b0875d820c3514ae0c5871d4785df992ac345238e6f5af8a3a";
-  sha512.source = "57d12bcc8b51f349a45392c7a7b24d2ba52a5ee05f84bf7d70b1bc7e384e4b09b0733a23a0704f5a564dd812401dd851ecd6294201bb83a42b0bc73f7ccb889b";
+  sha512.run = "2598798421318513c028a6bcd9be4eea18b7cf8fcf20444d860b2954d81895cfbe9e8700fa3cd052fcb50353cb1bd926a047026d8fb07e48aced5d8338a6e464";
+  sha512.doc = "90d85bb6e877d8d8b1ece806e62c6179ecbbbda3497c4c4f16b67989448d1d2179c50c475a1dfe57bf085ee30fcc09a962586dc089565dfd0715b8fa4eab608d";
+  sha512.source = "aca34a4532b188cef91484f36b05488a627582882f56d48b35020872c48dffdf3cd3be9ca8c6073c45db564cdf390b80689cefbb12c5eaf2370deb75646006ed";
   hasRunfiles = true;
 };
 "topfloat" = {
@@ -32086,12 +32960,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "topiclongtable" = {
-  revision = 51601;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "ed6bed14ed748cc3957746f65319c827f94745c6c99c896048362944f4ea96e54cdbc732d2f9324f472872a4111aa18c44ad17f035c5cc5beafcf1ca900b2ef8";
-  sha512.doc = "f227c659e27d138d848b78fa43fe26792affa4181984de42eb17bf636d9777185fc0838fc617f4aac8142f3a611e65f01547e48a2a18e2ddad1d3363cdd0034c";
+  sha512.run = "3bd1bc743191a644cf9dbdd36890929003adfd8bc68372ff74882b3b37f2cbdfcd007222fbaadf4d73b5b1f919e1491edf8c25e9c69993be367d3816d06a6b12";
+  sha512.doc = "c837a90b1c13f194d4bd41d1ef91e994c4027443169588622bab2613b57cc86c6a29b81178f257c2a6b36ea65c89e1b66791ed137c2b5c144deea8c7cb987a17";
   hasRunfiles = true;
-  version = "1.3.1";
+  version = "1.3.2";
 };
 "topletter" = {
   revision = 48182;
@@ -32103,13 +32977,22 @@ tl: { # no indentation
   version = "0.3.0";
 };
 "toptesi" = {
-  revision = 51743;
+  revision = 56276;
   stripPrefix = 0;
-  sha512.run = "13176c395de6e5e6e52e21cc298ed5aabf0a68d42d90119bb1bbf9b85f99c26faa3e78f64f99ab9717d506950d22338b9df2094db0f503f50871e09d2b45a085";
-  sha512.doc = "ca06bdd003084fa8bc11680f5d13ae6f0b333e81ac1ea57ef37959cb5c54933621c00f86ab2fe990b327198f28218eb60b1595fa50511c48625e35a9fa5c92e5";
-  sha512.source = "51445c7c0c8213f3df42abe6b60f740ccf30952e22e1a9f1f0e852f98c56ef1f34060fd8ca3a64bb8cdd512d10a3da8912a1db00b3d0b0c5fe78d30e42258d81";
+  sha512.run = "be7a920e195b9ffd3fcfc0bbe1647d1b47fb98743ec69ea9b23783f052d9c10c26acdea42d4d2c7501bd57d3853f53642a5328a1c6954294a2cd38d8aeeaaac2";
+  sha512.doc = "7dd70306861e8528cd4c645893a3cb81c20a6f82db2237e595573226c77f8df71ecfa57909b9675e19e441301fecf38f1b1c4bb7b4ed2705a4e132d4bf19b436";
+  sha512.source = "f127b3ece0428207e503bf2f9258da2c4128b524069c45c4d7b188ac06ef52527d04020a8f002c72a878a9cf5caa358323e5db9e0b65c46d6fafadc657ec014f";
   hasRunfiles = true;
-  version = "6.3.06";
+  version = "6.4.06";
+};
+"totalcount" = {
+  revision = 56214;
+  stripPrefix = 0;
+  sha512.run = "77d12ae2b41ccc54e88338c47cd8071bcbbb130901cd383a8ab976147c510c52c437e722939882aad859d1bc58f52b7a698033a695ce10551f86874dcd58d425";
+  sha512.doc = "1be9ee133e33a859d9dfc91102dfc4511211eee462a0eb9ab2b5610a342d949cff0a883656afa8a1ff0c0d7088a94391c2f5c60894644f3985b9e916ef9df221";
+  sha512.source = "bb5d5a15c2ce9cf51fc777808ecf0e551a10b1b709786d45cc25276eb787b44a54ebb217c122b170d01f72a393bf5343173d3d94e5e46194e758141e436c2f1f";
+  hasRunfiles = true;
+  version = "1.0a";
 };
 "totcount" = {
   revision = 21178;
@@ -32153,11 +33036,11 @@ tl: { # no indentation
   version = "2.1";
 };
 "tracklang" = {
-  revision = 52991;
+  revision = 55707;
   stripPrefix = 0;
-  sha512.run = "bf1126910a73aa2df406a596760802da334c0bdb451e9062cdad2fd80a29386c42b3deac4af1624741868e9de12bf7f1b3e94e79f48b291a6f062503f5161611";
-  sha512.doc = "72808d7fa6340d535db4aeeeda6e07dfb3bd29d910c13442722d2f8cfc0e19e446ba23eec098bbce505438352e2514aaf6411c72893d85fc960a7ce9c35c7203";
-  sha512.source = "b00242d2ff6f8e140431ca11df4db810fd0a24c6eca292ff700db8cc738771e6f0c9a3a33bfd34db23150b6e5cfae2e1dccb1c7d425656d2a1c8dd7822b210a1";
+  sha512.run = "6f33892886257274d3011b1d8e84d325477b75d6f151b1cd5223d456fdb1e5983146a20106fa19f3750b5898e24400a33e22de0571c9c301c3c0f6c0a1163e5f";
+  sha512.doc = "ff9bea1f499fe4ded275556e201be9259a6ee6512abe0a7665face275906fe77519114d77ca401299ed40d7c5b1175844c6464743c4b207ffb9e60cc416869c2";
+  sha512.source = "3221cb4b57e1a8d501648612e310107b55a002703855b338c92bfd758bf923b22e461d18bfd33d9e81717d7bfba3965fdd3eaef6f113353efc31337d3409d6d7";
   hasRunfiles = true;
   version = "1.4";
 };
@@ -32191,11 +33074,11 @@ tl: { # no indentation
   sha512.doc = "58773adb7493e6ef31d8fd3854a51cd37921dd331f56f1d9eab5283c121fa8c3316ffc41242356a87af04bb6da68761ea15829e5e8555d2e6cdbb68833c8d313";
 };
 "translation-biblatex-de" = {
-  revision = 45592;
+  revision = 56307;
   stripPrefix = 0;
-  sha512.run = "3968a37e0add02d6e31ad49b3a263ec35651c960d7132d1ecfa418888a51444430e8d6ffe4a92fd35ab3904ce6a7aa686085b412117cb282b7e2867a701625c0";
-  sha512.doc = "8f945fd3a4a63ef8e0e6e979bd530f1d13d11eca7490697d0c94dbd43ab7e6608e3801539ccaa47c48c81c52e27a14587f4a48887ceff524a6e188cd80b551a4";
-  version = "3.0";
+  sha512.run = "f24acaa5c5f71bfc56b737f511943e4747f3f116d3e551d3cf554b90c61df189163f560d2f7200bb41b3b20396e4692679fdba003df06a67a681af68583e5d11";
+  sha512.doc = "13901d1431a6e50da9987999277f37a4eb1c4ff86cf33ffed32890ea06a8cfc5beb3581b8ceae48f21f6cd6c2e8f2c318241c6620fcac2cc7c08a633547af8c3";
+  version = "3.15";
 };
 "translation-chemsym-de" = {
   revision = 23804;
@@ -32252,20 +33135,20 @@ tl: { # no indentation
   sha512.doc = "ae2f1aa60162512287f15c770a465c2e39abe1fa5d1223d96c524dc81bf065d62f307893d22dfc06fc50da8d63d817ed60c8f07fd4fede984b6febe9c8b7b710";
 };
 "translations" = {
-  revision = 53962;
+  revision = 54929;
   stripPrefix = 0;
-  sha512.run = "c4f55be467d87f49a0e65729769846afbffcca6e8b3611897d185ddccfbde7773d7c1e7591d4e67d234c2eb025a6e8774b22478e35ad83a550bec2854253cb7a";
-  sha512.doc = "e964c0af6f855b32a3ded46616325876f3a132db9b6afb1d885730d05d958750eb2014291eef21949a11e4850b91e84b02f45bd7d4d86ac3069ef32960ab7243";
+  sha512.run = "266840c17d98e67173b6d30c33ad5a8f281198f214174e63a741e53f0b52a92ff91e577dbe4075125dec5373dfaf95d8bd583fa20992d3d971f4e37f90928574";
+  sha512.doc = "4dc935b51f06489f68602e91a7c67875cbc1ce4f3bb91158160057f9b6b2528272d8e9258fa6f9a2cd8729acf60e20cba855239a4b3a6a67a9aef1831f7c0263";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.8b";
 };
 "translator" = {
-  revision = 51279;
+  revision = 56052;
   stripPrefix = 0;
-  sha512.run = "6105a57724bb880dd4b2166c052aa58abac70fe9cda70db2941195cbb0fd2fd874c8ca1f1b658bcd52f3f00ade88683d2f0f86baca8ed68702caa18c5e2d5e57";
-  sha512.doc = "64547f60b7d6b99ad04fec07d9047282444f5c407accf49955002e74bec2b00b34ec8ea639eeeb9036f90a27460f926c0e400b3f27cf1e31b8d9b343370759b6";
+  sha512.run = "87eb30409270c63236f5933a52d7815b529a4aca0d7ecc2cb7cb69199d0597684cd48e25b2f00be80024f734d2f4067650adf457ef942aa8477359a6be20d886";
+  sha512.doc = "9fcaef407ea8149e35eb4ae2d4ea30a3a865ed31992bc9ed4e046059d93445db32a912e05698825df1c720903fdbadf4550d6fba7ab38990ca85d6dcb078fbea";
   hasRunfiles = true;
-  version = "1.12a";
+  version = "1.12c";
 };
 "transparent" = {
   revision = 52981;
@@ -32350,9 +33233,9 @@ tl: { # no indentation
   version = "1.0";
 };
 "ttfutils" = {
-  revision = 52851;
-  sha512.run = "9a473a7b6699ec81ce580c978a2a8987e6ecd3109db797d145f4fac3b6b3bda407fcbb2ff5c59eb6c8a2397757a2e241f1226058bb5982174b9517143d8ad0ae";
-  sha512.doc = "01a263779915465fa1dfc7461e536b606d1ca26801bf663af297c39292e2d554d559c43d748ce736c921326f296943bf98cda97f01ddbd2044b41c7084ba4d74";
+  revision = 54074;
+  sha512.run = "fac5e1ef63bc3ac2a3cad68acde66c6b9d43e239e2703963a16f1ca02eb25cc16b486df63d1c1d627f39c52fce361a3a264984ebe1ae5e7cac5147e11d9d607f";
+  sha512.doc = "5a696ea01810734e8325c32d8b0e15d3a718a433dcc99ea1b176ac41243a67965ce540ed6eeb39788c9db721a9c19ddf61035393ad4082d4b245b96d34b4a14d";
   hasRunfiles = true;
 };
 "tucv" = {
@@ -32365,60 +33248,59 @@ tl: { # no indentation
   version = "1.0";
 };
 "tuda-ci" = {
-  revision = 53749;
+  revision = 56594;
   stripPrefix = 0;
-  sha512.run = "2c53d5c65a56737a994b9463b18d81a96261f069bc94396e774986a42adabd0f75041265ea579dadc042b07046940f36f1c73600a8bb84956251a391e7215caf";
-  sha512.doc = "367fdde6b250fe609e02002bb35af92eb67c52b4234837a69bfeefb2f998f6563b1ecacb51078b5c5757da1c260fe30d57c323b6cb88af66c83e54dd26122b8e";
+  sha512.run = "9b91e0cf986b2ad57eb481dcfaeb4dd6458ea0080fb426bc62e1d0b7a19d06f7136bd97ac7627de54b23dc1bd43e6ca2907743e2a6d71b6771d70e8f2e182a24";
+  sha512.doc = "56a10a7b200ad240c1721a7208ab814f9063fa2d6e676138410080fa58082b043486aaa89d7289c1ea7acdcc35465214e1f10fc3dbe9b98e0a7544bb885530c7";
   hasRunfiles = true;
-  version = "2.08";
+  version = "3.04";
 };
 "tudscr" = {
-  revision = 53404;
+  revision = 56481;
   stripPrefix = 0;
-  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."environ" = tl."environ";
+  deps."etoolbox" = tl."etoolbox";
   deps."geometry" = tl."geometry";
   deps."graphics" = tl."graphics";
+  deps."greek-inputenc" = tl."greek-inputenc";
+  deps."iwona" = tl."iwona";
+  deps."koma-script" = tl."koma-script";
+  deps."mathastext" = tl."mathastext";
+  deps."mweights" = tl."mweights";
+  deps."oberdiek" = tl."oberdiek";
+  deps."opensans" = tl."opensans";
+  deps."trimspaces" = tl."trimspaces";
   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 = "19ba4e0ce18b714fd62b81b030c58ed81781fcd199cb5df8c6d258a85fab3246295d662cb058b7bc0a413b5a202c5c459db7b7d450bfc3f5223e8a8b18d22074";
-  sha512.doc = "27ce6918d35adf0c788830c3a872b7cc3efc8be2e8485a8a33909d4ac32a2b4d4da41a7e278e9640b4b4128d53c196cf85e832c9a49eaa93452af0b958642afc";
-  sha512.source = "9bd2c55f4844028af2fef3122e2ae355d18d5c64b11028ab5d6ecbc69817a9fa27f03cbd179755f195c5ff8fcce90be57122e18bc78a910c40b99cee612f1d92";
+  sha512.run = "bb58cf1988e3660e3bf684f6f9025e87abc4c1c95dcfe88cc1540381362c4d0ea5eea70971d1937a0257afee850ec9ce6b7b52518ac0f3aaa14c1e04e03b81c7";
+  sha512.doc = "b587fe479e1efce354398bf723cffabbcc8c07bc24106bf720186fcc66a091b2ba318a0d21c6755437b0e949621805f6b53f536a5e1fb4cf21bd4d3fb983138e";
+  sha512.source = "cfb0a8a6dc094989149386b545ebd1d52303aca0a7ab71c21775d288362321adc08662ba0c06b0da683b67ec667d73ffc3fc1bf473196ef03d6f380ea83201eb";
   hasRunfiles = true;
-  version = "2.06f";
+  version = "2.06j";
 };
 "tufte-latex" = {
   revision = 37649;
   stripPrefix = 0;
-  deps."xifthen" = tl."xifthen";
-  deps."ifmtarg" = tl."ifmtarg";
   deps."changepage" = tl."changepage";
+  deps."ifmtarg" = tl."ifmtarg";
   deps."paralist" = tl."paralist";
-  deps."sauerj" = tl."sauerj";
   deps."placeins" = tl."placeins";
+  deps."sauerj" = tl."sauerj";
+  deps."xifthen" = tl."xifthen";
   sha512.run = "6dd01a5a6faf37439ca9aab23534f99050b84bfac16df48545417ee03e72700344c25b2de3262e8e28406da705d50296473a815fa14b701c609b3715f01405d1";
   sha512.doc = "11ac57e79a05db644235b6db851473c75d1538a1261d7022a63d9ab0cc54486cc13b7cc95c44d16912952e46bc9264c1bfb831a728b51a03495d01f1963410d3";
   hasRunfiles = true;
   version = "3.5.2";
 };
 "tugboat" = {
-  revision = 52724;
+  revision = 54261;
   stripPrefix = 0;
-  sha512.run = "80eb6a023427f10c86ab97df7903e650f3b670b2a2aabb806e44735895156614cbc92e911f6fcd546ad90a2d8574abc187ccd7afc4ba8709f2b0dc496fc38a13";
-  sha512.doc = "3ebd5c7419fb6148eefe10d0704172f752065eb6e04b65e784a98b24d7f35a7f4de40c527b86ebb2f571047b62f2960600535a0f7e1174bfc9b8d27fbac0ab09";
-  sha512.source = "5d31d27e77211c2d35236894afe28088a4acb92deeb716f226dcb2e0fe3ebe515088fc97811b8e648177882f23e546fa237b56c34792885367cef5c3ce85f4ef";
+  sha512.run = "1365beb024d47ea6875839920a1b74c53ed29e835937573dc179359a6f02bcb28f46b901e47a2b7b8541ae076b2fae7d98c760d1cc93897648a0d7014ea097ff";
+  sha512.doc = "6b4dd305ef9b9d2cf870ad2096be6c6733e094f98c7e12f19eea4197fcdb84343a6b79ddf57ab4edc9585709d09d000f438e17e8779c1f1bc4012ec13f3bfcbd";
+  sha512.source = "086926280261fc8bfc994c33acfef8855d8ad55130fc4883960cea6071c81b2ce5928b5550e9c220dc42f2ab7b03097bc78cdbc900168534b72180ddec0bb1cb";
   hasRunfiles = true;
-  version = "2.22";
+  version = "2.23";
 };
 "tugboat-plain" = {
   revision = 51373;
@@ -32445,10 +33327,10 @@ tl: { # no indentation
   version = "0.1.0";
 };
 "turabian-formatting" = {
-  revision = 48330;
+  revision = 54436;
   stripPrefix = 0;
-  sha512.run = "7a6027cb84a6f2e2990d171aeb1e4cf528038f2dfa4f8bcd59f4775aecefd1a9e3d3dc36e9a7fa1904a9e42da1cea8b7843482ff8dbf00fef6666588f7b7c31d";
-  sha512.doc = "38d89482b53a8daec33e19fa9f6c782e42b61586ba96e7cdc91bfc839dc734352dd5abf9d3146c4eeadca5921d7a85189481393f0691ea5a9917547e1e7a1f3a";
+  sha512.run = "fc69f04575e92fac317143d7c89f7b9bd0502e555aedbfa59da946b211da6af51197a9a8c40ae6ff3a0a7dbd7e61f022e8e1c70618b8ba0c1e0ba462e92d7976";
+  sha512.doc = "5d01b23d7cdee5a8b45990f7fc8a1db9cf347d1788d14171cf31500b122b4def4706ae5529795a861fb520dde4972e7d25741b23f391938d0dafe42c40d42e87";
   hasRunfiles = true;
 };
 "turkmen" = {
@@ -32478,12 +33360,12 @@ tl: { # no indentation
   version = "1.3a";
 };
 "twemoji-colr" = {
-  revision = 53908;
+  revision = 55675;
   stripPrefix = 0;
-  sha512.run = "affbbf8529468cb034c42328a8c9226c8c4ad6213f087f20ae69e9d2631bdcecc826c3c7f12d63a46df798af99d896b114383adaabd720eb9821365a324ddb26";
-  sha512.doc = "32d51e15047a6b171987e7a4ae61b90d7280a5de80ea8b9859c7cee967869891fe1a21beb3676a04eaad317c441be5e8582697efffc5135e5363e071a162d656";
+  sha512.run = "0de16660597961e0a221924b8cf453f1e81c837f44d1f7c662b55e29839f1a0d5c105696140a445772d9c8b1714850d2b3618aedb757404dedbec46c1a212c37";
+  sha512.doc = "07e7485b6201d63954161e898f6f25cdc6f26332f6f7e9ee1b29c88e02a1b048fe22721bc3ce856d66ca255a1058cf080df86d333720c92af13a52eb7f2bfb6d";
   hasRunfiles = true;
-  version = "0.5.0";
+  version = "0.5.1";
 };
 "twoinone" = {
   revision = 17024;
@@ -32509,11 +33391,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "txfontsb" = {
-  revision = 52754;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "cbe87a0540b2bf74ffe26e54f744e9e705beed6711e688380000115154a79f2520257109bc929b747f6f3ebd84577335278301289d65eb0f427258a7e2035384";
-  sha512.doc = "e71808976ca1f15a6d839f251a75a9ee71c3763daa9e36dfe08dc0d8deb8b13841eb9c0aa423879c7c245faf4acb288aaf2d53506ab312993bd42f7109d8a7eb";
-  sha512.source = "a4a9dfff6b19d91b1898203b1b167b1c31711be579a6dd61e9f2e7924b239364fbcff491037363c24332a5bd1989c30b2801445eeb2ca633339d9285f36b2348";
+  sha512.run = "7b73b199b6d1f109b14154ff659089b2f3c36feaad10c26fdca80f5c4ab464f8a52fdd52a6191a89538661a3a9cac8fc45748cddd09b6e32e79f23db9e8586e9";
+  sha512.doc = "982d29750320bc1709ff8329effb3f7bedc6ded888a537aeb7f080c6fc37414956b1b1e149225cea3f3a60982575fbc943433cd4f9cc5e5d61c596973c07b3ed";
+  sha512.source = "f9e4d922abced380458f9fbb25c25a55d55e3a4b938c612bde03c0dd60d55573735816acd745c2785356e5956078615ada3c1396148f8d84a6ba9a805f4ae0fa";
   hasRunfiles = true;
   version = "1.1.1";
 };
@@ -32708,13 +33590,13 @@ tl: { # no indentation
   version = "3.2";
 };
 "udesoftec" = {
-  revision = 47164;
+  revision = 54215;
   stripPrefix = 0;
-  sha512.run = "668c96da10c6fa73d9739e00e0144d20fcfe1677417f648c205fa0fd49eae7ce9d5460e30f2002c39791a41e7db19d8ac004b4bb0d4c44c230ae1ab1ba884719";
-  sha512.doc = "fe902d88de4e7e98a5416bfcd67529d860ee85733ad9f76e8ad2112fb2ec071c2fb26d786e88abf8fe8c8f7d7e199a4f0c15f728aa1c117bfff7e32941e677d7";
-  sha512.source = "a964bb8d9dc2e10155b73121c062cb101108c94def892aeacf166bd739c64cebbf5132e2b94c5cb8f4e377b94005fb8f90b5a2a4bae4f9c5dee5a6551e821f9d";
+  sha512.run = "08bde26b542ccd94f158fefd864326c62337b319284e3c8ba48b55266556ca060fd3210b94aee23462040751b9b3c1c6d73ad26c51c8f3da0eb174859be46671";
+  sha512.doc = "228273cec6e39c3d6991f1fbdeead2cd77ab9a11c03d3dd0dfec2228c37b6eb6cfda3af14a103d4ecbeb0a1898db6d6833d2aebeb704c9a5a411df8693ecea25";
+  sha512.source = "5aa42d2e73d7fd8d113aa83872419ec8f78d5416f9fc008472b612415121628d91a5a445de356c6a0bbfb8c1d6086866604bb12b6819d2658bc31a36a36f4a91";
   hasRunfiles = true;
-  version = "1.6.2";
+  version = "1.6.6";
 };
 "uebungsblatt" = {
   revision = 15878;
@@ -32925,17 +33807,17 @@ tl: { # no indentation
   version = "1.0l";
 };
 "unfonts-core" = {
-  revision = 49455;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "5b405d4d77d15392ce5c90e9b50b6ab68309fdff67313af2749ff0865f46ba02a40e4850a690f69834f0b6a7c7e7ac33d3d422a9b241586433718f82de31bc30";
-  sha512.doc = "aabc766497c311a943f0a269d5822a44ab6baab6c8a82fddecf0b53010d794173d417f46fa6c073d2db453540a76866dd2265daea5879ec8c0ffdcd936d29a41";
+  sha512.run = "5476421a802ec3daa8fcb8354924ffb090aa9ea337db315c813637fafa445ef82601edc61cb7aa424bd7e2deee7607902ed33f0cfe70c214901d4c52dfcff6c5";
+  sha512.doc = "8f51172be1093ff9da6ebb7071f5fea435e2bdace5619faa24ebdef52b3e34197d91b8f9d302844d4e1377a2a4712247743172afcd4b01367e9f166bd76112fd";
   hasRunfiles = true;
 };
 "unfonts-extra" = {
-  revision = 44465;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "ba57b43a7df5d1f9565a08e0a0588d9a3ac9702041763ee663dc8c906279f32c363a88e1c1be098e0d4e9b26550121e686cbb6fc6b0256bb91535a4a1b12a083";
-  sha512.doc = "5fdc1ebd1d939ba99d4bb11c2d89128a97adaa4a0696abbc7517ab55ce39b87e7e7801e7a30b93c1f95e92bacd7d862144191f0ef542561816f6d1b84e9a7131";
+  sha512.run = "9cf9a73ba3c2190da7999c3b770e92d8afb43c640d651173c126e930155e9f87f371392accd4eadae8922ee846a5e02c0eeab845561dea943b34b185164bba3c";
+  sha512.doc = "6173d49bb64c9b162763ff08af445e518fa650fcc13e02f5c72454d335285d9c82347cf79f945fae94429f3a9d15f9c9b58ff1d175c8f59ea7b75766cd279303";
   hasRunfiles = true;
 };
 "uni-wtal-ger" = {
@@ -32955,10 +33837,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "unicode-alphabets" = {
-  revision = 51712;
+  revision = 54236;
   stripPrefix = 0;
-  sha512.run = "281c7fc8b290aeb264bfad6e69a7e6b00636a58b15a29129c7c7003292d4b13570964600e8040ccecc1272747b9b84d36f8d5210c231a108fe22f9c79882800f";
-  sha512.doc = "f8297f2386bea8975ebb27a73044ed464077dcd7620bf7adfe70a3d07e8814c8da28af12d05a7192e883b9d2f179be3a928bccd77e557a4deec9c545f2f035d3";
+  sha512.run = "e75df935a1a0895f5bda9854042a38c92627240f1318bdeb1e39428f50133dbe0b606e66b1bea6f73681fb40ed73220c5e26a60eb4ad10b6106c3e16d778e4be";
+  sha512.doc = "317ddd08268f38c197136d2755fa00738270a1e179eb8ea92ada50edc69da61fff17359f38fe33afa1e30fafff23117bf98895b9218bffb7b2242099d5f5aefd";
   hasRunfiles = true;
 };
 "unicode-bidi" = {
@@ -32970,21 +33852,21 @@ tl: { # no indentation
   version = "0.01";
 };
 "unicode-data" = {
-  revision = 52961;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "6502cb2f4251101727d9d9708450a47d46ace34bda50b6d760fb6ca3605317e948ad2b47d3fb4ac1349e55460a75a99a1aa56c59a444945c220ed8fe55c3c631";
-  sha512.doc = "6f8214ee77f098dff74941ba472d8115c64953f3f925222c6bb1fe756ab07a5ff4ca44ef2cb1515241f46d572c9d67df96ccc461f4923471edd17979604d83da";
+  sha512.run = "ed05f1e6d7bdcaa1af1f4de575ca7e8495bdcb4682368e4e014a0d44dacb5c3221e66a3b73d946d1a7c5c3f3e36ad3b2d78d6f3d0e35affe926dfcb80f2a22f2";
+  sha512.doc = "42511daaa2e1f7f9aa5cbcd12091dabbf8d6d4a030ec6808d06dd43d6c9c1b74684207f99ed6e87a5f279c73d3d76d5c65a150b0e7a4aa252e8118f512ddc3eb";
   hasRunfiles = true;
-  version = "1.11";
+  version = "1.13";
 };
 "unicode-math" = {
-  revision = 53609;
+  revision = 56594;
   stripPrefix = 0;
   deps."fontspec" = tl."fontspec";
   deps."lm-math" = tl."lm-math";
-  sha512.run = "7ed199c32680ae776c6367cc5d4d1c34826d6652ee50aa16f7952151b339d07809186c93a939f945d7166002ada059b3f02f54fdf5770b0b1cc50c6144d840ca";
-  sha512.doc = "47051682a03bd91a9e9d6861239baca8c0f34b0e2b1b94a4a1e4100a522c639712fd9cdebf4ab7be1b2d09e90ed6ca2335b4bce0233a8e047dbe5090493fbecb";
-  sha512.source = "b041007d75ea2bbcbe5e13c6797f3dbfed5bb7035ec8f9d4b3116304dc8a443fafdea6d31f957a6b57e2f9f3802ad9781fbbafc7b78404bfabee61925d2b87d9";
+  sha512.run = "f3682781aac853ae96d7f09131cb102832c16d6554a070da6c6a499c7e7cfee90f05ffaee0e30e6b2e2e1c9d7d7f0fa285b6912ec95f4ad318df3dc1f529b23b";
+  sha512.doc = "ac7d2dbb883098b9ace6a1a99af61afa2498e7ee3e02131e4aef41eae6585061f04c181c0d73f23e126f8f2a5fa6f5ea6475af8ce6ccc1d9ccf8d2b82a22b1d4";
+  sha512.source = "13ae4f09246d2a4ea4f2595247a1b56955a905beb026dc78da37c07583388db387f66e574f1513ba89375f9e2e0ec1be0b65ad38e0364dd05404a7aed895bc2c";
   hasRunfiles = true;
   version = "0.8q";
 };
@@ -33013,6 +33895,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.92";
 };
+"unitconv" = {
+  revision = 55060;
+  stripPrefix = 0;
+  sha512.run = "2d1b66ee4ea2cc4bbdf18c5fb88a3f6c2ec438361d3e1cb058f9c3cde3272e40d471b48ec24749ab8fb714eca4b2f6e311c7af951744edcd04154c0f016ca1e6";
+  sha512.doc = "f01593365b13c8447c6a0ca34027956c9eba7daf4921e5fc5815fead966916b70ba5d6429ab068b3f0bbe98dcec903a59fcd6982d41769b6ad5dc0db86d7b60c";
+  hasRunfiles = true;
+  version = "0.01";
+};
+"unitipa" = {
+  revision = 56414;
+  stripPrefix = 0;
+  sha512.run = "fd3c245f267e62d56f84a49fe3ac78892051f34eb769e0cb395545be6f1af4687823e6a47493d1010bc3068fee199ffc77a57b571e68ff384e18bd632fadd35c";
+  sha512.doc = "778d76bb6487ddf7ca9ced6c76ce8d508eb74eb2bc5b81d7b62c82e03f04d54577bf59995691bcda60883ebd7f3440b28f4612ff775ff651d77702aa8a92dec4";
+  sha512.source = "87e7ab3361cd5e003a823171a1aaa47b3e3dc70efd9f8ea79278c628ac422fc302df00ce85f2613dcd2f5b005aab0c8596d9ab37e3ec7f1ba1d50f6295d03858";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "unitn-bimrep" = {
   revision = 45581;
   stripPrefix = 0;
@@ -33055,12 +33954,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "univie-ling" = {
-  revision = 49785;
+  revision = 55664;
   stripPrefix = 0;
-  sha512.run = "33cb5fbb0b8cf2a5a49bfab100c584155a965bd1304a8f16e78ea3c5e5007e43580f3839367cfed28e6f20e8e6f653e1fb9c7aa357e31e41e8f688d74a9f8800";
-  sha512.doc = "52889934cb166ecfc6d5dc4433a9e1c4df927007584b6513d5a254734fd9b82c77af4fa535ddad34494fb207a41167080828500cce02b34f2f88787b8ec783d5";
+  sha512.run = "d72eea1b32aad88f34ebf20c40bac851ada821a1262386e5b0426a68ccf8e6ac8c4abf4ca1dec9ace44c4a4f4aa2f868cdefccad9b6ed07200272d23e5623ba4";
+  sha512.doc = "58c284ab2c8b77d73fcf69d8dfceb2040b6d27068a98b7b21867fbf258f11920e0f2d0f027275f8e95f4d1c77906fef9fa56c8ab29ceed5a62007bfbee6f3cab";
   hasRunfiles = true;
-  version = "1.9";
+  version = "1.12";
 };
 "unizgklasa" = {
   revision = 51647;
@@ -33105,10 +34004,10 @@ tl: { # no indentation
   version = "1.0a";
 };
 "uowthesistitlepage" = {
-  revision = 45022;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "28f5d3f8bba3c0f3ee1cd7ada8bfdeb815ec607565e7385fe8483d66aef9b9e3c39cbb9796f84c58e8a6b4772989c2aed3c5407d64aa740eed2cedfd26d60e8a";
-  sha512.doc = "beda6c309230f20abe8ec32e41258a42806534bb181e4cd070c7c9362a677280a0133b4ce83fc7475aa785a778480134125a162ae7d96d791eeaa1a9af621dd2";
+  sha512.run = "3eca5009deb6ccf7daf6d31ffb5e6d3c08ff26395e03b80617411c4dc4049bb2ebd68628f285b95b547bc512fd1cc83246afd5513dc54cb1900edb813f77ede4";
+  sha512.doc = "e5e2ec32edb38ea3960922c5f38c9dd9705914f49421b89cc1cb8e6f1d8213512c804c084f1883d1682d5c65b9c54511ec47cf700ca731c4bc352b0bc4e85ffb";
   hasRunfiles = true;
   version = "3.0.1";
 };
@@ -33119,39 +34018,38 @@ tl: { # no indentation
   sha512.doc = "f19dd751bffb9ee92ee80f74f692ac410781e87817ee841c01f37bac87fc770b9fc97d488ffbe97490206899653d329034d82cf649de0ee52cfa4643f956d7de";
   hasRunfiles = true;
 };
-"updmap-map" = {
-  revision = 53971;
-  stripPrefix = 0;
-  sha512.run = "087753526998c68fa94dc86df6beebd6293dab9bf87f0969bb80f362b6d33215bd4f3b9baae5c8a22adbe0e3ecd5d1b8e4d0f71eab6cf6c1a932e7acbc94efbb";
-  hasRunfiles = true;
-};
 "uplatex" = {
-  revision = 53786;
-  deps."uptex" = tl."uptex";
+  revision = 56548;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."firstaid" = tl."firstaid";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex-fonts" = tl."latex-fonts";
   deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."ms" = tl."ms";
+  deps."platex" = tl."platex";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
+  deps."uptex" = tl."uptex";
   deps."uptex-fonts" = tl."uptex-fonts";
-  deps."platex" = tl."platex";
-  deps."latex" = tl."latex";
-  deps."latex-base-dev" = tl."latex-base-dev";
-  sha512.run = "5545d71ef35856e37a477a0f3fd9fb9e6138609e81b504f9a0ea5f06bf08cde0ed6a6f0f6459a57a317531cb93967013ff19872907b15b8c6220297cc28882f0";
-  sha512.doc = "208890f08f3d0e6011e49057799d34ecd33755133f92f69cf024a91da01ccf991e16550f20607f5ae825b8adb3f3b83d0994275ec07b9a68abc3a96ae62e4682";
-  sha512.source = "f1980b483360213db4734d0727b1cb9b521e4941f022c7ab986922d5b58e620bf003403087d3f29c9768b0dfba4b7e7246e1820a9bd1c7c487f8557789be4b05";
+  sha512.run = "3e7613e0de1d38ac64903fd16648d17624efe5f5ff32e50e84d58a1315cdea3017ea845e962fb6e9e2e276a6b7d77960ba93da95e5c792df560877f629da8b40";
+  sha512.doc = "f84129ccbc081938e4ea01a70edad624fbbaf00d97f4bb665836baf2b622880cdfdc552a3c7071e27c7d1d102c44918df7727cd49c38fdbb84ab99b52cf0e461";
+  sha512.source = "93d3a54b7af909f6ef1a8cbac752e6870ffaaef844eaaedf526449b109cbd553777869536cc5102127a057a115fd73488efeb1cea98655b1d037dece4292b79d";
   hasRunfiles = true;
 };
 "upmethodology" = {
-  revision = 52200;
+  revision = 54758;
   stripPrefix = 0;
-  sha512.run = "ceb42b6b890c434de27445c564999e5a5c8ecd962061658f27cfbc59aaf405fd33b2a44474fb52b927e9e8721315dd87f907a084647433b251bd17a5ea79148e";
-  sha512.doc = "a75984bf9de36b382e29d818736963df4a19f341240f227dacb1496f034484cb3340600e3d77ab82435781ce2d3fdf1703d8322a7a9c4607e98fa41790be3f60";
+  sha512.run = "848e1a982a1d0667082b12970a057f639bcb8eae0c55f984508ace27e98bb0b2c9d285a3730c4c7eca4a1ff361e3b2e6908f85c0e0768e9b4e8ccd66232ec4a6";
+  sha512.doc = "856e798164ec708da8f8695f9f166cedb36973f6747a01b2cc10cb5a8d124cf4383a625db57578666d1fc4658516dd8e9bf94221967b1829cf5356314ab121bc";
   hasRunfiles = true;
-  version = "20190928";
+  version = "20200406";
 };
 "uppunctlm" = {
   revision = 42334;
@@ -33171,32 +34069,30 @@ tl: { # no indentation
   version = "1.3";
 };
 "uptex" = {
-  revision = 52851;
-  deps."uptex-base" = tl."uptex-base";
-  deps."uptex-fonts" = tl."uptex-fonts";
+  revision = 56291;
   deps."cm" = tl."cm";
+  deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  deps."etex" = tl."etex";
   deps."ptex-base" = tl."ptex-base";
-  sha512.run = "a2f63dadc6e4e20d4856cda577f7f49368ae8951cd5025c88226b11448dc72d9995496367de9afb2b528b02a7622200267585552dc2979d384f31f137b0e8dce";
-  sha512.doc = "8cb4a6d499ca37348953d39c4a6a2041daa09152ac5f780e87d1f903a19c5ee6b2a3f7e011f373c68de047b02aaffaa5e2bab77f5aef7ae28a0b9f82fe3adbb6";
-  version = "1.20";
+  deps."uptex-base" = tl."uptex-base";
+  deps."uptex-fonts" = tl."uptex-fonts";
+  sha512.run = "194cb48f6e42c1f4785cebd40fc796566e1e03bd3149b1f19d51fa4dc38fb22ea048ea3b0f63e98b4b03ceffacc912cc837446234fc0b75d543991bda97bd09f";
+  sha512.doc = "7da25d9527ea65993d9c530d6149f1385b41b8573a106f7812ad4b4d29caf7191d6248b0f104e6f41da86a83a25c59a0f7dbdc1a8f1a9e40e0ae234ca794943d";
 };
 "uptex-base" = {
-  revision = 52151;
+  revision = 56489;
   stripPrefix = 0;
-  sha512.run = "532360808157041a67221f12f78fea1197ebf083f3f90896b539fd7ae9501bdf696edadc6c61edfc1e5d1079a480ec7776a814dd8adb08fae194728c7f61e978";
-  sha512.doc = "dc1470c66f000bf80851dd317b7eb26dc12c567bef647e2fd91bbe3f4bc7c29695b7c327781a23e79ea86a8bcac2db8e328bcfea2031caafb9f63d85209bae2b";
-  sha512.source = "f8917edd4200248b167bad8366c9b51e247591379c4d069d292cce513708ef7b1412dd66bf9fa6156b703adbfee7c941c6f2637c834cfef18fa9adf9991ec3ae";
+  sha512.run = "f4ee4a59f772851c8bb47968cdf0791d70875efdd929ae682b6987599d6c6bdd9388e287b44ab2bf864f7b5c9800edd78559953299b57e29689946be6def592c";
+  sha512.doc = "12a8f25aeb59b6202977d8661b3bbbd6253d58e05ab60dc408245a9becfadd9048a147b96b9e78821b7fb8ce8f89abefb5f5e20be2fe776fa1e9fc6adad437f1";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
-  revision = 49985;
+  revision = 54045;
   stripPrefix = 0;
-  sha512.run = "41fbb7b4a3e193744e36cdd1ab23145709b2ef94de30a18dda322f1e0539106f62be95b1a763750e72c81a7fe42053326c56efe0486254ba486c731b65bf47e2";
-  sha512.doc = "9b8004ecb67cea126f0299d3eca749d5f011b0b3c50d23fba9a3adb4b9e5ab6d5e0a24494b9420e3a315639eecbe86a9c740b0772a694f2b36ee6f8b7e316c3a";
+  sha512.run = "600d47ed277ce4bc0ad0de219e307b2c4741229c0e02ad94f7dddb2f309309922fcfbc9de5e115d85ad45b53485ff844e70d5af8086f7a16980ac579795c2e7f";
+  sha512.doc = "3c41c19b078bb5f66b8231025e39df2b7b9b959d3a4a45b04058f670d6a08e83bef50c889045aa55caddfe7ccb8a5c7582c43115b4749232490f999574fd0ec7";
   hasRunfiles = true;
 };
 "upzhkinsoku" = {
@@ -33233,10 +34129,10 @@ tl: { # no indentation
   version = "3.4";
 };
 "urlbst" = {
-  revision = 51530;
-  sha512.run = "31ab9071a50258b405e2850c6fceb4d30b3f71b731c06d4fbf6b5de25d7d23509a374e6c89dd58dab869e6aa987a234c21a0c6c6a8f2780826c5acc46f784eaa";
-  sha512.doc = "0dd2c6cfda184d77866503bd94e79b7c99d20f4b9627e01946887aee80318adb26528f352fcb0db764e37d7b2292a78f0d80bcb51ca7cd95593a879063154315";
-  sha512.source = "96d336764d7892af97b7fbbed48a121b8e058efb56364398f50d24bd598ee387b0544712bf95886641077c22d3542ba2facfa125a89e8072c0a65737ac18cd97";
+  revision = 55777;
+  sha512.run = "86b600d8beecbf310596915225ae58502d7b5e92783522beec0c6ed365a44e058cb97bc2d016d66ef9a26196b33277c93f82957ee557348ef170a11d58ba30a9";
+  sha512.doc = "07cffb5192991e30fd7d6823435718b241841f709f5bef86ff7e0a69102ec93d513282aaf8f046a6205a56997b7ff3ba9442446254467f4490e537a4874a7a31";
+  sha512.source = "eb93a704fe994add75e3cd5202bd5a5fc9e388d35f125fa60bbeeae09bc20d223fc8e34d9899d6f378938f33ae29b96a67b3a1fc3a46782a1caff030975738a4";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -33298,6 +34194,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"utf8add" = {
+  revision = 55291;
+  stripPrefix = 0;
+  sha512.run = "38af66fa77e637a5bffce68d816cf6aa4e34ce5452b690874de91d9c10199316d60ead3736c14e7872cc4562ba1fe4d953c4fa7887767327d06547b68f85b81e";
+  sha512.doc = "f521642270b8cf26f609c050eaf412f2fcc53fc0b5b3e1873c141a5b5039fff9d0387b0ac83d0d831d22be256d3eeea4db51c67da2642372831976555eb6600b";
+  hasRunfiles = true;
+};
 "utf8mex" = {
   revision = 15878;
   stripPrefix = 0;
@@ -33335,11 +34238,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "vancouver" = {
-  revision = 34470;
+  revision = 55423;
   stripPrefix = 0;
-  sha512.run = "8fc852e2137af0b1e0664ecdaf115a6c4c631faf840b5564b9dca2f8c457f8fe33bd7edd92ff4590c05ab13c23a9b1771b7e688ee6f6d700a9feb01f9a921170";
-  sha512.doc = "50ec342e62a14f417b8a0d4085ca46aa701a9e2ae5630daa2159ddd6532a0c3d5769a0cd351c932bc54395f159d560a259e3996f4f157e42d0dfa41aeca6dc80";
+  sha512.run = "2dd41dd96607ecbb4c4bde1f6ff3c63a3e79efe7d025fce510e1b0dfc5b8d5bb19826042c04819f1d84178fce7d077e8f7b25fa9beccc4ed88db2683e716444e";
+  sha512.doc = "18069bd05809a9c8dc6a5e45af304dc74f40b5304c34064c7de67a961804d540a4cd892b4de380cb6c59a334b09cc165c2aa81749be1d4b2fe56e7fc7528e0f9";
   hasRunfiles = true;
+  version = "0.8";
 };
 "variablelm" = {
   revision = 46611;
@@ -33397,6 +34301,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.4";
 };
+"vcell" = {
+  revision = 55191;
+  stripPrefix = 0;
+  sha512.run = "7ca3866a8341d756cc567f3b71122cc1a9a5060399f3258b9de809aba2c0d2944a140a6d0d76a4dd8593cb314a8bf469829f5d5d383f3718f5e8422f06f5f8b1";
+  sha512.doc = "568ed02cc71370c3a77f468c43cf6cd72b79e9572f463c7aeca663ab725dff4c7db1a630ac7eab7f71063b115fbe3d8299190129c2d50cde859061bf62fdc385";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
 "vdmlisting" = {
   revision = 29944;
   stripPrefix = 0;
@@ -33406,10 +34318,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "velthuis" = {
-  revision = 52851;
+  revision = 55475;
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "92ed388e406324c0189f613197869d4ccdbef459fba5d1408e7ed9068777ad28fe7193c340d1786e21ec8178bdb275603cda2d86d33d3a6318788580a015a40c";
-  sha512.doc = "9b928842995afa63db5aba51e6605d3fb036687e83e609422954df4c4848563e7a6b62e669ababd1d2804077e8add424bfc88d965ad5ce1f904f1820cf750515";
+  sha512.run = "451023c09755f3aa884128a6ddd5e70a6820724de66f8923deea812a8e28c337676de95aa98a06a96013502fa24e9855b24977603c675820b1d5a0a056fe4cab";
+  sha512.doc = "e17270b0e427e3ff02b1d43e578815ec37c0046a20ceb898a357041f9184044162077d9fc64f66d955d774637a8d2ec59d31b624dd743113c972d0854075df10";
   hasRunfiles = true;
   version = "2.17.1";
 };
@@ -33487,6 +34399,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"verifiche" = {
+  revision = 55777;
+  stripPrefix = 0;
+  sha512.run = "b189256a2ce37350376795404289c19f40d816a7bb922e8f3572faabd69ac5e88b358f4f69d231d49d3f4355bb98bc665b208eac93a358bd18e9fa24ef64dc66";
+  sha512.doc = "6b3d1aa5f7b25bcd720dd337de7e571b505d7cc75cbcf8e6a9526e47ce00edb9340c1a4ad56d8553186fca6103038b60cd4b9310c284c4d975549985beaeb35b";
+  sha512.source = "2281f1f110a011b5f55e8948b72ec61e6375b1f804b1e3a7a28db043eae622a435096fbbcab06fd3416a2857f4bde33a863a505d2c2e71f7fba62132c45b331c";
+  hasRunfiles = true;
+  version = "2.2";
+};
 "verse" = {
   revision = 34017;
   stripPrefix = 0;
@@ -33513,11 +34434,11 @@ tl: { # no indentation
   version = "0.55";
 };
 "versonotes" = {
-  revision = 51568;
+  revision = 55777;
   stripPrefix = 0;
-  sha512.run = "3b1a33af069abaf1bca5d70c64f3f9034efd10c2104814c3db5360377cf67dde56794f950b1a96a5fd44c0fa3460922887ce97fa1a3eea31b54ce1f16c88977b";
-  sha512.doc = "1f27cadfa8160bc5ebfe6cf93aa617b7a1a751d98d7e7dac052cfc50a450d57967104fcab00d89feb08d0e0cc62551738eee5e17e8f65889e9f32d4e6d2d220e";
-  sha512.source = "e2f738d24b1a1fb8f16bd61ce86f21ee8896fa7236c61fcf8949ad411daf675f9128c4d48cb4a13df7cbd9066769a10e1f6ab6d17b2dd4f0d9188c9c21a33e70";
+  sha512.run = "adda8d14021b5dd1fabad9348b0a9c1e6a1c0c77030afdf304a014883e19600e07ba64b4224319470b418d2822ccc08413dde791801f3f21da34b0d08c21cde2";
+  sha512.doc = "bb2dcb4163ca05501a73b45f2dad0d8e410525805612ce6fd1033fa4773c6e1213edbcc51e541b66545becef2a160c8b403ed6a54c882421ef11293fe222b639";
+  sha512.source = "ba566ae4827fc08f2403657f869ac3581c1f00daf70b4859775d0fe1c550212d98a4f78e3ecb0d74a5c298ef054b22c9ebd0bde410ccd241d6b863caa364d6fe";
   hasRunfiles = true;
   version = "0.4";
 };
@@ -33560,16 +34481,16 @@ tl: { # no indentation
   version = "2.3";
 };
 "visualtikz" = {
-  revision = 47888;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "fc5cb3e2d30bca419304b5f76bb75f9da0e22b6624c7ca658492e2758adf0dfcc24552648c983b0afd390bf7814ca30fd7d2a8b3037b6ea3fd95b2f608b36b19";
-  sha512.doc = "556f4b852058c46a7d2a34db4898bd82429835ed4c5fc1eaf1c8bac9deba407c8a11fdd3eab3753b0f53fd0ba43a316c3b292cebe40c086862c6d94f8be0cc85";
+  sha512.run = "fbd3f158e72dd8b0ebd3fe9c33fe47127ecfd38bc0feac3312d569718672e9f88165856fa61389b307a211071467c10ef73981178cc9afd8ecd720cdf627dc1b";
+  sha512.doc = "16a32e64ef4d00d2bf6f99fa05b35a071539d71944227eaa5b37762e838a62b80ee4b227a8bb9cc49b831bf19976421684872f8eb104f37365669907e9621a6b";
   version = "0.65";
 };
 "vlna" = {
-  revision = 52851;
-  sha512.run = "587e208e48a43698e99e388ee957e2ec201c0b1b0a0d077052cf11ef8b1e6b132bf9330db5b9eb48083b86aa362f0ab654d80d27ebd2690b5ba1ed452b8084fb";
-  sha512.doc = "ca7f3a54872bfaa4b11efeb94a3dbdd2f655b869ae0b1f9a3f5232c40500f4f5550c495007cd081e2069115da1d20ad1759923a7375147d4ca09c3a105dff779";
+  revision = 54074;
+  sha512.run = "ce37751f6cbd088e8faffb0c2ddb6d8bec9c0d1f0fa3a4ab0a3e5f2517e6f54fb6903f441cf72398284801c9b9f00d684d6a6555e2588ae72679050734fff8c9";
+  sha512.doc = "f46c2e29da8f4edbe544d41b05ac3ba13cb5e3c09d299ce5ccb85207703c99569df94640c651a1afbcafcaf4669bb73157945f8dfc1d2b43ce5c0c7970c35544";
 };
 "vmargin" = {
   revision = 15878;
@@ -33711,19 +34632,19 @@ tl: { # no indentation
   version = "001.002";
 };
 "wasysym" = {
-  revision = 53469;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "9f32c1c76ea630989d6e3f3aeef0db154f6677d52177fcf5e28bd049a68bafeef6d3960267029a25ad4ea0ecb13a5a344accc20a7d8f64c20ec304130d1cdb4f";
-  sha512.doc = "7c9f21ce5aa85e2bf766b50806cad76389603072a15d9fd599657eb7e3e58061befa60c8903c9be93b3bb8c6fea71b63c0fe90247654570ddbe289c8509b8f1b";
-  sha512.source = "d90a47d1975947b3709116f88afb85e7f4a2c1803c622d809e39d30465104b27bc3fff60dc578613acd44b54ddaac92b2eaab499320193131bec28734df38c57";
+  sha512.run = "408f9c2b70d7860f7d8f7ee7f93af1351442b92aad9c8d8e4a501414058d8347e6da2408df3d5b6fe217597861eda5eda499771a7e973da03597f24b76250da0";
+  sha512.doc = "ffa36c6f1446c0dcdf1e1dd8b47946eb84d666714d94eac28c857170c9aa414b612486fcf107ae462c50ecafd6ff20c90c776abb5774db64a32aa07be8c58b2f";
+  sha512.source = "12dbdd1e868c3382e7ccb5a507b7f72c20e3df3105e272c00b8b6294f10c1099d3c6c7b1a2db5bc96b866e246807604b615d8278357d0214539a8f959de14667";
   hasRunfiles = true;
   version = "2.4";
 };
 "web" = {
-  revision = 50602;
+  revision = 54070;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "0d2d771e8452d67278adec061e1df8cfc06f3af729ea5ae7849acd5fe1b628167b18d86b1037484dbb6b20d5f703bba7ba9fb255788becc53ce22fd87f39ca7b";
-  sha512.doc = "5647beef7b99a3a552b8f55d12ef669481e8ba3e01beefb014fb8e3cae6e8f419862131379b506ab8197e1717d563c34fa81d69db3c6db8107e6167447d87322";
+  sha512.run = "a916d755f7eadc4b24aab224fe0544ee567accaa650ef697002e6c2cee20802081ed227a066b231d9cd6309271c6b10ef124b86e38d729f2793aa48c6000f5cd";
+  sha512.doc = "8f82d31082c40bacac61e0bade53a610c232452aba7a3bad3dd62b26f2e50929ed76e929d57ef1c26969769b3aaa003a82d6bf2bf836c6a3a7d44b5a2440e9e9";
   version = "4.5";
 };
 "webguide" = {
@@ -33764,11 +34685,19 @@ tl: { # no indentation
   sha512.doc = "c559e587868698c1a635db13b6db265234b3b475937fa1759f9e7e3a8d0644a43543005e9607b5a965bbdc304863d6c7cae6e5cb8345b546dc34afd8c7e2de43";
   hasRunfiles = true;
 };
+"willowtreebook" = {
+  revision = 54866;
+  stripPrefix = 0;
+  sha512.run = "36df6eb6f46857ac84b2b0ef4fceb265c6feaee565eaf201ad8b00552a1f1e37d6f4d5a8e9dbbb21ee0df3013dc8aa72cc0cdef85c9b5c400aeca89f9b851c47";
+  sha512.doc = "32abc19949630800649038ef395a8c51568c4395b5ea2495205fab557669c40c3eadb6c272e9a4747d504c95f02df50056e083c4bcaebec50a5b5df7d5d10668";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "windycity" = {
-  revision = 51668;
+  revision = 56492;
   stripPrefix = 0;
-  sha512.run = "f52a60a78ec5855c1d0e34c2a01772de28e0d2c3dc553e12cb99baaa4ad97a7d6f6ef59fcfb429bfea00339e390d600d8b7e640b92aae8af19204d2567aa8b4a";
-  sha512.doc = "8b0decbdcbfc0d0f0204e35a629904a48f44a5daf6b1b54f8e11dc601a103e97078bf7bf15eec028c14cc3c426782d7fda1a1bdd5d7725364959dd9d3d5dba2b";
+  sha512.run = "0545b92bb12e732f7db8a1f56621fce9ad85991c7ff7686ab467dc964b80355a5783eac1c41bd7e24faf9026a0f0025a952668d24563844015b56a05e6190ca7";
+  sha512.doc = "42e4f754fccbcca5b5d4e685e1ad6106dd1c2695b5ab317c429da384ff9f4f1af6555d701f4e2ba1e55a399faebda5d77eb368d7eb6845d0b011146dfbda00c5";
   hasRunfiles = true;
 };
 "withargs" = {
@@ -33780,13 +34709,13 @@ tl: { # no indentation
   version = "0.3.1";
 };
 "witharrows" = {
-  revision = 53246;
+  revision = 56296;
   stripPrefix = 0;
-  sha512.run = "f1054a2d4be6121e3cd6f74ee6bff8afc71806cd6fc318e7f8e2b10f13e93bdb4268653224341976f847da5597309a3e5a09f202eebbb2e7440a098348f0d4da";
-  sha512.doc = "72aa193dfc4e88f7679f7ecf878d9077bb6c7327a6f4b14783595e9af13301250ba51063debf4e40be8ae05f6d09628a4868a3f98ce20287c66a98493a0302f5";
-  sha512.source = "404f39dacdabf259275ab5f594a6ee20bd16e61b895c2abbace15870ff087253308e7df8f1a258fb995fc8aca2dfd2611eba411971a4b11e44503a406fdddc7d";
+  sha512.run = "a3e71624b453015280d8e4f4ca00958e67f7e73aa550334720a4ab313f81f2882ec1123923a3e9d4c046fe8ae5c58a6dcf1e003750a0678cd00fd7903809c648";
+  sha512.doc = "a31df4b3dee742916d8163b589a883425acc768dcb47eb69dd8062628d071daabccc87182b70d62416b6df0308652470e10f9fb22d0de84be518489d0bb19f58";
+  sha512.source = "f4f4c13421c143eed1ab03b40efcc43be00891d6016a2002d0749d4d97b4e8746f14173f541c23dee8f39ea411a802dd475adb0331f4c82161a24fe2870b93e1";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.6";
 };
 "wnri" = {
   revision = 22459;
@@ -33853,12 +34782,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "wtref" = {
-  revision = 42981;
+  revision = 55558;
   stripPrefix = 0;
-  sha512.run = "bae4e9c07d17e94a661a7a168fb5777d95f7b65644308197633069ec23d0b9e10e93cd0c1e892db9d85ae54f50fa787c60d04266eee512f45c5ecb3ec68f039a";
-  sha512.doc = "5d7f2338beb7cf22ba62c2fcabec2b37900fb208726a59c25fe6b12c8605d15210a8cac8da454c8ad09090ddbeb01987aef53086cdb26628b72f32752cca1d87";
+  sha512.run = "1c946778722ba4e7014b98447d1c2c5472b34d916a4aada1ad1098ab05d67a1466fb181f19bacde5fe18a0b28a055a87b626893d6c49346fb665b4595910401c";
+  sha512.doc = "b1ebac65ff228e7a6221240ce90d83121d726959d95f2271eb3c6597c7740a376da62371fedf2c0bd068e660950167d4b09cf22c01fd78c337c10402eda63bd1";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.4.0";
 };
 "xargs" = {
   revision = 15878;
@@ -33870,12 +34799,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "xassoccnt" = {
-  revision = 49516;
+  revision = 55876;
   stripPrefix = 0;
-  sha512.run = "ba903cce2a9438c51e40d529e6b6c6993f4a2422aef2688cb9d875cc408e4423ff135afe3758bef6605eb26e1f2bf4921b652131e65bf068fcce54be3f765455";
-  sha512.doc = "5a1805d9cd838aa7369fe4ca2d10c8f46b8bf913c14d8ce8dc546d80598f455696f83825c3a1691fb5a3ad36fd68c2bcb62b6a682ba374e54071aeb3f33c7a87";
+  sha512.run = "f2a2c993c465afdf21920e7f4cd7ed81f40fec1bc485cd89d919e5a942284e2219194d349ecc4da81005a7dbd997ed176ca8571c92ec159b69a98dd1068a136d";
+  sha512.doc = "a20c3a3f10ca5a2fd785e4bfb92d3d60edcbee74f6efd2dea5fece63b01ff3d67905700be0fc48dfda9bccfa386238e77592cb04208ead19dbdb0714d6e891af";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "xbmks" = {
   revision = 53448;
@@ -33886,12 +34815,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xcharter" = {
-  revision = 53535;
+  revision = 56391;
   stripPrefix = 0;
-  sha512.run = "4e269f15e3b874990151d51845aaa826e6995b886cc9806ff789b82d1bb34bf81f9f1ed6579c7020d2c02c5f02830d0f409e45ef2c1197239748179714398da9";
-  sha512.doc = "7a38a5891ee517d5666771b5cec3cd73cfced263dee1f1ac7eb58ec59377974b5bfcfae45b7359c1b63cc28ef7351c701403d655473edb0326460cce1ba47b5e";
+  sha512.run = "55e129c487cbdd022aa76092f106882b6e761acecf35e12a5ad6f13118bcd88c46de0e1f0b0a0a5df3a9ce508c5897d1353775a7df202790c5c978a2ec370933";
+  sha512.doc = "dfc951e9260a64b4a6624f1f0500b1827b3c283c04db28e59be1e8c6e4415928a92ea257a8956402e3ceef15a593fb8450d18fdc47039c3cd5f6032277912497";
   hasRunfiles = true;
-  version = "1.205";
+  version = "1.209";
 };
 "xcite" = {
   revision = 53486;
@@ -33903,19 +34832,19 @@ tl: { # no indentation
   version = "16383.99998";
 };
 "xcjk2uni" = {
-  revision = 50848;
+  revision = 54958;
   stripPrefix = 0;
-  sha512.run = "c1174c6abe555eee84d753f76608fb3fc3234c43c5666def063983653908a03b8eab3787dc9e061c0f6bf3bfae7bcda9a31ded49b039580fccb254ed33571e72";
-  sha512.doc = "30f81325aefa49fd44031ddda4e1ff30c40ccc08645671e1439df38cc4efb2a5cf4d9d50e98e970e96e3b18046e16834710d6be8fd9e5fa18cf5271bd5ae339e";
-  sha512.source = "fa719c1936e76ac3d0bb7f212a53c64962ea2c7e00546c603da218fabea566c11591af056276f6edcc68e2cb0b13ded72cf37535c4a8fc5ce53243743d6f8e0a";
+  sha512.run = "db0be3360dc3d6373866c9d27900f8dba9353bcf92d219f9f0b82532e2855210230a06b87d1ab6eef7e1f96c54e46884e6827395affb9375120b7cf8d2fbb99b";
+  sha512.doc = "6a9958bc6ddf6d167b9d77a513d04f0077c9a8581109c51166410d60d5a243758da62b40bdf5cb1488a50b9ba76ca89261a2d31c3819d8b2738b4a7023ac3f90";
+  sha512.source = "8868210c53fb379e12b22472dd3575baa62743cc059b3215b634aa59e61af5b3bed8415b9b811a7949457dbee4a051e4926ecca02c293be775ccfb3467e0883a";
   hasRunfiles = true;
-  version = "0.8";
+  version = "1.0";
 };
 "xcntperchap" = {
-  revision = 46236;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "dd87c239759d04adc359a6f1dcaefd090b7cc0afaeeefd9ef71530e5933f8b174d53c8110163822150bbb722b5ed8f47eb279f2224b02aedec6137ef7edf97c5";
-  sha512.doc = "5f7554ebf4ef3d878c8a31872e6d67b6716ea7d6e5e1b38915f4b4d7c2edbc4fb1aa31d557e74cbbe792134e77a6c9cb4dd24ab0daf765659e399cc84e70d7c9";
+  sha512.run = "7be16f92de86fe67fd34857f7151f197e5ae52e9ab944e0ef3603882585dfb240b8e01072747b18092c6ff060f2f4c341b27e106ffe8864dd1879c3965435e47";
+  sha512.doc = "c7d25df1dbac57e05b589662214e46ba446def465ae7f64d8a2d52283151ee04aaee93ac1bbe0f2c7b01c50e505ca6c1cfac96750d1b13211d309a906427c6f6";
   hasRunfiles = true;
   version = "0.5";
 };
@@ -33991,11 +34920,10 @@ tl: { # no indentation
   version = "1.00";
 };
 "xdvi" = {
-  revision = 52851;
-  sha512.run = "0bffcb7e841c0517be816d9daf706e11d0a43973c5b8021133da819b66ce50875ceeaa9bc5c76004daf3640de72cef996364e49d1a9f433c72aca3992450c74b";
-  sha512.doc = "43466996014c40a4e902c2d28af008bf610e2c52cd88acb76f92a3999f6a062a440289b0afb96f1ad29881e280aa8a737ab1936b276e5f39be47fba3a5b80092";
+  revision = 54338;
+  sha512.run = "bd226386f91b2d5d19052f353a67410301f8cd08a689125907265716f8e7dbceed40997057d35033157e3477a48e823c2f224324108539f5514ec7387696ad1e";
+  sha512.doc = "cb003d70f0e5b25be95dd0e29b7d5b50f16ffa1844350e71d780f6cddbebe6dfe3dbb79b43ae994e659d6ba1f28ddf5034d867308723606d5baa9f4e91f894c0";
   hasRunfiles = true;
-  version = "22.87";
 };
 "xebaposter" = {
   revision = 42046;
@@ -34006,21 +34934,21 @@ tl: { # no indentation
   version = "2.51";
 };
 "xechangebar" = {
-  revision = 44954;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "0521eabe4444865747291d13a8664431b64e67969276191f1389bc0c7bd7198625a352ac391cc06e926cd90535b47b8edd8ffac6f3967ade0cbfe7022409519a";
-  sha512.doc = "f2452e8d2281f4d92da80917d6883bd91318f8e4459189fdfd8e6a79269d4d2c1b16122bb42237598fec3b8d44b9cc313a4b7858895db8dc0fbc5157825f2046";
+  sha512.run = "833f0b1cea32c0bb345d1aad5360613ee36baf17a35e13d20a4bcc75edc77b3a7c48c4406ddadd670890cb93dc0d03cf91462994271f351ebf2bc221bfbae5a3";
+  sha512.doc = "6d2c385b3b826b8b97cb725ffd3e7479ec3ddd2d2bbd8c772fb0b1faa9d0edb758871003ec379d8ec349fc4e3f7de2bf3130cc0e5d9e356ad472232d16acb546";
   hasRunfiles = true;
   version = "1.0";
 };
 "xecjk" = {
-  revision = 53835;
+  revision = 56166;
   stripPrefix = 0;
-  sha512.run = "81a7fa804122c3093893f41110ed4fd0c1c43ae381b1070eef4dd4711dea7e6fa6ad7ff8b3dbaa78ef967790d2dafe5983b3fd7aeac4d7868e8c8af3ccf0319e";
-  sha512.doc = "93b16713f9e1d2c0e5ce7dcd0313e5bde13b21c80980b7d0b5447f8a0722e0dee656619a6890296a2f4cf96f386730c260191a7fa665ca4eb93044c60fda7c0d";
-  sha512.source = "35164492b6045f6bcad0ec712825fec02b22dbf172755e0e4f0e6c16264113f87f78941885d7c0a80c70976e6c29ea20ba400273a38d580a916e6a31359bb0e7";
+  sha512.run = "78f63927c6509c135219c16ac29f0c39e6b6441c48389bb496611cc8cff85d84e2f1209df680bddb78ebdef9c65ca44c0c32dd1981f09906281f0c30121ffaf5";
+  sha512.doc = "4ce8a0bfdcbb697fb8eb67be86f75f13bd021cdfc65cca04cfd6a71a702b43af69630d14ca2431ace6c4dd50eaa19e6da5887ef53d71072223451fa063996afa";
+  sha512.source = "3333e91f348e7df2e7376830747c6f3f118e93ce4cb9bee83468c0a8bf1100616435128456dc87efa62acaaa0e02635b80e3b6dcb0fe4cacaac1b24526b334ce";
   hasRunfiles = true;
-  version = "3.8.2";
+  version = "3.8.5";
 };
 "xecolor" = {
   revision = 29660;
@@ -34031,9 +34959,10 @@ tl: { # no indentation
   version = "0.1";
 };
 "xecyr" = {
-  revision = 52315;
-  sha512.run = "b248cfde57f5f8023df47a7e6c6260e00820baeca261a52ddcefd6a17a2e9aff63a43fc870d8be747e491193800d87440ac1167afe06bf0b15238982f62bfb76";
-  sha512.doc = "13e5bd963aaeb286498aeb631c88c3b14ac29ac740284014f11b881503d17d99b29233c86853c7691aa9752557773a8f6ec5d410cccd2d6665dd5d800f1fe2b4";
+  revision = 54308;
+  stripPrefix = 0;
+  sha512.run = "0429aa515115ef69811069b08567c97ce40a8be68ebe72f26b8e94947abd86394204b21bbf25ae44c616a806878fe9900f5a639bb8707106836103ec06663454";
+  sha512.doc = "555ef35f9e50450a796c24b87295eeac319d087a61e4fc7cedafbc398cb9a5c0add8b93318b8afadd82bbd2ca90dac9ade02dfbf286ba825c1d697b58110fe5e";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -34055,18 +34984,24 @@ tl: { # no indentation
   version = "0.3";
 };
 "xelatex-dev" = {
-  revision = 53553;
-  deps."xetex" = tl."xetex";
+  revision = 56548;
+  deps."atbegshi" = tl."atbegshi";
+  deps."atveryend" = tl."atveryend";
+  deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."firstaid" = tl."firstaid";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."tex-ini-files" = tl."tex-ini-files";
-  deps."unicode-data" = tl."unicode-data";
-  deps."babel" = tl."babel";
+  deps."l3backend" = tl."l3backend";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
   deps."latex-base-dev" = tl."latex-base-dev";
   deps."latex-fonts" = tl."latex-fonts";
   deps."lm" = tl."lm";
-  sha512.run = "0a8a8953a7180db0e5181a00660cb0d20b256ee044691209e13439c1f1eed3e654f43273999c42d28e4a94e844fac8a2c21b44cd4c14a2772941f030bc998366";
+  deps."ms" = tl."ms";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."unicode-data" = tl."unicode-data";
+  deps."xetex" = tl."xetex";
+  sha512.run = "71284d60c86af780209a149efd5cbdafd90f19546046995b42569dbe5709799c1dcb7a15a593b18126801a46c4251f37b7afb7cb7e8d9ab1b41275459334c751";
 };
 "xellipsis" = {
   revision = 47546;
@@ -34078,13 +35013,22 @@ tl: { # no indentation
   version = "2.0";
 };
 "xepersian" = {
-  revision = 53625;
+  revision = 55194;
   stripPrefix = 0;
-  sha512.run = "50b382f9b542a3874aa5ff162e458fc7443dbf601a31cb278d3cbd4f811baa45686ccdb83ea6e190ace009e3e055bf22828ec82804b6630abd95e1f3138353f3";
-  sha512.doc = "fe777722885de8352f26eb3b755d8f02155ba875fd1b9ddd230c13d4a0f2287b3c9f2261f0f2cc003554cced4120f81b9478b75ae3abee369a6a421c6e8a811c";
-  sha512.source = "3914efe8c8fa627a0b53ed4da3ccba7774d7b9c2847320fcd8096a52b271b9640d80e44be64fce95f1ae3b0ea55a40fcb6bb4669a2255722ba1d9be972c5d86f";
+  sha512.run = "c5880fe199b5a239ecce8e4370396f4a981a886e8412cfad36032c4d2b7fe9fdc7d6818e14b53ca22be36909f19be7f363b40cd58644231ce015a627bd65a48f";
+  sha512.doc = "395bdd506072a2e234bb45f120ad748322f78657fa5c7013097af28688dfc7e58d2a7c865fd2c80592132fa46a02e35f65aa4bbfa752c5fb6b4b829a79a302cf";
+  sha512.source = "866a5fb8007fa600c50b343903a306d17e26d5616eb7fc14487ae93005cb7bce1209d382104021cd2b345ea02f2a4b058518454bf797600ad59e8f9254bee8af";
   hasRunfiles = true;
-  version = "22.8";
+  version = "23.1";
+};
+"xepersian-hm" = {
+  revision = 56272;
+  stripPrefix = 0;
+  sha512.run = "50a3e4a12055aa051f72c8d9d5f616a6901aba7c8dc6777610b48d7e3c993c6a49996cdd77ef01161ca9b7dc588cd9d86b1e1c4e65eab4e4a6d3a3697a990d92";
+  sha512.doc = "79b0a6e9876f697b8c7e08d5f5051975d29e9b7b3245b49a74ae5c76bfb23926fb4810fadcc029ee529f5f2752a49c2ce748277da0fde50f5078becff090b1d2";
+  sha512.source = "b43f74f1cbb9e2bdd06ca614f17fce49a18018cc3df9f88ec3a4732bd0b4bbf7068ac77a65d549806be4c07a2b7ab16c165fa7d5a9c9401a4dfb60426c5fde23";
+  hasRunfiles = true;
+  version = "1.1a";
 };
 "xesearch" = {
   revision = 51908;
@@ -34104,22 +35048,24 @@ tl: { # no indentation
   version = "2.0a";
 };
 "xetex" = {
-  revision = 53917;
-  deps."xetexconfig" = tl."xetexconfig";
-  deps."latex" = tl."latex";
-  deps."dvipdfmx" = tl."dvipdfmx";
+  revision = 56548;
+  deps."babel" = tl."babel";
   deps."cm" = tl."cm";
-  deps."hyphen-base" = tl."hyphen-base";
-  deps."tex-ini-files" = tl."tex-ini-files";
-  deps."unicode-data" = tl."unicode-data";
+  deps."dvipdfmx" = tl."dvipdfmx";
   deps."etex" = tl."etex";
-  deps."plain" = tl."plain";
-  deps."babel" = tl."babel";
+  deps."firstaid" = tl."firstaid";
+  deps."hyphen-base" = tl."hyphen-base";
   deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."lm" = tl."lm";
-  sha512.run = "eca249be676ec6a4b25c9ac5ae60e0a29f460571f7735896ca141a944135782ce8635ed05fad0f01e558c22909dfa14740adfaf79680a2304fd6f07c82303310";
-  sha512.doc = "2d578801da1669e7ea36599d821e60bee4631c3a1bb44792ea5cc266f5788c05a0e93469374a19c4c7c2eff866d922438df5c5c2a4935570208f05327a45f56a";
+  deps."plain" = tl."plain";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."unicode-data" = tl."unicode-data";
+  deps."xetexconfig" = tl."xetexconfig";
+  sha512.run = "a1468b805c3211ae4827c4e5ec54231b482ab43f5d58c1252e31bf009d4ea796d3f3a6f7336284e5f2a44daee0e0145e8c2c0e6f87b7e55c46333ce8068ea06e";
+  sha512.doc = "4b9af8ba74489d3b40750369fa5a2e2f30706890905e22b1bf25e3f0f4d67c3bd11489770d931a9e36df243824f26d2cb0e5832b79e78b4cf52162e510c5f4bd";
   hasRunfiles = true;
 };
 "xetex-devanagari" = {
@@ -34131,10 +35077,10 @@ tl: { # no indentation
   version = "0.5";
 };
 "xetex-itrans" = {
-  revision = 35088;
+  revision = 55475;
   stripPrefix = 0;
-  sha512.run = "7d083e176a2786689a325c511d4e50afda5ea8c644c8288ea050db79fd248085be500ddf7a0b8ca3cef6191651669f9c48f894d16ac571096cd1658d6e6bac60";
-  sha512.doc = "795a13fced2938c1679dcafd07e445ec62db6cb014259a15d1f8d1dd68ee4cdb98c20024b1601679da5f6e8d3a27b05a1285de967067abc1fd61ee6937540449";
+  sha512.run = "9c39898cbcfd024f1a274311a192c647e15624fc04a9484daa2d08ac37340a799b4209a5aa91a5e3a96f774d7363198c5a07f66d88578e1998ef3680b10dae6a";
+  sha512.doc = "f10eb9651823eace7f56e88e710bb5536a35204b8fee80219419659d0e2f5fcc60c6009834fd9aa215aa42e8291e14786688fe1974dcab943578bd22a40f4ee1";
   hasRunfiles = true;
   version = "4.2";
 };
@@ -34175,10 +35121,10 @@ tl: { # no indentation
   version = "2.23";
 };
 "xetexref" = {
-  revision = 53068;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "926ebf995dea04300dee8cc061361f7eac8efe08ffd3ada87be5b682e2c581d3c2965328ec7c93deab8d6bb9311a0cb27ff1a14a7332c407be713657a136959a";
-  sha512.doc = "ad0700f1e1053abd8264f20ad04b7ade28cca6f5757e158f8ed031f493a966f5b62a197a34ba39ece7c3cb68d469334521a6325c2b4276dbfbc5c2519e13b33e";
+  sha512.run = "5d2610deed12422bdcd7e177c339d3aa701887ff12bab214ce0b67f87abd70c569a0aab85f59f877399d440c75c712a4ec8ecf12f6059152d0d0c70f40f2b1f7";
+  sha512.doc = "24d62e618217ec5454bd23662711e10637a7f67cc11880288bfcf301ab89ab22d87a6d65af8c37c99d924a4dc77b95308ef38eb8ad6bb81cf2900cbd3ebeeef8";
 };
 "xevlna" = {
   revision = 43864;
@@ -34189,12 +35135,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "xfakebold" = {
-  revision = 53272;
+  revision = 55654;
   stripPrefix = 0;
-  sha512.run = "ba8d90525556025c1387f7c82d3bfd6e43be1c82c5b508d611c385cfab3f6b728499b2bb9cf98e65fe8f3ed3266da402fdacf454b367eb95e685ecc9591166c1";
-  sha512.doc = "c5d63984f0f2b9996ae5be08e3e43268a375c38e96965c5525fd95c9fdd167306ddf0801e7e233d2ad52dbd7a48e82bee9e822f22e68fcce180445a693fa3687";
+  deps."iftex" = tl."iftex";
+  sha512.run = "99c735bd449c96b3444a8b50032c9962601a04beeeeb6b0fcb759ee0cc53e4510dc8d077a3cad7b99c968bb9d60bbd37f2f0c7d56ffb5fc667301423bfd32bdb";
+  sha512.doc = "bb6f1bda41427f4c144402095a79aafe70d6b534b6d0462d951a2c58fabb0bc8dd9edfdabf526bba243b2c79aeacee728741dca778e25019ae909856b164a316";
   hasRunfiles = true;
-  version = "0.06";
+  version = "0.08";
 };
 "xfor" = {
   revision = 15878;
@@ -34243,16 +35190,16 @@ tl: { # no indentation
   sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  revision = 52892;
-  sha512.run = "fe62e02612bcd19a90bca6b94380c6c0b50acc381d47f60c81e142afbd6173adec8dda97e2f16c28a8ad101d8f080644d456768987ca5f8a7b30e03b3e30ee59";
-  sha512.doc = "07b1cc0ad37d8893bd50aceff18052642af52eb46f4e72320bdf093dcdcc7282019f3fccfc1e6df13a8bcd0f6d0a4cf41eb47d6f84a1ee3c6d1b0a8a1e150df0";
+  revision = 56295;
+  sha512.run = "e8a858e3fe056519eed3f85dc21291881fdbf057ece76d503fd863f66c51331d689fabbb7a1ba3728c3010c45a9f0663fb75db2b609716ee5dd515067bea07a5";
+  sha512.doc = "f755500e75fa45d14110da45bd43d10f4cf170cc907af7743673a38e1c823612fce9131eb16a03e59a1a821b1e4b3580e6a2e6a68e759f53f9daea4f88e4f09e";
   hasRunfiles = true;
-  version = "0.20";
+  version = "0.28";
 };
 "xindy" = {
-  revision = 50203;
-  sha512.run = "b9127f03d8917543f0b1caaa24344aef0356818d7414e390ad45d5de3420271a81509ded3636c3475b577d6781be6e24c94f3d444f6190bed9039dd720274787";
-  sha512.doc = "9e6c10388a7a707695e2965c3e3b851f939a68997cf880560a4a05ca3a167febeee9f1a7803cff1927bf7aecf0d6baac65bc4827c367f9c2d086d17d5947d64c";
+  revision = 55330;
+  sha512.run = "8a2db7333ee39936892ad83eed0d31de25cdc48533dbbcb297e3a8714fefa6d7973b9e9eb7767a50f11be89afa7eb944bb56064a14b71d23bf8161f7fddf8d7c";
+  sha512.doc = "4404d43c524b2d13a431ca5691031bd06ffee316025a6521d08f8ecc18d7e6703aed8a714fc498e7dfe8bb7f1971562adea96c637530e612b486ca015c3b1e23";
   hasRunfiles = true;
   version = "2.5.1";
 };
@@ -34266,18 +35213,18 @@ tl: { # no indentation
   version = "1.4b";
 };
 "xits" = {
-  revision = 52046;
+  revision = 55730;
   stripPrefix = 0;
-  sha512.run = "f78a9244a0dc31a9a69d920d6228b8dd3b398abd57fdac2e21de1154c93bdf7abaac806df1a76d2ff8994c9d52f17e5803bdea7c43f0e13480301ce136c2a0a9";
-  sha512.doc = "4a8fe4842cdf000083352423735d7f34b6231472dd42a3108c324775ec97fee3f5ef457625f44ea0445c9c34e6f903e2af96c7a33ff3787069d77a4ebe70e145";
+  sha512.run = "8c47de766f965fcb50399e59d20f030e90a28e2aaac018ab1289a1a26b16cd6c9c7d3fd18f1d2b84fe86a99734bbf2ac9b58bfd723a7854bfe29141ab6acb874";
+  sha512.doc = "3c4594f4023f6ae4dd6ac57841720a47f00ae65fcd6930d4e8ec94281a71bf97e7acea26c60d6866304b5018e866ae87554cc470e671d47ede6572da1ac2970d";
   hasRunfiles = true;
-  version = "1.301";
+  version = "1.302";
 };
 "xkcdcolors" = {
-  revision = 52481;
+  revision = 54512;
   stripPrefix = 0;
-  sha512.run = "78e9d390e64c5f35a35f25475aab9fd4308cae2c495cd8181980799819a374f7460bf41f246d91ac297b96f804f3327e6b09e84b255b362b1f285873ddd5b107";
-  sha512.doc = "dba85b139b2146562acb51b64c8b0c7e4aef799e4bf25e131896c6143afd29d0279cd130db711d34fca06597792eef7f92be4ca10d34eb27f3da11a65b8713b0";
+  sha512.run = "4c7057d785c565e043daef78f4ddbb5dc307a3caa690044c803059034ef42fc1a14f61c93115b8060c330f480397040ab19b44636e167739a016175af61c2806";
+  sha512.doc = "ff112f54943d9f6f0e55cd0ef2a9b0cff1e088ea386c7853bfde9cf091b4ab762b38486c565da39fe5f0e63811c2d2b5661dbc5d98b740ffcc08982462214795";
   hasRunfiles = true;
   version = "1.0.1";
 };
@@ -34291,47 +35238,51 @@ tl: { # no indentation
   version = "2.7a";
 };
 "xlop" = {
-  revision = 42899;
+  revision = 54936;
   stripPrefix = 0;
-  sha512.run = "74f6ec3dfe32715ebe0bc0cbd3181dbc4e8384be19f2f7849333c21398fbb3a43d4e3385c8eb1dc81688bdde44072796cb1210402cdfa7522fd5a9052173004b";
-  sha512.doc = "792a49ef02b67b0db85c827c52ea644235bb2d8c8d8c8c9c4e5c36d1003ab643906e7bad13ddc505e884abecbba97d495ae8d93d4a958c5ff9ce10888c29ae6a";
-  sha512.source = "e9ffcbc786fb8a5f697f23d6e229afbc39dbd9e72bf5d6ec81c396d6b8f62208004475c712301b203e4baef70d1b45cf1a5a41d86997cbfd794a68c8b2020d00";
+  sha512.run = "616697adfe84cc937830738b58108c511a1f21b95d814ab70d88c43e6022c263b0df2a855600977e6006803677cc3d69d4f0408f89a4b21e7e497b23574c20ab";
+  sha512.doc = "e242468b910c0a9cfd3521eecb25423cf1f34b7fdddd3e7538201a6537755e00f4189e7fd636e154a04aa18fcff7c3b11169c4f4448f68eafd6d05cbe630840c";
   hasRunfiles = true;
-  version = "0.26";
+  version = "0.27";
 };
 "xltabular" = {
-  revision = 49939;
+  revision = 55561;
   stripPrefix = 0;
-  sha512.run = "57f734e3715107169b53c017e9524c1cd4f29a120e6f6aab7e50e380216ca2f841fb0aa5e3d5fe016a061b87d64eae4714f35dcda8ccb4b2c73ec4d5727a877e";
-  sha512.doc = "fb9567b70272ea7f49d6923a19748a1cc53615f45b56b2b573304c6cfa334f0dcf6aa1fc89a3236d814693332fa3cc71798d548323ec2b1c2bf34071ebd7fd19";
+  sha512.run = "090fa8d3b10f979b12a1dd1f90bd71382307d9c75864f44b35483fddcb3e304e7651c066c202ffd4497e08fe0c854ea93435b159787f9d857a9e5ff826ba733f";
+  sha512.doc = "9b80c2bd979030046c6d88f52c0951c6cade5388ecc477ac7ad867cb4220c0571374b47f2094a27f414805b8015b29a62573d9fa25ad57d411e831d6f4d7d0db";
   hasRunfiles = true;
-  version = "0.2b";
+  version = "0.2d";
 };
 "xltxtra" = {
-  revision = 49555;
+  revision = 56594;
   stripPrefix = 0;
   deps."metalogo" = tl."metalogo";
-  sha512.run = "decef1877478b8acd8a7a10abca00773bbae707dc47921adbf9e077c67fe186e8a90e5c9f35e8e8c173d93cbe799ba994f53d60e05eff4dde09525375d4e6bf3";
-  sha512.doc = "2f2ded483dee14a97d0e5f673e38864bfef93c41e0c694cd5435d37417f145e472b13c5256a7bde48c8f4439077f4055676a295ab410a7d6ecd4598955c5ff50";
-  sha512.source = "50790bef953636876456586b3908b15f914803fd87ff8c3cf4be576bf9930c2f450c99b60d390508d35d534e5d9bff0cd1b02fbe31bb29444207fff3868ccb1d";
+  sha512.run = "ff75c7b2f36f0e3cdc466dde35d83ccbb76c9c95f5d191a5498831247d1d418b69a8f0df8b263eae78e4a13694e628eba64c24e7480c7dbf56948cd5b1504a76";
+  sha512.doc = "6fc84121dd3486f5f7744d757520e2b4d7baf83686e2630990be7e72ccb121e5b417779e4682e6e8a566b016a8995f80d7d4c6dfb3d6d2c9f70ed506bee99d64";
+  sha512.source = "c177b99366479f6ed5ef935be07fbfc3425b48f2c3d274e175bbde9c63cbcc93ee4bca4c3c2886fdc2894b627332ff7edffa5b1083ad86dcced56bfb0d9fe03f";
   hasRunfiles = true;
   version = "0.7";
 };
 "xmltex" = {
-  revision = 53216;
-  deps."latex" = tl."latex";
-  deps."pdftex" = tl."pdftex";
-  deps."tex" = tl."tex";
-  deps."xmltexconfig" = tl."xmltexconfig";
+  revision = 54498;
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
+  deps."dehyph" = tl."dehyph";
+  deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
+  deps."l3backend" = tl."l3backend";
+  deps."l3kernel" = tl."l3kernel";
+  deps."l3packages" = tl."l3packages";
+  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
-  deps."dehyph" = tl."dehyph";
   deps."latexconfig" = tl."latexconfig";
+  deps."pdftex" = tl."pdftex";
+  deps."tex" = tl."tex";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "fc226772fb6487c102419e478e5944aa3e222f2cd5b00e892bf4902ee781795f2e8c8aedcdb40aaed473d65452742d6939b244b4c7852966323a22b375a66019";
-  sha512.doc = "000e0915906b85080455b68898dd76e0049bc27ed41dd01b39ce6566ac8a0f1c79e7373a003079c28a87d97ade76365cc88657f86fb85e4136ebdef9f7983f77";
+  deps."unicode-data" = tl."unicode-data";
+  deps."xmltexconfig" = tl."xmltexconfig";
+  sha512.run = "0fd2ab53c983706e42c33804e886f20956a08410e0e32976fb956cecf224c9ed397cb7ceb8aa9b717e3459084d597d715363752a346322f9c04e16acc86c9e46";
+  sha512.doc = "51f8a23a2f59a079909d580a8587d1a403bc0fc75b13adda212cca8fb9f58d8f19debbf53783eada1e80389d8556b742f62f575712eb5fa15f90e4c9933ede8c";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -34367,18 +35318,18 @@ tl: { # no indentation
   version = "1.0";
 };
 "xpatch" = {
-  revision = 27897;
+  revision = 54563;
   stripPrefix = 0;
-  sha512.run = "8f74955f059b7cc27b01772893cb28c565df3773fe308d7862f7a41bc1930ebe8712468d8e32027d82b3b4f6c1a800b007ae202d8fe672d389f40f582ccb4e70";
-  sha512.doc = "49fb3a9aa844ffe4dfc2e2adcf3ef6135302678bc423c377e171cea4ac784d9e5045e4f080aeec622e2cb5db7f706b8b5592d65e1bab60af766aa7df586979f2";
-  sha512.source = "70bdfc42f330594ad9435acf846243880c3c34cceb57708b8e61fde89e07933f2b9bd131f0ab933d5c7b1076412e150e48357f88ff67441c1e0f4e1d294dca9d";
+  sha512.run = "d96d078066ee7cd39585754b0ed1aa2bd5680f90eb2a879bb2dcb47cfe834094f0b5fa1373ecd7f80f626c1a8a8fd4823525c33fa0e67f63b0beb4031a35956e";
+  sha512.doc = "49479d5a73beda78852f80f786e559caa49b51a44c79e73d689499429ee177ccc1a93064122c13e5cf4e34f00350df3e18fc131505364dd8cbf218e851249e8f";
+  sha512.source = "bed0cd07054aa93d1bc328b57792c79ae90c3f5feb5b6f86e76b4b7c4a2b583248c19b9147d268e1dcb16c107b0dc18b34fe13f537b10042839a46a98b5afb25";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "xpdfopen" = {
-  revision = 52954;
-  sha512.run = "4bc35a5699e39b12f6f38b48ed7e136e9c5c54cbcad71119d7ffcb0688df9739187b4e0042782a2678233b289902b24c6537ba10303ff26846bfe73b98c9f54e";
-  sha512.doc = "8dae12489e11fdc9e5e2aec22a4c70e8f8d15708b907404dde849b915515fe1f3d0771762f3a18112c8e2760e30bd1605d208b4315753ab37f738646e90c6f32";
+  revision = 53998;
+  sha512.run = "fe873bb22b94a26720e37671e283e0085619c2129a4568399544ac0df1e5c443a9476590ca7ef76a21409589eb2416a14165b8a48a6182f3773a3009cb7c1a47";
+  sha512.doc = "bb4be8fe1b4590e74a7573baa1d699895fb62f6b30b05c9c81655001c75ffb43a6d7f92deca337072690ce3297d4ab06f1aca389524c5d5d500a9fce4abd8404";
   version = "0.86";
 };
 "xpeek" = {
@@ -34409,13 +35360,13 @@ tl: { # no indentation
   version = "1.2a";
 };
 "xpinyin" = {
-  revision = 50849;
+  revision = 54959;
   stripPrefix = 0;
-  sha512.run = "7235eeaf6b0218d4ee87a07b8b16034cbd40ccdf77c96baba14d4ab8a6bd5de78c5f5ab68891a6a91fe4bd0a77de146c357f4e4af4ed443ca8a38526f4f53240";
-  sha512.doc = "b20233a1ff1f2f1f1474e5bcf81fab3747c26a3312d91297c73d1e57ebafd9459727c91da025b5cb4c1875ba5876873eb8099ad4012d85a972dc4fd1ea90e7e8";
-  sha512.source = "47dc1053cdbb87ed09e2bdd6c6fe447c011c1c2af4cfc8a1108431aefc3f5dca069a8bc60b0e97c0775a1ad1cfb54999a69ceee7f85fb493c2e8b0f6d634486e";
+  sha512.run = "7212843681fd11e08bd7474194348f78cb56cb74421fae5020a7cab8afd766718e9d5ed0672dec3272498b186f4f9b79a774d4de5026345df033ef5f1e68313c";
+  sha512.doc = "edecda1ff3c1ac3a1c6b563da9a36ee0ae41ac1b9952c994ece387cc0985e045efb80d50b8fd251fb8a6167fcfc6b154b1f08ad7aed1ce1c12a8907bd7d954e4";
+  sha512.source = "8bde3970eed2f31970218d7ba6a7ac74d47ae51d3d6ba70f9e66a80a061518ee8aac1e1914b32468f1aa11e7d7ac3b0c3b1d27907d17111776c2a4d97d0a4203";
   hasRunfiles = true;
-  version = "2.7";
+  version = "2.8";
 };
 "xprintlen" = {
   revision = 35928;
@@ -34443,21 +35394,21 @@ tl: { # no indentation
   version = "0.4";
 };
 "xsavebox" = {
-  revision = 52780;
+  revision = 54097;
   stripPrefix = 0;
-  sha512.run = "c6d04ba20e6218c39271dff28864fdd4063f0cae3f07fb5fe9452e27588873364d777815e9a08d0ca8324a1d92d693a91895ef66939e374cde0bb2722a6be3f3";
-  sha512.doc = "ef5f40ad12ec9f7c957a8329d396677667c1bb6288769259a5763e68f34e71b7473435ebc44dc7c8a6b9696a5f29d5f66cc2a070628b11ee585c7ee5ef955e74";
-  sha512.source = "a49c6d3f638335dd1e0f6a8064712c2970e7efaa0973cce4c46b6b05829f77186a88d077fe296fa0eea2529aec440efd67bc2f9283544a70fae6cd25c5877468";
+  sha512.run = "bcfb1ea2043163f3ebba520235ebcf8a0cb69a4e167a439adb24f0582166f3e7a74072ba5ccfc5482948a6a423c6684dcee4dda7f0170f6eea2e86292087818a";
+  sha512.doc = "0722ad2a511709f68254c97cce7eac6a2e0d5b452d146dcb9f264f385444d6f92021161378cfadd1c26442696e2fcee3cab7a720ce4a68463f4eccacb11639a0";
+  sha512.source = "6064e060001f189f8a58b5fe3de87d68366d48bea8c6b0ad8e41f32ef6eb0d87dd12662aa8ad27e89b8701c32822503f6bc830837f7c33ba46ef3a9db651fa48";
   hasRunfiles = true;
-  version = "0.15";
+  version = "0.16";
 };
 "xsim" = {
-  revision = 53893;
+  revision = 54681;
   stripPrefix = 0;
-  sha512.run = "e3ccb054ca87583ff2dd5e624f0ca55cae742f53784fca9121e9e51d9cbb6c8af6b577fd5fd6b865924ddd63a4e4b1517f824907b0f0748a4f8963b671964055";
-  sha512.doc = "d85ad02e7bee8f08b28fc903c6178fddba89baaa3bb82dffd58396fea29bc6bbe68cd51621a0c422a0e7097f1536d6e995d86b8ed78fc15a261ec828352e1fb2";
+  sha512.run = "d69511b202318fde267165471516d92bfd6c0c34c0a45ca2b1b9224ea5eedbf96e230f332992aa2a5e068621aac2d9af322028aa92cd1febd6dcf795e1136509";
+  sha512.doc = "fbdab934363c655a3d95fce5ee16e01435895826b82a2d152b276a1ec7d1ac6550ac922b2724ff34fe2453f27a17e1baa05f1ed7423795430f2fcd2fbe1000e1";
   hasRunfiles = true;
-  version = "0.18";
+  version = "0.19b";
 };
 "xskak" = {
   revision = 51432;
@@ -34592,19 +35543,19 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "yathesis" = {
-  revision = 50630;
+  revision = 55578;
   stripPrefix = 0;
-  sha512.run = "f1ce86e173825007f87c2e4c3020ac761e7689cc079993dc7fbcb89985cc8e2684eb5bee4dc7e0a7bf44df0a37fe1d8fb8193e7006b511c256dad2b1b1e1ca4b";
-  sha512.doc = "55f640414d27a1786edb8c1e4542bdabef94fe89e40c5eb06b56db97c6cd06f72f9386a4d27e674e956e7230015406a8f9df54f90e898ea8b7f174f5eeae6dd6";
-  sha512.source = "f3014c4a15010794a30c14a51f9fba4ef39a128e4dd566991b57bd66be3f877745e14c8b1f8e50942870dd3867c892a99d352a9c2d8b275fb299d8c58c511de6";
+  sha512.run = "6568c02322bed6aa694089977c81d3f86d9cc184fd75afbb23a1b41021dd304f36ba9e5809c233ef9b0b04709f7e98d77b526569d8dc134de527985093b8b50a";
+  sha512.doc = "9212f8068e78c12e315f2fad35ace56881d7c4ba8436bed2312fd37083ffbba6fea408df29f7b88578ddadbc3697416726f21395c56ca1dc71d60e80c8cc6456";
+  sha512.source = "e8960ed6c320f403d84eec1be5fa4b2c459715f315623c7384538dd91369e65ba848e6e41e796f3bde7c29618f8ce80b785b05ac841e87c66bd7e359fba25a3c";
   hasRunfiles = true;
-  version = "0.99u";
+  version = "1.0.3";
 };
 "yax" = {
-  revision = 21183;
+  revision = 54080;
   stripPrefix = 0;
-  sha512.run = "2fad927b46209e0705f96bcc5aafa9774d5a7cd7e4f984e48950525c282cc5e2273a21f5645bcdecff0a102a236f9f8470fffde829b44a886fe40f47699f94b2";
-  sha512.doc = "f648b61eebdeb9a1d0497cc22205361c5495139fbf835173e067773956793c28220a6a6b8d3f7ac7f275cbcbb77b06a1774e0f4519587fca390d0aabe34ccf80";
+  sha512.run = "a625e7e4d26368732a8700f71f102fb17965a6a85d5a3c28e170dc19248ec0f3cdfd0905c76f0431585e955e29293b49b6dffcf93ed7bdbd80b5d62cca2775e7";
+  sha512.doc = "783a606e55a6d2bbd1fb4052bcc84ac499953838808161facd8a76fe0e46a3de8ff0399831bc4e8ddbab02be84a3da68f0f7535c0d3b0b1f3d8d6cfba63ab0a8";
   hasRunfiles = true;
   version = "1.03";
 };
@@ -34624,11 +35575,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ydoc" = {
-  revision = 26202;
+  revision = 56291;
   stripPrefix = 0;
-  sha512.run = "4e4292e4e6e6b4f5db8ff0721eacb582960932f48a221835c3e07841168b1f81227fcaaa41ed619430c5455edaef38dc073a8cf6c584ac759e88b9f40710caa3";
-  sha512.doc = "c5257e669d802563c6ecec45a53645a69bc4c7980c95dc0a98164c950c1e5b12b5b4d012bd8a97164fa9b055eb84184c4df520b08949f68283d2ef2e33658838";
-  sha512.source = "a7bfd7160ce16a03505347e158b629c98519f2114f057529a52caf24f818d1553e76714936a9f92b0020b9d16826b5fd259a12d68fe63037cb04f89ef11657a4";
+  sha512.run = "59c30887f6f7e5efb1aadd24b63fe15489f99c7af2f448aeb4e8cc10e846831df2061aa470e8bd104f7ae86dd438bb65a91e7666c68a5ecc18b607adf6962c97";
+  sha512.doc = "74d2d0ea05849b280aba78ed0f3ac409cb379938166e791c2fbc77f3bb792e4df3bba287912b6bd35ad9e99592f8b36ff2113ab8c667ad58374dc20298af9121";
+  sha512.source = "3b09eb1036668097dc185595a8ed703b99f83cab068ab8221385d8ca3dfa73b476478f337adb1ed273554c6c2011f0f03ae1b4138a5d1f62268cbf892e70051c";
   hasRunfiles = true;
   version = "0.6alpha";
 };
@@ -34650,13 +35601,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "yhmath" = {
-  revision = 50127;
+  revision = 54377;
   stripPrefix = 0;
-  sha512.run = "10b98d5af7f179643bc0cd0fbf63e4a088c07e64ca6ac5f20ef05f3a00226159354f212de85ade3c7d96b9fb67e46207fbf7bed9f47a542df8427ac5fe248653";
-  sha512.doc = "cae6f92dd19363251fddd7e6a2934e10e3b22840b5be4c9cc94c399637cfee241fcb34dfa22e93fbde3a599e14c82fb32a72c329c5de3af395ef2848ae7841ff";
-  sha512.source = "61154cd7ae0f43ccc31fdf1c2f2c7e5307bc886990c6a137089cf0d40e7634952026458e92b9c2ec5c7ccf8b6a2969f018c1653b9909d6e0ee848177accb4124";
+  sha512.run = "88476f5355d041f1920c4f0f954853828bdfaf27b9d0441982a38e3dfe79b40377a83614794024ee8c8463eaf5d1c350bff033f1c53e031451ab7cd095e14948";
+  sha512.doc = "56fb12fcc4099f14c5746727b3c3051d84097cd8a715023545c3a2fafcc5a5abe55980a12e4384f674ef6cad2c7d6dab2beb8374e4cb3af81f711c2e8320d97b";
+  sha512.source = "57a97c1310cfefcc453d031dd3c4701bac2a36c04f435f7a823e1b83671afccadc33d213e9578f4bbf806b6c73aaf33d3816dcafa86fb4447d53659e11f83072";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "yinit-otf" = {
   revision = 40207;
@@ -34676,11 +35627,11 @@ tl: { # no indentation
   version = "3.6";
 };
 "youngtab" = {
-  revision = 17635;
+  revision = 56500;
   stripPrefix = 0;
-  sha512.run = "d394f53ea68d2874036faa0d00323a0c15e3144a2433e27db0a630f05a637bad37d297132a92c00bc5ba3fb8a8bc643bc8778787b8897ab03296eb62d33683b6";
-  sha512.doc = "38d42380d67372f2b84984cf41b0cd775c6b707405baffc5852cb147bba914899bcc09230e645e7779deb142358a4bf46f1efa0b47f159eeadc09d3e99f2728d";
-  sha512.source = "88d214c9cd6d87f6cd2c075ebb5554c55038f0eacbe047d7d90ab1a3fe695a9329c34149c2026fafed045e02449688e2fc3b0b5ecc24d0960640a3557a284739";
+  sha512.run = "4ac5c3803a2e815c51178fa30086ad25c1dd2b430753d582376c9f6c720bd1a72db1d285d2b0cd810e3564961ce3641f3b482d685126e880cfb1dc856dc74bc0";
+  sha512.doc = "b291614a22227693f93422af280200fd927fcefd0399d4294f934ff8882d26e263a3a1dcbac3ad2289d2adf2ff92c76a8223eb450de46e0b1df283af31bac3da";
+  sha512.source = "57110b41ada1866d327eee8f1eae1ad61ad7bea1428bf9a3ccd31b9cf27e19537952ef756299f62e5204e5fddf5d032c8170eb36d6a9fe73e66c8d72e1c4f085";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -34690,6 +35641,14 @@ tl: { # no indentation
   sha512.doc = "7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463";
   hasRunfiles = true;
 };
+"yquant" = {
+  revision = 56189;
+  stripPrefix = 0;
+  sha512.run = "acee12495068caed7b37268700dabd4d753495dacae3c91e2d932081af326ef46f1575b5b4a8b29a08767b25c64c8195aaef4d4132813a7177762c7ac6fdf796";
+  sha512.doc = "c8d299c28e32670222473bba56dc8d11b8e6f843f5714d62dba36ef4d8cf1a43dca1fcc8bc213d67a7a0cda5d792d23c51ec74256157b07a819d7087b75d2951";
+  hasRunfiles = true;
+  version = "0.3.2";
+};
 "ytableau" = {
   revision = 27430;
   stripPrefix = 0;
@@ -34736,13 +35695,13 @@ tl: { # no indentation
   version = "1.0e";
 };
 "zhlipsum" = {
-  revision = 48629;
+  revision = 54994;
   stripPrefix = 0;
-  sha512.run = "64ccc1f0baf30980162ce259d897a9fc97c6771768fadc3958e398e38f96ac6ea115b126a1b106270a7a509358108ffe8b93cf52af87503c66b8a365585391f6";
-  sha512.doc = "06692d711ee3009bf11bc641569a9e3b0d6e339e0b7dca6e5e5d3a689b3fd24a5d4eaa45de7cd4ac2c0e3feea5c2612881dcc4bca88b12f554bc78fe96cb8220";
-  sha512.source = "32d12c4f3699275119f5dacbd7b6bbb559555ddceeccfcd908e0bb6f2db50b76cbe0323b7ce6e0474d369a1e343718cb0024cd0f87487e629dfc9f104c3e6950";
+  sha512.run = "d62f2a16f2303db7846073b215b3e8f822b7470510eb84367b1ba177c971e587adcea92757a3a4f5612abf103bd11cc8f2ae3ab953833365fb2255ee87563cb8";
+  sha512.doc = "dcd0d706d9e402ad1b4eab910294ac4e802a58c2e54a3ee19b6dcef9fc3e052b84b559f452bb32b78d27a99e65a0820d2029e53079ce21068618f5c620f9502f";
+  sha512.source = "92054c4839953e84a15abc6ca280ca2d755d5854b284c30521f17e54528bd4c369e9298e596606c877ecc74533fa81d8a8d544c2819f14d48157ee996a26a922";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2.0";
 };
 "zhmetrics" = {
   revision = 22207;
@@ -34762,13 +35721,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "zhnumber" = {
-  revision = 50850;
+  revision = 54960;
   stripPrefix = 0;
-  sha512.run = "f5e0783636ca643463811293816c95f2e20345fc6b08f2bd22143ead830b102b7d5acb6dd587975ecae205ce8b79d75cff62bab153a6ada689958835c77298c5";
-  sha512.doc = "d58579fcb6b5464db3d1ec20942b61516eb481df88fa23ef24f890a937fa72b62c6fef7fd2772172c4faf1a616805bfe32bdf39e17d854b907dc61ec9f6b6f4e";
-  sha512.source = "c3ac546227494e59e44324c1f637e280982ba1a27644add9d1c8248b2cee0299154adef6d673eba91ef39124db16dafe0d30dc0ec09bfe9b2dc9f28b6b10bf61";
+  sha512.run = "f9548c3e89e837f8967122de1b2ed45c083a741be3862824ef2bfb5b60bd0758e3f4360b2c1a1a886fb68da4947a77c6431c10339676db0b7518bc93db6c411f";
+  sha512.doc = "36de5c397a5966d5da5b71ee1a05b0e3d597782122e86dd184e146699fd5ecf08b6c2ed014bcaa86db8c9b2146d3863d8aa46078b94b33fb3fcf4a7a5a14f271";
+  sha512.source = "043029751abb4630fd1486dabea05f01a97557682cd00c7640e2c1fdf053b0bc5a99ba52debbdc6a98232cb5d8aef49cb68f17c1376f802c900c49f18e07c1f4";
   hasRunfiles = true;
-  version = "2.7";
+  version = "2.8";
 };
 "zhspacing" = {
   revision = 41145;
@@ -34802,13 +35761,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "zref" = {
-  revision = 52980;
+  revision = 55327;
   stripPrefix = 0;
-  sha512.run = "a4c944f78f4dd08e093a7b422983114fe335251f25fc9b9d2f64e08e725a05ab986729bc9b8a8eb7af5b6acf7490220fb5fe3ec7bf662583e1ddac09241291ec";
-  sha512.doc = "4166217c06abecef648706304e3ed02cd43c29317d918fe3fc60873e0b12d074e5a4304d57496b8ab7f902d4eeb848c38e068eeeddba559b0fb5ec88e1f316db";
-  sha512.source = "6baa0269f28d6c6bfb3e2853620bc584da225c9ed6e8ab4e22747075c6af245bd3e56b686524261799257d83fbfccb224a4b5a3f6265d340c5d007a98f8e5702";
+  sha512.run = "ab36a4be0c9fd15b9b8c6ec1b726deb6e7a3a3974d4c50fec9712aa34ce5f719a67903807e0781574872d56d62e27ee8bce73a87b4be4393bb9e9ba44e256719";
+  sha512.doc = "42f84e5df57b2032a0e6ba3acb1d509f6eae7742ac7e3ad1e8952c60d13e38482b63498e40aa9f1830e023569edc957421b481a84dde697893e914911661d7c7";
+  sha512.source = "03d16a0069569f08a6b564c50948ae813ffe56839876e6e05bef2f5aa10703dda88209c34432bbf0913afd95d3437ec71e9288858d60ae9d0ad015f71df5d253";
   hasRunfiles = true;
-  version = "2.28";
+  version = "2.31";
 };
 "zwgetfdate" = {
   revision = 15878;
@@ -34849,4 +35808,12 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.7";
 };
+"zztex" = {
+  revision = 55862;
+  stripPrefix = 0;
+  sha512.run = "eb325564ee9e001e0e5ff79b6e3cc9f22f5b9b100ef021552f54953802edbce1e4b1295ff4590832f959386db7a63aaf8e31dc2d61b38e5c8a140082ca423e83";
+  sha512.doc = "bd2a3a42b62da61db572058b4731161425545374584a575607f11bb2302aa2ce900b694aaf06562f4c9eb9046c80c4fbf5b50233f6d0526fac787c213070d542";
+  hasRunfiles = true;
+  version = "17.7";
+};
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/poppler84.patch b/nixpkgs/pkgs/tools/typesetting/tex/texlive/poppler84.patch
deleted file mode 100644
index 02dc9e2413d3..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/poppler84.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cf05aae9685e5c6a46b4313e7bfce49edc6f51f9 Mon Sep 17 00:00:00 2001
-From: Mikle Kolyada <zlogene@gentoo.org>
-Date: Tue, 31 Dec 2019 11:29:30 +0300
-Subject: [PATCH] poppler-0.84 compat
-
-Upstream report: https://tug.org/pipermail/tex-k/2019-December/003096.html
-
-Signed-off-by: Mikle Kolyada <zlogene@gentoo.org>
----
- texk/web2c/pdftexdir/utils.c    | 1 -
- texk/web2c/xetexdir/XeTeX_ext.c | 3 +++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/texk/web2c/pdftexdir/utils.c b/texk/web2c/pdftexdir/utils.c
-index c93a8781..6f866e76 100644
---- a/texk/web2c/pdftexdir/utils.c
-+++ b/texk/web2c/pdftexdir/utils.c
-@@ -33,7 +33,6 @@ with this program.  If not, see <http://www.gnu.org/licenses/>.
- #include "ptexlib.h"
- #include <png.h>
- #ifdef POPPLER_VERSION
--#include <poppler-config.h>
- #define xpdfVersion POPPLER_VERSION
- #define xpdfString "poppler"
- #else
-diff --git a/texk/web2c/xetexdir/XeTeX_ext.c b/texk/web2c/xetexdir/XeTeX_ext.c
-index 4968ee41..0aee4ee3 100644
---- a/texk/web2c/xetexdir/XeTeX_ext.c
-+++ b/texk/web2c/xetexdir/XeTeX_ext.c
-@@ -38,7 +38,10 @@ authorization from the copyright holders.
- 
- #include <w2c/config.h>
- 
-+#ifndef POPPLER_VERSION
- #include <poppler-config.h>
-+#endif
-+
- #include <png.h>
- #include <zlib.h>
- #include <graphite2/Font.h>
--- 
-2.24.1
-
diff --git a/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix b/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
index f37bfb7c133b..31b260d846c7 100644
--- a/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
@@ -3,9 +3,10 @@
 , bash, getopt, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xmlto-0.0.28";
+  pname = "xmlto";
+  version = "0.0.28";
   src = fetchurl {
-    url = "http://fedorahosted.org/releases/x/m/xmlto/${name}.tar.bz2";
+    url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i";
   };
 
diff --git a/nixpkgs/pkgs/tools/video/atomicparsley/default.nix b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
index 9a19a6789e57..2f7e4d97cbba 100644
--- a/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
+++ b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
@@ -1,39 +1,31 @@
-{ stdenv, fetchhg, autoreconfHook, zlib, Cocoa }:
+{ stdenv, fetchFromGitHub, cmake, zlib, Cocoa }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "atomicparsley";
-  version = "0.9.6";
+  version = "20200701.154658.b0d6223";
 
-  src = fetchhg {
-    url = "https://bitbucket.org/wez/atomicparsley";
-    sha256 = "05n4kbn91ps52h3wi1qb2jwygjsc01qzx4lgkv5mvwl5i49rj8fm";
+  src = fetchFromGitHub {
+    owner = "wez";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-EHO4WkxoAXUhuJKMNYmBbGfOgtO9uklzXtWS4QsV1c8=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [ zlib ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
+                ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
 
-  configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # AC_FUNC_MALLOC is broken on cross builds.
-    "ac_cv_func_malloc_0_nonnull=yes"
-    "ac_cv_func_realloc_0_nonnull=yes"
-  ];
-
-  installPhase = "install -D AtomicParsley $out/bin/AtomicParsley";
+  installPhase = ''
+    runHook preInstall
+    install -D AtomicParsley $out/bin/AtomicParsley
+    runHook postInstall
+  '';
 
   meta = with stdenv.lib; {
-    description = ''
-      A lightweight command line program for reading, parsing and
-      setting metadata into MPEG-4 files
-    '';
-
-    longDescription = ''
-      This is a maintained fork of the original AtomicParsley.
-    '';
-
-    homepage = "https://bitbucket.org/wez/atomicparsley";
-    license = licenses.gpl2;
+    description = "A CLI program for reading, parsing and setting metadata into MPEG-4 files";
+    homepage = "https://github.com/wez/atomicparsley";
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pjones ];
   };
diff --git a/nixpkgs/pkgs/tools/video/bento4/default.nix b/nixpkgs/pkgs/tools/video/bento4/default.nix
index 94a1a5d04f32..87585caebfb5 100644
--- a/nixpkgs/pkgs/tools/video/bento4/default.nix
+++ b/nixpkgs/pkgs/tools/video/bento4/default.nix
@@ -3,13 +3,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "bento4";
-  version = "1.5.1-629";
+  version = "1.6.0-637";
 
   src = fetchFromGitHub {
     owner = "axiomatic-systems";
     repo = "Bento4";
     rev = "v${version}";
-    sha256 = "1614idy0r7qrkiaq4kz3gh1b1bpx592aqvi574kxnjrxc34kpmb3";
+    sha256 = "0iwqi71nj0iczffvpxmz0prvmmnyiqypfwvzivkh38wl0br82bkp";
   };
 
   patches = [ ./libap4.patch ];
diff --git a/nixpkgs/pkgs/tools/video/rav1e/default.nix b/nixpkgs/pkgs/tools/video/rav1e/default.nix
index ae7a45b562d9..ae300f47b19e 100644
--- a/nixpkgs/pkgs/tools/video/rav1e/default.nix
+++ b/nixpkgs/pkgs/tools/video/rav1e/default.nix
@@ -1,18 +1,32 @@
-{ rustPlatform, fetchFromGitHub, lib, nasm, cargo-c }:
+{ stdenv, rustPlatform, fetchurl, fetchFromGitHub, lib, nasm, cargo-c }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.3.4";
+  version = "0.4.0-alpha";
 
-  src = fetchFromGitHub {
-    owner = "xiph";
-    repo = "rav1e";
-    rev = "v${version}";
-    sha256 = "0zwjg0sv504i1ahzfy2jgng6qwmyvcrvdrp4n3s90r4kvwjkv8xs";
-  };
+  src = stdenv.mkDerivation rec {
+    name = "${pname}-${version}-source";
+
+    src = fetchFromGitHub {
+      owner = "xiph";
+      repo = "rav1e";
+      rev = "v${version}";
+      sha256 = "1fw1gxi8330kfhl9hfzpn0lcmyn5604lc74d6g6iadzz2hmv4mb9";
+    };
+
+    cargoLock = fetchurl {
+      url = "https://github.com/xiph/rav1e/releases/download/v0.4.0-alpha/Cargo.lock";
+      sha256 = "002s2wlzpifn5p2ahdrjdkjl48c1wr6fslg0if4gf9qpl8qj05fl";
+    };
 
-  cargoSha256 = "1mfzshcbxky27nskxhcyrj99wd3v5f597ymgv7nb67lzp5lsyb24";
+    installPhase = ''
+      mkdir -p $out
+      cp -r ./* $out/
+      cp ${cargoLock} $out/Cargo.lock
+    '';
+  };
 
+  cargoSha256 = "1i5ldqb77rrhfxxf9krp7f6yj3h6rsqak6hf23fd2znhgmi7psb1";
   nativeBuildInputs = [ nasm cargo-c ];
 
   postBuild = ''
@@ -31,7 +45,7 @@ rustPlatform.buildRustPackage rec {
       libaom (the reference encoder) is too slow.
       Features: https://github.com/xiph/rav1e#features
     '';
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/xiph/rav1e";
     changelog = "https://github.com/xiph/rav1e/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = [ maintainers.primeos ];
diff --git a/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix b/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
index 08d37a1d53bc..239a00a665d8 100644
--- a/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
@@ -1,17 +1,17 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper
 , apk-tools, coreutils, e2fsprogs, findutils, gnugrep, gnused, kmod, qemu-utils
-, utillinux
+, util-linux
 }:
 
 stdenv.mkDerivation rec {
   pname = "alpine-make-vm-image";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "alpinelinux";
     repo = "alpine-make-vm-image";
     rev = "v${version}";
-    sha256 = "0955kd2ddqfynjwk2xfzys96l7abxp30hhrs2968hl78rhmkvpnq";
+    sha256 = "0cjcwq957nsml06kdnnvgzki84agjfvqw3mpyiix4i4q5by91lcl";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/alpine-make-vm-image --set PATH ${lib.makeBinPath [
       apk-tools coreutils e2fsprogs findutils gnugrep gnused kmod qemu-utils
-      utillinux
+      util-linux
     ]}
   '';
 
diff --git a/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix b/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
index 19766fb5ba9d..bd63481054c3 100644
--- a/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ecs-cli";
-  version = "1.18.1";
+  version = "1.21.0";
 
   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 = "1q0qsvxwz6mgslwzwslddxxv45v9wmlbbkxgyfz3dfkw6n6d1a2s";
+        sha256 = "sEHwhirU2EYwtBRegiIvN4yr7VKtmy7e6xx5gZOkuY0=";
       }
     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 = "0hik88z5xm1pw6a3mxa6zpghdv47s6bg56srxv4azjinzdi59s3b";
+        sha256 = "1viala49sifpcmgn3jw24h5bkrlm4ffadjiqagbxj3lr0r78i9nm";
       }
     else throw "Architecture not supported";
 
diff --git a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
index aff00519a2dc..00f8ed89a2bf 100644
--- a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
@@ -83,8 +83,8 @@ in with localPython.pkgs; buildPythonApplication rec {
   ];
 
   postInstall = ''
-    mkdir -p $out/etc/bash_completion.d
-    mv $out/bin/eb_completion.bash $out/etc/bash_completion.d
+    mkdir -p $out/share/bash-completion/completions
+    mv $out/bin/eb_completion.bash $out/share/bash-completion/completions/
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch b/nixpkgs/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch
index 00cb7d070c64..997d28aaecbf 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch
+++ b/nixpkgs/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch
@@ -1,18 +1,36 @@
-diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/__init__.py cloud-init-0.7.6/cloudinit/distros/__init__.py
---- cloud-init-0.7.6.orig/cloudinit/distros/__init__.py	2014-10-10 15:26:25.000000000 +0000
-+++ cloud-init-0.7.6/cloudinit/distros/__init__.py	2016-06-08 07:51:45.230357099 +0000
-@@ -43,6 +43,7 @@
-     'freebsd': ['freebsd'],
-     'suse': ['sles'],
-     'arch': ['arch'],
+From 269cc4c9558549f340ec186d9246654564b2f633 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Tue, 18 Aug 2020 10:22:36 +0100
+Subject: [PATCH] add nixos support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ cloudinit/distros/__init__.py |   1 +
+ cloudinit/distros/nixos.py    | 103 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 104 insertions(+)
+ create mode 100644 cloudinit/distros/nixos.py
+
+diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
+index 2537608f..c533b585 100755
+--- a/cloudinit/distros/__init__.py
++++ b/cloudinit/distros/__init__.py
+@@ -47,6 +47,7 @@ OSFAMILIES = {
+     'gentoo': ['gentoo'],
+     'redhat': ['amazon', 'centos', 'fedora', 'rhel'],
+     'suse': ['opensuse', 'sles'],
 +    'nixos': ['nixos'],
  }
  
  LOG = logging.getLogger(__name__)
-diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/cloudinit/distros/nixos.py
---- cloud-init-0.7.6.orig/cloudinit/distros/nixos.py	1970-01-01 00:00:00.000000000 +0000
-+++ cloud-init-0.7.6/cloudinit/distros/nixos.py	2016-06-08 07:50:58.602616595 +0000
-@@ -0,0 +1,98 @@
+diff --git a/cloudinit/distros/nixos.py b/cloudinit/distros/nixos.py
+new file mode 100644
+index 00000000..d53d2a61
+--- /dev/null
++++ b/cloudinit/distros/nixos.py
+@@ -0,0 +1,103 @@
 +# vi: ts=4 expandtab
 +#
 +#    Copyright (C) 2012 Canonical Ltd.
@@ -35,10 +53,13 @@ diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/clou
 +#    You should have received a copy of the GNU General Public License
 +#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 +
++import os
++
 +from cloudinit import distros
 +from cloudinit import helpers
 +from cloudinit import log as logging
 +from cloudinit import util
++from cloudinit import atomic_helper
 +
 +from cloudinit.distros.parsers.hostname import HostnameConf
 +
@@ -52,6 +73,8 @@ diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/clou
 +        # calls from repeatly happening (when they
 +        # should only happen say once per instance...)
 +        self._runner = helpers.Runners(paths)
++        self.usr_lib_exec = os.path.join(os.path.dirname(__file__),
++                                         "../../../../../libexec")
 +        self.osfamily = 'nixos'
 +
 +    def _select_hostname(self, hostname, fqdn):
@@ -72,7 +95,7 @@ diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/clou
 +        if not conf:
 +            conf = HostnameConf('')
 +        conf.set_hostname(your_hostname)
-+        util.write_file(out_fn, str(conf), 0644)
++        atomic_helper.write_file(out_fn, str(conf).encode("utf-8"))
 +
 +    def _read_system_hostname(self):
 +        sys_hostname = self._read_hostname(self.hostname_conf_fn)
@@ -111,3 +134,6 @@ diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/clou
 +
 +    def update_package_sources(self):
 +        raise NotImplementedError()
+-- 
+2.28.0
+
diff --git a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
index bf932ff1ad4f..24ecb7f99c37 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
@@ -1,40 +1,85 @@
-{ lib, pythonPackages, fetchurl, cloud-utils }:
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, jinja2
+, oauthlib
+, configobj
+, pyyaml
+, requests
+, jsonschema
+, jsonpatch
+, pytest
+, httpretty
+, dmidecode
+, pytestCheckHook
+, shadow
+, cloud-utils
+, openssh
+}:
 
-let version = "0.7.9";
+let version = "20.3";
 
-in pythonPackages.buildPythonApplication {
+in buildPythonApplication {
   pname = "cloud-init";
   inherit version;
   namePrefix = "";
 
-  src = fetchurl {
-    url = "https://launchpad.net/cloud-init/trunk/${version}/+download/cloud-init-${version}.tar.gz";
-    sha256 = "0wnl76pdcj754pl99wxx76hkir1s61x0bg0lh27sdgdxy45vivbn";
+  src = fetchFromGitHub {
+    owner = "canonical";
+    repo = "cloud-init";
+    rev = version;
+    sha256 = "1fmckxf4q4sxjqs758vw7ca0rnhl9hyq67cqpqzz2v3s1gqzjhm4";
   };
 
-  patches = [ ./add-nixos-support.patch ];
+  patches = [ ./0001-add-nixos-support.patch ];
   prePatch = ''
-    patchShebangs ./tools
+    substituteInPlace setup.py --replace /lib/systemd $out/lib/systemd
+  '';
 
-    substituteInPlace setup.py \
-      --replace /usr $out \
-      --replace /etc $out/etc \
-      --replace /lib/systemd $out/lib/systemd \
-      --replace 'self.init_system = ""' 'self.init_system = "systemd"'
+  postInstall = ''
+    install -D -m755 ./tools/write-ssh-key-fingerprints $out/libexec/write-ssh-key-fingerprints
+    for i in $out/libexec/*; do
+      wrapProgram $i --prefix PATH : "${lib.makeBinPath [ openssh ]}"
+    done
+  '';
 
-    substituteInPlace cloudinit/config/cc_growpart.py \
-      --replace 'util.subp(["growpart"' 'util.subp(["${cloud-utils}/bin/growpart"'
+  propagatedBuildInputs = [
+    jinja2
+    oauthlib
+    configobj
+    pyyaml
+    requests
+    jsonschema
+    jsonpatch
+  ];
 
-    # Argparse is part of python stdlib
-    sed -i s/argparse// requirements.txt
-    '';
+  checkInputs = [
+    pytestCheckHook
+    httpretty
+    dmidecode
+    # needed for tests; at runtime we rather want the setuid wrapper
+    shadow
+  ];
 
-  propagatedBuildInputs = with pythonPackages; [ cheetah jinja2 prettytable
-    oauthlib pyserial configobj pyyaml requests jsonpatch ];
+  makeWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [
+      dmidecode cloud-utils.guest
+    ]}/bin"
+  ];
 
-  checkInputs = with pythonPackages; [ contextlib2 httpretty mock unittest2 ];
+  disabledTests = [
+    # tries to create /var
+    "test_dhclient_run_with_tmpdir"
+    # clears path and fails because mkdir is not found
+    "test_path_env_gets_set_from_main"
+    # tries to read from /etc/ca-certificates.conf while inside the sandbox
+    "test_handler_ca_certs"
+  ];
 
-  doCheck = false;
+  preCheck = ''
+    # TestTempUtils.test_mkdtemp_default_non_root does not like TMPDIR=/build
+    export TMPDIR=/tmp
+  '';
 
   meta = {
     homepage = "https://cloudinit.readthedocs.org";
diff --git a/nixpkgs/pkgs/tools/virtualization/cloudmonkey/default.nix b/nixpkgs/pkgs/tools/virtualization/cloudmonkey/default.nix
index 2565d9346b0e..8b9cd18cd0a7 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloudmonkey/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cloudmonkey/default.nix
@@ -16,7 +16,7 @@ buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "CLI for Apache CloudStack.";
+    description = "CLI for Apache CloudStack";
     homepage = "https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI";
     license = [ licenses.asl20 ];
     maintainers = [ maintainers.womfoo ];
diff --git a/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix b/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
index 34f2bc9e1909..be62ace4797b 100644
--- a/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
@@ -4,7 +4,7 @@
 , bash
 , bashInteractive
 , systemd
-, utillinux
+, util-linux
 , boto
 , setuptools
 , distro
@@ -31,14 +31,14 @@ buildPythonApplication rec {
       substituteInPlace "$file" \
         --replace /bin/systemctl "/run/current-system/systemd/bin/systemctl" \
         --replace /bin/bash "${bashInteractive}/bin/bash" \
-        --replace /sbin/hwclock "${utillinux}/bin/hwclock"
+        --replace /sbin/hwclock "${util-linux}/bin/hwclock"
       # SELinux tool ???  /sbin/restorecon
     done
 
     substituteInPlace google_config/udev/64-gce-disk-removal.rules \
       --replace /bin/sh "${bash}/bin/sh" \
-      --replace /bin/umount "${utillinux}/bin/umount" \
-      --replace /usr/bin/logger "${utillinux}/bin/logger"
+      --replace /bin/umount "${util-linux}/bin/umount" \
+      --replace /usr/bin/logger "${util-linux}/bin/logger"
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/virtualization/nixos-container/default.nix b/nixpkgs/pkgs/tools/virtualization/nixos-container/default.nix
index 94a19c5375ea..badd25b4e248 100644
--- a/nixpkgs/pkgs/tools/virtualization/nixos-container/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/nixos-container/default.nix
@@ -1,4 +1,4 @@
-{ substituteAll, perlPackages, shadow, utillinux }:
+{ substituteAll, perlPackages, shadow, util-linux }:
 
 substituteAll {
     name = "nixos-container";
@@ -7,10 +7,10 @@ substituteAll {
     src = ./nixos-container.pl;
     perl = "${perlPackages.perl}/bin/perl -I${perlPackages.FileSlurp}/${perlPackages.perl.libPrefix}";
     su = "${shadow.su}/bin/su";
-    inherit utillinux;
+    utillinux = util-linux;
 
     postInstall = ''
-      t=$out/etc/bash_completion.d
+      t=$out/share/bash-completion/completions
       mkdir -p $t
       cp ${./nixos-container-completion.sh} $t/nixos-container
     '';
diff --git a/nixpkgs/pkgs/tools/virtualization/nixos-shell/default.nix b/nixpkgs/pkgs/tools/virtualization/nixos-shell/default.nix
index 0c6d7e7b9bb8..d529986c5d46 100644
--- a/nixpkgs/pkgs/tools/virtualization/nixos-shell/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/nixos-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nixos-shell";
-  version = "0.1.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nixos-shell";
     rev = version;
-    sha256 = "1qk5a01vh6wbbkib8xr57w1j4l3n6xdjd46nsw9bsa444fzlc0wr";
+    sha256 = "sha256-C0K20X0P4SYQV+xtQAUcEiX32kr3IF1RoYdkJ4R3aRM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/virtualization/rootlesskit/default.nix b/nixpkgs/pkgs/tools/virtualization/rootlesskit/default.nix
index d57a054a8b72..61da0d86e33b 100644
--- a/nixpkgs/pkgs/tools/virtualization/rootlesskit/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/rootlesskit/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "rootlesskit";
-  version = "0.10.0";
+  version = "0.11.1";
   goPackagePath = "github.com/rootless-containers/rootlesskit";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "rootlesskit";
     rev = "v${version}";
-    sha256 = "0jrzqaczd5zxlbvh0hjym8pc1d7y8c66gslq3d3l5vv4z7hz7yfr";
+    sha256 = "15k0503077ang9ywvmhpr1l7ax0v3wla0x8n6lqpmd71w0j2zm5r";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/wayland/wlsunset/default.nix b/nixpkgs/pkgs/tools/wayland/wlsunset/default.nix
new file mode 100644
index 000000000000..2993f990aad5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/wlsunset/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, meson, pkg-config, ninja, wayland
+, wayland-protocols
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wlsunset";
+  version = "0.1.0";
+
+  src = fetchurl {
+    url = "https://git.sr.ht/~kennylevinsen/wlsunset/archive/${version}.tar.gz";
+    sha256 = "0g7mk14hlbwbhq6nqr84452sbgcja3hdxsqf0vws4njhfjgqiv3q";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja wayland ];
+  buildInputs = [ wayland wayland-protocols ];
+
+  meta = with stdenv.lib; {
+    description = "Day/night gamma adjustments for Wayland";
+    longDescription = ''
+      Day/night gamma adjustments for Wayland compositors supporting
+      wlr-gamma-control-unstable-v1.
+    '';
+    homepage = "https://sr.ht/~kennylevinsen/wlsunset/";
+    changelog = "https://git.sr.ht/~kennylevinsen/wlsunset/refs/${version}";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix b/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix
new file mode 100644
index 000000000000..0db02990c036
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl
+, meson, pkg-config, wayland, ninja
+, cairo, libinput, pango, wayland-protocols, libxkbcommon
+}:
+
+let
+  version = "2020-03-29";
+  commit = "6388a49e0f431d6d5fcbd152b8ae4fa8e87884ee";
+in stdenv.mkDerivation rec {
+  pname = "wshowkeys-unstable";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://git.sr.ht/~sircmpwn/wshowkeys/archive/${commit}.tar.gz";
+    sha256 = "0iplmw13jmc8d3m307kc047zq8yqwm42kw9fpm270562i3p0qk4d";
+  };
+
+  nativeBuildInputs = [ meson pkg-config wayland ninja ];
+  buildInputs = [ cairo libinput pango wayland-protocols libxkbcommon ];
+
+  meta = with stdenv.lib; {
+    description = "Displays keys being pressed on a Wayland session";
+    longDescription = ''
+      Displays keypresses on screen on supported Wayland compositors (requires
+      wlr_layer_shell_v1 support).
+      Note: This tool requires root permissions to read input events, but these
+      permissions are dropped after startup. The NixOS module provides such a
+      setuid binary (use "programs.wshowkeys.enable = true;").
+    '';
+    homepage = "https://git.sr.ht/~sircmpwn/wshowkeys";
+    license = with licenses; [ gpl3Only mit ];
+    # Some portions of the code are taken from Sway which is MIT licensed.
+    # TODO: gpl3Only or gpl3Plus (ask upstream)?
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos berbiche ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/wayland/wtype/default.nix b/nixpkgs/pkgs/tools/wayland/wtype/default.nix
new file mode 100644
index 000000000000..a1c4744318e3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/wtype/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+
+, meson
+, ninja
+, pkg-config
+
+, libxkbcommon
+, wayland
+}:
+
+stdenv.mkDerivation {
+  pname = "wtype";
+  version = "2020-09-14";
+
+  src = fetchFromGitHub {
+    owner = "atx";
+    repo = "wtype";
+    rev = "74071228dea4047157ae82960a2541ecc431e4a1";
+    sha256 = "1ncspxpnbwv1vkfmxs58q7aykjb6skaa1pg5sw5h798pss5j80rd";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  buildInputs = [ libxkbcommon wayland ];
+
+  meta = with lib; {
+    description = "xdotool type for wayland";
+    homepage = "https://github.com/atx/wtype";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ justinlovinger ];
+  };
+}